/* * temp_ui.c: temporary ui shit until I can write something better */ #include "ch32x035_conf.h" #include "btn.h" #include "led/matrix.h" #include "led/ledprog.h" static uint32_t brt = 20; // set to same as in matrix.c uint8_t ribbon_prog = 0; uint8_t aii_prog = 0; static 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); } static void prog_set(uint8_t idx) { switch (idx) { case 3: { // trio bottom left ribbon_prog = 0; lp_ribbon_init(); break; } case 4: { // trio upper ribbon_prog = 1; lp_ribbon_init(); break; } case 5: { // da erf ribbon_prog = 3; lp_ribbon_init(); break; } case 6: { // big crater aii_prog = 1; lp_aii_init(); break; } case 7: { // next to big crater aii_prog = 2; lp_aii_init(); break; } case 8: { // bottom crater aii_prog = 0; lp_aii_init(); break; } case 9: { // trio right ribbon_prog = 2; lp_ribbon_init(); break; } } } void tempui_init() { int i; 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; for (i = 3; i < 10; i++) { btn[i].cb_push = prog_set; } } void tempui_lp_runprog() { switch (ribbon_prog) { case 0: { lp_ribbon_upward(400, 3, 4); break; } case 1: { lp_ribbon_upward(800, 1, 2); break; } case 2: { lp_ribbon_upward(1500, 4, 7); break; } case 3: { lp_ribbon_twinkle(3, 0x5f, 0x1f, 0xfd); break; } } switch (aii_prog) { case 0: { // do nothing break; } case 1: { lp_aii_filldown(800, 14, 1200, 3, 0x60); break; } case 2: { lp_aii_bounce(7, 0x3f, 2, 3); } } }