mirror of
https://github.com/tinygo-org/drivers.git
synced 2026-07-26 10:38:41 +00:00
23833e69c7
* Added alarm features * more functions * chore: fix typo * feat(ds3231): add Alarm2Mode type and mode consts * docs(ds3231): add docstrings for SQW functions * feat(ds3231): add methods for Alarm2 * fix(ds3231): use Alarm2Mode for SetAlarm2 method * docs(ds3231): add example for alarms * docs(ds3231): refactor alarms example * make main function more concise to avoid llvm error for pico * ci(ds3231): split basic and alarm tests * style(ds3231): reorder private funcs to the bottom * docs(ds3231): add docstring for alarm modes * docs(ds3231): make alarm docstrings more descriptive * chore(ds3231): fix typo in docstring * style(ds3231): reorder public functions * style(ds3231): reorder private methods * chore(ds3231): add missing error handling * feat(ds3231): use setter funcs for en/disabling instead of separate funcs * fix(ds3231): correctly enable alarms in example * style(ds3231): rename SetEnable32K to SetEnabled32K for consistency * refactor(ds3231): replace legacy with regmap package * refactor(ds3231): use Write32 instead of Tx for SetAlarm1 * chore(ds3231): remove fmt deps and and use println in examples * refactor(ds3231): read temperature as uint16 --------- Co-authored-by: Matthias Fulz <mfulz@olznet.de>
77 lines
1.2 KiB
Go
77 lines
1.2 KiB
Go
package ds3231
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestPositiveMilliCelsius(t *testing.T) {
|
|
t1000 := milliCelsius(0)
|
|
if t1000 != 0 {
|
|
t.Fatal(t1000)
|
|
}
|
|
|
|
t1000 = milliCelsius(0b0000000001000000)
|
|
if t1000 != 250 {
|
|
t.Fatal(t1000)
|
|
}
|
|
|
|
t1000 = milliCelsius(0b0000000010000000)
|
|
if t1000 != 500 {
|
|
t.Fatal(t1000)
|
|
}
|
|
|
|
t1000 = milliCelsius(0b0000000011000000)
|
|
if t1000 != 750 {
|
|
t.Fatal(t1000)
|
|
}
|
|
|
|
t1000 = milliCelsius(0b0000000100000000)
|
|
if t1000 != 1000 {
|
|
t.Fatal(t1000)
|
|
}
|
|
|
|
t1000 = milliCelsius(0b0000001000000000)
|
|
if t1000 != 2000 {
|
|
t.Fatal(t1000)
|
|
}
|
|
|
|
// highest temperature is 127.750C
|
|
t1000 = milliCelsius(0b0111111111000000)
|
|
if t1000 != 127750 {
|
|
t.Fatal(t1000)
|
|
}
|
|
}
|
|
|
|
func TestNegativeMilliCelsius(t *testing.T) {
|
|
t1000 := milliCelsius(0b1111111111000000)
|
|
if t1000 != -250 {
|
|
t.Fatal(t1000)
|
|
}
|
|
|
|
t1000 = milliCelsius(0b1111111110000000)
|
|
if t1000 != -500 {
|
|
t.Fatal(t1000)
|
|
}
|
|
|
|
t1000 = milliCelsius(0b1111111101000000)
|
|
if t1000 != -750 {
|
|
t.Fatal(t1000)
|
|
}
|
|
|
|
t1000 = milliCelsius(0b1111111100000000)
|
|
if t1000 != -1000 {
|
|
t.Fatal(t1000)
|
|
}
|
|
|
|
t1000 = milliCelsius(0b1111111000000000)
|
|
if t1000 != -2000 {
|
|
t.Fatal(t1000)
|
|
}
|
|
|
|
// lowest temperature is -128.000C
|
|
t1000 = milliCelsius(0b1000000000000000)
|
|
if t1000 != -128000 {
|
|
t.Fatal(t1000)
|
|
}
|
|
}
|