From 3659448a8272c12edc813e144d947f0ff0ce5b3d Mon Sep 17 00:00:00 2001 From: whowechina Date: Wed, 27 Sep 2023 22:38:26 +0800 Subject: [PATCH] More commands --- Production/Firmware/chu_pico.uf2 | Bin 121856 -> 123392 bytes doc/cmd.png | Bin 28465 -> 41965 bytes firmware/src/cmd.c | 25 +++++++++++++++++++++++++ firmware/src/slider.c | 29 ++++++++++++++++++++++++++--- firmware/src/slider.h | 3 +++ 5 files changed, 54 insertions(+), 3 deletions(-) diff --git a/Production/Firmware/chu_pico.uf2 b/Production/Firmware/chu_pico.uf2 index 8d162f642a0f152c88ccf0f93fac1787c0764552..265200602c63b23d9587dec1351db04cd15255a6 100644 GIT binary patch delta 18991 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 diff --git a/doc/cmd.png b/doc/cmd.png index 991ec309ce15de2a007d1ac6a326b54dbaaed59b..8efac0710660cdf23ee7172ebfea3fb1da7874de 100644 GIT binary patch literal 41965 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 lEp^TTzy9YfrXPpBW?Qf{{XW4h_?U$ diff --git a/firmware/src/cmd.c b/firmware/src/cmd.c index 6a80eaa..b7566d3 100644 --- a/firmware/src/cmd.c +++ b/firmware/src/cmd.c @@ -64,6 +64,8 @@ static int match_prefix(const char *str[], int num, const char *prefix) static void handle_help(int argc, char *argv[]) { + printf("\n << Chu Pico Controller >>\n"); + printf(" https://github.com/whowechina\n\n"); printf("Available commands:\n"); for (int i = 0; i < num_commands; i++) { printf("%*s: %s\n", max_cmd_len + 2, commands[i], helps[i]); @@ -183,6 +185,28 @@ static void handle_fps(int argc, char *argv[]) printf("FPS: core 0: %d, core 1: %d\n", fps[0], fps[1]); } +static void handle_stat(int argc, char *argv[]) +{ + if (argc == 0) { + for (int col = 0; col < 4; col++) { + printf(" %2dA |", col * 4 + 1); + for (int i = 0; i < 4; i++) { + printf("%6u|", slider_count(col * 8 + i * 2)); + } + printf("\n B |"); + for (int i = 0; i < 4; i++) { + printf("%6u|", slider_count(col * 8 + i * 2 + 1)); + } + printf("\n"); + } + } else if ((argc == 1) && + (strncasecmp(argv[0], "reset", strlen(argv[0])) == 0)) { + slider_reset_stat(); + } else { + printf("Usage: stat [reset]\n"); + } +} + static void handle_hid(int argc, char *argv[]) { const char *usage = "Usage: hid \n"; @@ -424,6 +448,7 @@ void cmd_init() register_command("?", handle_help, "Display this help message."); register_command("display", handle_display, "Display all config."); register_command("fps", handle_fps, "Display FPS."); + register_command("stat", handle_stat, "Display or reset statistics."); register_command("hid", handle_hid, "Set HID mode."); register_command("tof", handle_tof, "Set ToF config."); register_command("filter", handle_filter, "Set pre-filter config."); diff --git a/firmware/src/slider.c b/firmware/src/slider.c index d2ce142..ba55e29 100644 --- a/firmware/src/slider.c +++ b/firmware/src/slider.c @@ -22,11 +22,9 @@ #define MPR121_ADDR 0x5A -static uint16_t baseline[36]; -static int16_t error[36]; static uint16_t readout[36]; -static bool touched[36]; static uint16_t touch[3]; +static unsigned touch_count[36]; void slider_init() { @@ -44,9 +42,21 @@ void slider_init() void slider_update() { + static uint16_t last_touched[3]; + touch[0] = mpr121_touched(MPR121_ADDR); touch[1] = mpr121_touched(MPR121_ADDR + 1); touch[2] = mpr121_touched(MPR121_ADDR + 2); + + for (int m = 0; m < 3; m++) { + uint16_t just_touched = touch[m] & ~last_touched[m]; + last_touched[m] = touch[m]; + for (int i = 0; i < 12; i++) { + if (just_touched & (1 << i)) { + touch_count[m * 12 + i]++; + } + } + } } const uint16_t *slider_raw() @@ -65,6 +75,19 @@ bool slider_touched(unsigned key) return touch[key / 12] & (1 << (key % 12)); } +unsigned slider_count(unsigned key) +{ + if (key >= 32) { + return 0; + } + return touch_count[key]; +} + +void slider_reset_stat() +{ + memset(touch_count, 0, sizeof(touch_count)); +} + void slider_update_config() { for (int m = 0; m < 3; m++) { diff --git a/firmware/src/slider.h b/firmware/src/slider.h index 75518dc..abce09b 100644 --- a/firmware/src/slider.h +++ b/firmware/src/slider.h @@ -14,5 +14,8 @@ void slider_update(); bool slider_touched(unsigned key); const uint16_t *slider_raw(); void slider_update_config(); +unsigned slider_count(unsigned key); +void slider_reset_stat(); + #endif