Welcome to Foo’s documentation!

Defines

MCP7940_ADDR

I2C address.

Functions

esp_err_t mcp7940_init_desc(i2c_dev_t *dev, i2c_port_t port, gpio_num_t sda_gpio, gpio_num_t scl_gpio)

Initialize device descriptor.

Parameters:
  • dev – Device descriptor

  • port – I2C port

  • sda_gpio – SDA GPIO

  • scl_gpio – SCL GPIO

Returns:

ESP_OK on success

esp_err_t mcp7940_free_desc(i2c_dev_t *dev)

Free device descriptor.

Parameters:

dev – Device descriptor

Returns:

ESP_OK on success

esp_err_t mcp7940_start(i2c_dev_t *dev, bool start)

Start/stop clock.

Parameters:
  • dev – Device descriptor

  • start – Start clock if true

Returns:

ESP_OK on success

esp_err_t mcp7940_is_running(i2c_dev_t *dev, bool *running)

Get current clock state.

Parameters:
  • dev – Device descriptor

  • running[out] true if clock running

Returns:

ESP_OK on success

esp_err_t mcp7940_get_time(i2c_dev_t *dev, struct tm *time)

Get current time.

Parameters:
  • dev – Device descriptor

  • time[out] Pointer to the time struct to fill

Returns:

ESP_OK on success

esp_err_t mcp7940_set_time(i2c_dev_t *dev, const struct tm *time)

Set time to RTC.

Parameters:
  • dev – Device descriptor

  • time[in] Pointer to the time struct

Returns:

ESP_OK on success

esp_err_t mcp7940_read_ram(i2c_dev_t *dev, uint8_t offset, uint8_t *buf, uint8_t len)

Read RAM contents into the buffer.

Parameters:
  • dev – Device descriptor

  • offset – Start byte, 0..55

  • buf[out] Buffer to store data

  • len – Bytes to read, 1..56

Returns:

ESP_OK on success

esp_err_t mcp7940_write_ram(i2c_dev_t *dev, uint8_t offset, uint8_t *buf, uint8_t len)

Write buffer to RTC RAM.

Parameters:
  • dev – Device descriptor

  • offset – Start byte, 0..55

  • buf – Buffer

  • len – Bytes to write, 1..56

Returns:

ESP_OK on success