diff options
author | Josh Colbeck <skrymir@gmail.com> | 2017-02-21 20:31:16 -0600 |
---|---|---|
committer | Josh Colbeck <skrymir@gmail.com> | 2017-02-21 20:31:16 -0600 |
commit | e51001efcc3ff8b64f8264e8bd4c2dbea15f3364 (patch) | |
tree | bdf5a0a4b44d5e63ba1376b70d94f64c77f3c90c /keyboards/handwired/promethium/promethium.c | |
parent | c56693f858cb3409e4a68a8e65a1370c022a51ed (diff) | |
parent | 7ff41df32c29bca4e3a6efc3047b8fa93bb99b92 (diff) |
Merge remote-tracking branch 'qmk/master'
Diffstat (limited to 'keyboards/handwired/promethium/promethium.c')
-rw-r--r-- | keyboards/handwired/promethium/promethium.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/keyboards/handwired/promethium/promethium.c b/keyboards/handwired/promethium/promethium.c new file mode 100644 index 0000000000..4943f8c9fc --- /dev/null +++ b/keyboards/handwired/promethium/promethium.c @@ -0,0 +1,42 @@ +#include "promethium.h" +#include "analog.h" +#include "timer.h" +#include "matrix.h" + +// cubic fit {3.3, 0}, {3.5, 2.9}, {3.6, 5}, {3.7, 8.6}, {3.8, 36}, {3.9, 62}, {4.0, 73}, {4.05, 83}, {4.1, 89}, {4.15, 94}, {4.2, 100} + +uint8_t battery_level(void) { + float voltage = analogRead(BATTERY_PIN) * 2 * 3.3 / 1024; + if (voltage < MIN_VOLTAGE) return 0; + if (voltage > MAX_VOLTAGE) return 255; + return (voltage - MIN_VOLTAGE) / (MAX_VOLTAGE - MIN_VOLTAGE) * 255; +} + +__attribute__ ((weak)) +void battery_poll(uint8_t level) { +} + +void matrix_init_kb(void) { + matrix_init_user(); +} + +void matrix_scan_kb(void) { + static uint16_t counter = BATTERY_POLL; + counter++; + + if (counter > BATTERY_POLL) { + counter = 0; + battery_poll(battery_level()); + } + + matrix_scan_user(); +} + +void led_set_kb(uint8_t usb_led) { + led_set_user(usb_led); +} + +__attribute__ ((weak)) +void led_set_user(uint8_t usb_led) { +} + |