compiletoram
init.calltrace
48mhz
48000 init.systick
: gpio-init
$40021014 17 enable!
$40021014 19 enable!
$48000000 2 %11 bfs!
$48000000 10 %10 bfs!
$48000020 20 %0010 bfs!
$48000000 12 %10 bfs!
$48000020 24 %0111 bfs!
$48000000 14 %10 bfs!
$48000020 28 %0100 bfs!
$48000800 2 %01 bfs!
$48000818 17 1 bfs!
;
: greenon $48000818 9 enable! ;
: greenoff $48000818 25 disable! ;
: blueon $48000818 8 enable! ;
: blueoff $48000818 24 disable! ;
: pulse-blink
;
: comp-init
$40021018 0 enable!
$4001001C 2 %01 bfs!
$4001001C 4 %001 bfs!
$4001001C 8 %100 bfs!
$4001001C 12 %10 bfs!
$4001001C 18 %11 bfs!
$4001001C 20 %001 bfs!
$4001001C 24 %110 bfs!
$4001001C 28 %10 bfs!
$4001001C 23 enable!
;
: enable-comparators
$4001001C 0 enable!
$4001001C 16 enable!
;
: disable-comparators
$4001001C 0 disable!
$4001001C 16 disable!
;
: counters-init
$4002101C 0 enable!
$40000008 0 %111 bfs!
$40000008 4 %111 bfs!
$40000008 8 %0001 bfs!
$40000000 0 enable!
;
: init
gpio-init
comp-init
counters-init
;
: lmt01.on
$48000818 1 enable!
;
: lmt01.off
$48000818 17 disable!
;
: clear-lmt01-counter
0 $40000024 !
;
: lmt01.count?
$40000024 @
;
: lmt01.error?
lmt01.count? 1 > if
else ." error LMT-01 device connection fault, check cables ... " cr quit then
;
: generate-lmt01-count
clear-lmt01-counter
lmt01.on
1 ms.delay
enable-comparators
99 ms.delay
disable-comparators
lmt01.off
;
: degrees.c?
0 swap
0 4096 f/
0 256 f*
0 50 d-
;
: degrees.f?
degrees.c?
0 9 f*
0 5 f/
0 32 d+
;
: temperature?
generate-lmt01-count
lmt01.error?
lmt01.count? dup
degrees.c? 1 f.n ." C "
degrees.f? 1 f.n ." F "
;
: sensor-test
init
clear-lmt01-counter
enable-comparators
lmt01.on
100 ms.delay
lmt01.count? . cr
disable-comparators
lmt01.off
clear-lmt01-counter
;
: t init temperature? ;