Move command registry from components/command/ into components/core/. New modules: mod_canbus, mod_honeypot, mod_fallback, mod_redteam, mod_ota. Replace mod_proxy with tun_core (multiplexed SOCKS5 tunnel). Kconfig extended with per-module settings and async worker config.
43 lines
1.3 KiB
C
43 lines
1.3 KiB
C
/*
|
|
* canbus_config.h
|
|
* NVS-backed configuration for CAN bus module.
|
|
*
|
|
* Stores: bitrate, oscillator freq, software filters, discovered ECU IDs.
|
|
*/
|
|
#pragma once
|
|
|
|
#include "esp_err.h"
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
|
|
#define CAN_CFG_MAX_SW_FILTERS 16
|
|
#define CAN_CFG_MAX_ECUS 16
|
|
|
|
/* Init NVS namespace (call once at module registration) */
|
|
void can_config_init(void);
|
|
|
|
/* Bitrate (persistent) */
|
|
int can_config_get_bitrate(void);
|
|
esp_err_t can_config_set_bitrate(int bitrate);
|
|
|
|
/* Oscillator frequency in MHz (persistent) */
|
|
uint8_t can_config_get_osc_mhz(void);
|
|
esp_err_t can_config_set_osc_mhz(uint8_t mhz);
|
|
|
|
/* Software filters — app-level ID whitelist (beyond MCP2515 6 HW filters) */
|
|
int can_config_get_filters(uint32_t *ids_out, int max_ids);
|
|
esp_err_t can_config_add_filter(uint32_t id);
|
|
esp_err_t can_config_del_filter(uint32_t id);
|
|
esp_err_t can_config_clear_filters(void);
|
|
|
|
/* Discovered ECU IDs (for UDS, persistent across reboots) */
|
|
int can_config_get_ecus(uint32_t *ids_out, int max_ids);
|
|
esp_err_t can_config_add_ecu(uint32_t id);
|
|
esp_err_t can_config_clear_ecus(void);
|
|
|
|
/* Reset all config to defaults */
|
|
esp_err_t can_config_reset_all(void);
|
|
|
|
/* List all config as formatted string (for status response) */
|
|
int can_config_list(char *buf, size_t buf_len);
|