starting bcd conversion
This commit is contained in:
parent
25ae52259d
commit
101f0b998f
|
@ -172,19 +172,21 @@ Returns a list with all items for which tst is true removed from lst."
|
||||||
Returns a list with all items for which tst is false removed from lst."
|
Returns a list with all items for which tst is false removed from lst."
|
||||||
(mapcan #'(lambda (x) (when (funcall tst x) (list x))) lst))
|
(mapcan #'(lambda (x) (when (funcall tst x) (list x))) lst))
|
||||||
|
|
||||||
|
(defvar *rtc-port* 1)
|
||||||
|
|
||||||
(defun rtc-set (hr min)
|
(defun rtc-set (hr min)
|
||||||
"(rtc-set hr min)
|
"(rtc-set hr min)
|
||||||
Set the time on a DS3231 RTC. Times are in BCD, so use
|
Set the time on a DS3231 RTC. Times are in BCD, so use
|
||||||
the appropriate reader macro, e.g. (rtc-set #x12 #x34)
|
the appropriate reader macro, e.g. (rtc-set #x12 #x34)
|
||||||
for 12:34. Assumes seconds are zero."
|
for 12:34. Assumes seconds are zero."
|
||||||
(with-i2c (str #x68)
|
(with-i2c (str *rtc-port* #x68)
|
||||||
(write-byte 0 str)
|
(write-byte 0 str)
|
||||||
(write-byte 0 str)
|
(write-byte 0 str)
|
||||||
(write-byte min str)
|
(write-byte min str)
|
||||||
(write-byte hr str)))
|
(write-byte hr str)))
|
||||||
|
|
||||||
(defun rtc-get ()
|
(defun rtc-get ()
|
||||||
(with-i2c (str #x68)
|
(with-i2c (str *rtc-port* #x68)
|
||||||
(write-byte 0 str)
|
(write-byte 0 str)
|
||||||
(restart-i2c str 3)
|
(restart-i2c str 3)
|
||||||
(reverse
|
(reverse
|
||||||
|
|
|
@ -2,6 +2,26 @@
|
||||||
User Extensions
|
User Extensions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// Utility functions
|
||||||
|
uint8_t
|
||||||
|
dec_to_bcd(uint8_t n)
|
||||||
|
{
|
||||||
|
uint8_t bcd = 0;
|
||||||
|
uint8_t tens = n / 10;
|
||||||
|
|
||||||
|
bcd = tens << 4;
|
||||||
|
tens *= 10;
|
||||||
|
bcd += (n - tens) & 0x0f;
|
||||||
|
return bcd;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint8_t
|
||||||
|
bcd_to_dec(uint8_t n)
|
||||||
|
{
|
||||||
|
return ((n>>4) * 10) + (n&0x0f);
|
||||||
|
}
|
||||||
|
|
||||||
// Definitions
|
// Definitions
|
||||||
object *
|
object *
|
||||||
fn_now(object *args, object *env)
|
fn_now(object *args, object *env)
|
||||||
|
|
Loading…
Reference in New Issue