fix buttons working, add basic brightness control

This commit is contained in:
true
2026-05-08 22:12:06 -07:00
parent fe169b64f6
commit b2de3abe08
5 changed files with 55 additions and 4 deletions

View File

@@ -62,18 +62,18 @@ void btn_process()
btn[i].hold++;
if (btn[i].hold == DEBOUNCE) {
btn_state[1] |= (1 << (i + 3));
btn_state[1] |= (1 << i);
}
}
// is held?
if (btn[i].hold == HOLD_COUNTS) {
btn_state[2] |= (1 << (i + 3));
btn_state[2] |= (1 << i);
}
// is repeated?
if (btn[i].repeat && (btn[i].hold == (HOLD_COUNTS + btn[i].repeat))) {
btn_state[2] |= (1 << (i + 3));
btn_state[2] |= (1 << i);
btn[i].hold = HOLD_COUNTS;
}
@@ -81,7 +81,7 @@ void btn_process()
if (!x) {
if (btn[i].hold) {
btn[i].hold = 0;
btn_state[3] |= (1 << (i + 3));
btn_state[3] |= (1 << i);
}
}
}

43
firmware/app/ui/temp_ui.c Normal file
View File

@@ -0,0 +1,43 @@
/*
* temp_ui.c: temporary ui shit until I can write something better
*/
#include "ch32x035_conf.h"
#include "btn.h"
#include "led/matrix.h"
static uint32_t brt = 28;
void brt_set(uint8_t idx)
{
switch (idx) {
case 1: {
if (brt > 4)
brt--;
break;
}
case 2: {
brt++;
if (brt > 44) brt = 44;
break;
}
}
aw20x_set_dim_global(&awled, brt);
}
void tempui_init()
{
btn[2].cb_push = brt_set;
btn[2].cb_hold = brt_set;
btn[2].repeat = 200;
btn[1].cb_push = brt_set;
btn[1].cb_hold = brt_set;
btn[1].repeat = 200;
}

View File

@@ -0,0 +1 @@
void tempui_init();