diff options
| author | tmk <nobody@nowhere> | 2014-09-05 11:37:05 +0900 |
|---|---|---|
| committer | tmk <nobody@nowhere> | 2014-09-05 11:37:05 +0900 |
| commit | d8dd18b4217ce56ee3248e3b09598196e0b6731c (patch) | |
| tree | 3430e3ed0593fa24fe228f096e6e0d944cf584dc /keyboard/hhkb_rn42 | |
| parent | 38714e8c8554f19279f167be0e0fae2404e21e49 (diff) | |
| download | qmk_firmware-d8dd18b4217ce56ee3248e3b09598196e0b6731c.tar.gz qmk_firmware-d8dd18b4217ce56ee3248e3b09598196e0b6731c.zip | |
Improve rn42_task time resolution
Diffstat (limited to 'keyboard/hhkb_rn42')
| -rw-r--r-- | keyboard/hhkb_rn42/rn42/rn42_task.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/keyboard/hhkb_rn42/rn42/rn42_task.c b/keyboard/hhkb_rn42/rn42/rn42_task.c index 30914452e..31a415ced 100644 --- a/keyboard/hhkb_rn42/rn42/rn42_task.c +++ b/keyboard/hhkb_rn42/rn42/rn42_task.c | |||
| @@ -83,11 +83,10 @@ void rn42_task(void) | |||
| 83 | 83 | ||
| 84 | 84 | ||
| 85 | static uint16_t prev_timer = 0; | 85 | static uint16_t prev_timer = 0; |
| 86 | static uint8_t sec = 0; | 86 | uint16_t e = timer_elapsed(prev_timer); |
| 87 | // NOTE: not exact 1 sec | 87 | if (e > 1000) { |
| 88 | if (timer_elapsed(prev_timer) > 1000) { | ||
| 89 | /* every second */ | 88 | /* every second */ |
| 90 | prev_timer = timer_read(); | 89 | prev_timer += e/1000*1000; |
| 91 | 90 | ||
| 92 | /* Low voltage alert */ | 91 | /* Low voltage alert */ |
| 93 | uint8_t bs = battery_status(); | 92 | uint8_t bs = battery_status(); |
| @@ -110,8 +109,8 @@ void rn42_task(void) | |||
| 110 | } | 109 | } |
| 111 | 110 | ||
| 112 | /* every minute */ | 111 | /* every minute */ |
| 113 | if (sec == 0) { | 112 | uint32_t t = timer_read32()/1000; |
| 114 | uint32_t t = timer_read32()/1000; | 113 | if (t%60 == 0) { |
| 115 | uint16_t v = battery_voltage(); | 114 | uint16_t v = battery_voltage(); |
| 116 | uint8_t h = t/3600; | 115 | uint8_t h = t/3600; |
| 117 | uint8_t m = t%3600/60; | 116 | uint8_t m = t%3600/60; |
| @@ -121,7 +120,6 @@ void rn42_task(void) | |||
| 121 | xprintf("%02u:%02u:%02u\t%umV\n", (t/3600), (t%3600/60), (t%60), v); | 120 | xprintf("%02u:%02u:%02u\t%umV\n", (t/3600), (t%3600/60), (t%60), v); |
| 122 | */ | 121 | */ |
| 123 | } | 122 | } |
| 124 | sec++; sec = sec%60; | ||
| 125 | } | 123 | } |
| 126 | 124 | ||
| 127 | 125 | ||
