Add runtime BMA456 tap config with NVS persistence and goTool UI.
Expose multitap parameters over UART/ESP-NOW (like deadzone), store per node in NVS, and allow get/set from CLI, REST, and the dashboard without poll-overwrite while editing. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -175,6 +175,7 @@ UART_CMD_REQ(&uart_msg, alox_UartMessage_accel_deadzone_request_tag, accel_deadz
|
||||
| `ESPNOW_SLAVE_INFO` | S→M | `slave_info` | Erste Registrierung |
|
||||
| `ESPNOW_HEARTBEAT` | S→M | `heartbeat` | Keepalive 1 s |
|
||||
| `ESPNOW_SET_ACCEL_DEADZONE` | M→S | `accel_deadzone` | Deadzone LSB |
|
||||
| `ESPNOW_SET_TAP_CONFIG` | M→S | `tap_config` | Multitap-Parameter + NVS |
|
||||
| `ESPNOW_SET_ACCEL_STREAM` | M→S | `accel_stream` | Stream ~16 ms |
|
||||
| `ESPNOW_ACCEL_SAMPLE` | S→M | `accel_sample` | x/y/z Roh-LSB |
|
||||
| `ESPNOW_SET_TAP_NOTIFY` | M→S | `tap_notify` | Tap-Arten filtern |
|
||||
@@ -238,6 +239,7 @@ Nur auf dem **Master** registriert (`powerpod.c`). IDs aus `MessageType` in `uar
|
||||
| 29 | CACHE_STATUS | `cmd_cache_status.c` | Accel + Tap Cache (ein Round-Trip) |
|
||||
| 30 | ESPNOW_ECHO_PING | `cmd_espnow_echo_ping.c` | Timestamp-Echo über ESP-NOW (Latenztest) |
|
||||
| 31 | SET_LOG_LEVEL | `cmd_set_log_level.c` | ESP-IDF-Log-Level global (`"*"`) lesen/setzen |
|
||||
| 32 | TAP_CONFIG | `cmd_tap_config.c` | BMA456 Multitap-Parameter + NVS |
|
||||
|
||||
### 7.1 VERSION (3)
|
||||
|
||||
@@ -264,6 +266,12 @@ Nur auf dem **Master** registriert (`powerpod.c`). IDs aus `MessageType` in `uar
|
||||
- Konfiguriert auf Slave welche Tap-Arten `ESPNOW_TAP_EVENT` auslösen.
|
||||
- Tap-Quelle: BMA456-Interrupt → `on_bma456_tap` in `esp_now_comm.c`.
|
||||
|
||||
### 7.5a TAP_CONFIG (32)
|
||||
|
||||
- **Request:** `write`, `client_id` (0=lokal), `all_clients`, Multitap-Felder (`tap_sens_thres` … `enable_triple`).
|
||||
- **Write:** `bma456_set_tap_config` + NVS `tap_cfg` lokal; Slaves via `ESPNOW_SET_TAP_CONFIG`.
|
||||
- Boot: `pod_settings_apply_tap_config()` nach `init_bma456()`.
|
||||
|
||||
### 7.6 CACHE_STATUS (29)
|
||||
|
||||
- **Request:** leer.
|
||||
@@ -437,6 +445,7 @@ Aktivierbar mit `POWERPOD_BATTERY_UV_ENABLE` in `powerpod.h` (CMake-Override mö
|
||||
| Key | Inhalt |
|
||||
|-----|--------|
|
||||
| `accel_dz` | Accel-Deadzone LSB |
|
||||
| `tap_cfg` | BMA456 Multitap-Config (Blob) |
|
||||
| `uv_latch` | Software-UV-Zustand (`1` = Energiesparmodus) |
|
||||
|
||||
Gespeichert bei lokalem Set (UART `client_id=0`, ESP-NOW auf Slave). Geladen nach `init_bma456()`.
|
||||
@@ -492,6 +501,7 @@ Includes in generierten `.pb.c` müssen `"uart_messages.pb.h"` heißen (nicht `m
|
||||
| `cmd_client_info.c` | CLIENT_INFO |
|
||||
| `cmd_accel_deadzone.c` | ACCEL_DEADZONE |
|
||||
| `cmd_accel_stream.c` | ACCEL_STREAM |
|
||||
| `cmd_tap_config.c` | TAP_CONFIG |
|
||||
| `cmd_tap_notify.c` | TAP_NOTIFY |
|
||||
| `cmd_cache_status.c` | CACHE_STATUS |
|
||||
| `cmd_battery.c` | BATTERY_STATUS |
|
||||
|
||||
Reference in New Issue
Block a user