From 6f86ce7057dd7cd1b491e8f09501258822d2ea74 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 23 May 2017 17:06:09 +0200 Subject: Import j1demo --- j1demo/firmware/time.fs | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 j1demo/firmware/time.fs (limited to 'j1demo/firmware/time.fs') diff --git a/j1demo/firmware/time.fs b/j1demo/firmware/time.fs new file mode 100644 index 0000000..4d53113 --- /dev/null +++ b/j1demo/firmware/time.fs @@ -0,0 +1,33 @@ +( Time access JCB 13:27 08/24/10) + +variable prevth \ previous high time +2variable timeh \ high 32 bits of time + +: time@ ( -- time. ) + begin + time 2@ + time 2@ + 2over d<> + while + 2drop + repeat + +\ dup prevth fall? if +\ d# 1. timeh d+! +\ then +; + +: timeq ( -- d d ) \ 64-bit time + time@ timeh 2@ ; + +: setalarm ( d a -- ) \ set alarm a for d microseconds hence + >r time@ d+ r> 2! ; +: isalarm ( a -- f ) + 2@ time@ d- d0<= ; + +2variable sleeper +: sleepus sleeper setalarm begin sleeper isalarm until ; +: sleep.1 d# 100000. sleepus ; +: sleep1 d# 1000000. sleepus ; + +: took ( d -- ) time@ 2swap d- s" took " type d. cr ; -- cgit v1.2.3