Crate ds1307_rtc

Crate ds1307_rtc 

Source
Expand description

§DS1307 RTC Driver

A Rust driver for the DS1307 Real-Time Clock (RTC) chip, implementing the embedded-hal and rtc-hal traits for integration with embedded Rust projects.

§Features

  • Read and set date/time
  • Control power (start/stop the clock)
  • Use 56 bytes of memory storage
  • Generate square wave signals
  • Control output pin

§Basic usage

use ds1307_rtc::Ds1307;
use rtc_hal::rtc::Rtc;  // rtc_hal trait required to be imported to be used
use rtc_hal::datetime::DateTime;

// Set up I2C (depends on your board)
let i2c = /* your I2C setup */;

// Create the driver
let mut rtc = Ds1307::new(i2c);

// Set time to August 21, 2025 at 2:30 PM
let time = DateTime::new(2025, 8, 21, 14, 30, 0).unwrap();
rtc.set_datetime(&time).unwrap();

// Read current time
let now = rtc.get_datetime().unwrap();

§Examples

Example projects are available in the separate ds1307-examples repository to help you get started.

§License

This project is licensed under the MIT License.

Modules§

control
Power control implementation for the DS1307
datetime
DateTime Module
error
Error type definitions for the DS1307 RTC driver.
nvram
DS1307 NVRAM Support
registers
DS1307 Registers
square_wave
DS1307 Square Wave Output Support

Structs§

DateTime
Date and time representation used across RTC drivers.
Ds1307
DS1307 Real-Time Clock driver

Traits§

Rtc
Core trait for Real-Time Clock (RTC) devices.