summaryrefslogtreecommitdiffstats
path: root/keyboards/handwired/promethium/promethium.c
blob: 7f876c7562881b11f39efab8c5e36e1d005c99f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include "promethium.h"
#include "analog.h"
#include "timer.h"
#include "matrix.h"

float battery_percentage(void) {
    float voltage = analogRead(BATTERY_PIN) * 2 * 3.3 / 1024;
    float percentage = (voltage - 3.5) * 143;
    if (percentage > 100) {
        return 100;
    } else if (percentage < 0) {
        return 0;
    } else {
        return percentage;
    }
}

__attribute__ ((weak))
void battery_poll(float percentage) {
}

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_percentage());
    }
}