mirror of
https://github.com/tinygo-org/drivers.git
synced 2026-07-26 10:38:41 +00:00
35 lines
668 B
Go
35 lines
668 B
Go
package main
|
|
|
|
import (
|
|
"machine"
|
|
"time"
|
|
"tinygo.org/x/drivers/pcf8523"
|
|
)
|
|
|
|
func main() {
|
|
machine.I2C0.Configure(machine.I2CConfig{})
|
|
dev := pcf8523.New(machine.I2C0)
|
|
|
|
// make sure the battery takes over if power is lost
|
|
err := dev.SetPowerManagement(pcf8523.PowerManagement_SwitchOver_ModeStandard)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
// set RTC once, i.e. from `date -u +"%Y-%m-%dT%H:%M:%SZ"`
|
|
now, _ := time.Parse(time.RFC3339, "2023-09-18T20:31:38Z")
|
|
err = dev.SetTime(now)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
for {
|
|
ts, err := dev.ReadTime()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
println("tick-tock, it's: " + ts.String())
|
|
time.Sleep(2 * time.Second)
|
|
}
|
|
}
|