ds1307 - Driver for DS1307 RTC module¶
- group ds1307
ESP-IDF driver for DS1307 real-time clock.
Ported from esp-open-rtos
Copyright (c) 2016 Ruslan V. Uss unclerus@gmail.com
BSD Licensed as described in the file LICENSE
Defines
-
DS1307_ADDR¶
I2C address.
Enums
Functions
-
esp_err_t ds1307_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 ds1307_free_desc(i2c_dev_t *dev)¶
Free device descriptor.
- Parameters
dev – Device descriptor
- Returns
ESP_OK
on success
-
esp_err_t ds1307_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 ds1307_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 ds1307_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 ds1307_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 ds1307_enable_squarewave(i2c_dev_t *dev, bool enable)¶
Enable or disable square-wave oscillator output.
- Parameters
dev – Device descriptor
enable – Enable oscillator if true
- Returns
ESP_OK
on success
-
esp_err_t ds1307_is_squarewave_enabled(i2c_dev_t *dev, bool *sqw_en)¶
Get square-wave oscillator output.
- Parameters
dev – Device descriptor
sqw_en – [out] true if square-wave oscillator enabled
- Returns
ESP_OK
on success
-
esp_err_t ds1307_set_squarewave_freq(i2c_dev_t *dev, ds1307_squarewave_freq_t freq)¶
Set square-wave oscillator frequency.
- Parameters
dev – Device descriptor
freq – Frequency
- Returns
ESP_OK
on success
-
esp_err_t ds1307_get_squarewave_freq(i2c_dev_t *dev, ds1307_squarewave_freq_t *sqw_freq)¶
Get current square-wave oscillator frequency.
- Parameters
dev – Device descriptor
sqw_freq – [out] Frequency
- Returns
ESP_OK
on success
-
esp_err_t ds1307_get_output(i2c_dev_t *dev, bool *out)¶
Get current output level of the SQW/OUT pin.
- Parameters
dev – Device descriptor
out – [out] current output level of the SQW/OUT pin, true if high
- Returns
ESP_OK
on success
-
esp_err_t ds1307_set_output(i2c_dev_t *dev, bool value)¶
Set output level of the SQW/OUT pin.
Set output level if square-wave output is disabled
- Parameters
dev – Device descriptor
value – High level if true
- Returns
ESP_OK
on success
-
DS1307_ADDR¶