코드 정리
This commit is contained in:
+7
-54
@@ -109,17 +109,6 @@ static bool piezo_config_validate(const piezo_config_t *cfg)
|
||||
return true;
|
||||
}
|
||||
|
||||
static void piezo_config_log(const char *prefix, const piezo_config_t *cfg)
|
||||
{
|
||||
DBG_PRINTF("%s freq=%u cycles=%u avg=%u delay=%u samples=%u\r\n",
|
||||
prefix,
|
||||
cfg->freq,
|
||||
cfg->cycles,
|
||||
cfg->avg,
|
||||
cfg->delay_us,
|
||||
cfg->samples);
|
||||
}
|
||||
|
||||
const piezo_config_t *piezo_config_get(void)
|
||||
{
|
||||
return &g_piezo_config;
|
||||
@@ -127,13 +116,12 @@ const piezo_config_t *piezo_config_get(void)
|
||||
|
||||
int piezo_config_init(void)
|
||||
{
|
||||
int err = app_nvs_init(&g_piezo_config, piezo_config_validate, piezo_config_log);
|
||||
int err = app_nvs_init(&g_piezo_config, piezo_config_validate, NULL);
|
||||
if (err)
|
||||
{
|
||||
return err;
|
||||
}
|
||||
|
||||
piezo_config_log("[CFG] piezo active", &g_piezo_config);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -309,11 +297,7 @@ static int send_response_imu(const int16_t accel[3], const int16_t gyro[3])
|
||||
|
||||
static void send_response_echo(uint8_t session, uint8_t channel, const uint16_t *samples, uint16_t num_samples)
|
||||
{
|
||||
/*
|
||||
* reb: 패킷은 최대 210바이트라서 스택 지역변수로 두면
|
||||
* mbb?처럼 반복 호출할 때 워커 스택을 꽤 먹는다.
|
||||
* 현재는 한 번에 하나의 명령만 처리하므로 정적 버퍼를 재사용한다.
|
||||
*/
|
||||
/* 정적 버퍼 사용 (한 번에 한 명령만 처리) */
|
||||
uint8_t *buf = tx_echo_buf;
|
||||
|
||||
buf[0] = 'r'; buf[1] = 'e'; buf[2] = 'b'; buf[3] = ':';
|
||||
@@ -336,10 +320,7 @@ static void send_response_echo(uint8_t session, uint8_t channel, const uint16_t
|
||||
ble_data_send(buf, payload_len + 2);
|
||||
}
|
||||
|
||||
static void send_response_bundle(uint16_t batt_mv,
|
||||
const int16_t accel[3],
|
||||
const int16_t gyro[3],
|
||||
int16_t temp_cdeg)
|
||||
static void send_response_bundle(uint16_t batt_mv, const int16_t accel[3], const int16_t gyro[3], int16_t temp_cdeg)
|
||||
{
|
||||
uint8_t *buf = tx_bundle_buf;
|
||||
|
||||
@@ -389,18 +370,11 @@ static void send_response_rim(const uint8_t *sample_bytes, uint16_t sample_count
|
||||
buf[payload_len] = (uint8_t)(crc & 0xFF);
|
||||
buf[payload_len + 1U] = (uint8_t)(crc >> 8);
|
||||
|
||||
DBG_PRINTF("[MTB] tx rim samples=%u len=%u\r\n",
|
||||
sample_count,
|
||||
(uint16_t)(payload_len + 2U));
|
||||
DBG_PRINTF("[MTB] tx rim samples=%u len=%u\r\n", sample_count, (uint16_t)(payload_len + 2U));
|
||||
ble_data_send(buf, (uint16_t)(payload_len + 2U));
|
||||
}
|
||||
|
||||
static void send_response_piezo_config(const char *tag,
|
||||
uint16_t freq,
|
||||
uint16_t cycles,
|
||||
uint16_t avg,
|
||||
uint16_t delay_us,
|
||||
uint16_t samples)
|
||||
static void send_response_piezo_config(const char *tag, uint16_t freq, uint16_t cycles, uint16_t avg, uint16_t delay_us, uint16_t samples)
|
||||
{
|
||||
uint8_t *buf = tx_cfg_buf;
|
||||
|
||||
@@ -705,7 +679,6 @@ static int cmd_msn(const uint8_t *data, uint8_t data_len)
|
||||
}
|
||||
|
||||
send_response_u16("rsn:", (uint16_t)mv);
|
||||
DBG_PRINTF("[CMD] msn -> %d mV\r\n", mv);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1283,7 +1256,6 @@ static int cmd_mcf(const uint8_t *data, uint8_t data_len)
|
||||
|
||||
const piezo_config_t *cfg = piezo_config_get();
|
||||
send_response_piezo_config("rcf:", cfg->freq, cfg->cycles, cfg->avg, cfg->delay_us, cfg->samples);
|
||||
piezo_config_log("[CMD] mcf ->", cfg);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1297,7 +1269,6 @@ static int cmd_mcs(const uint8_t *data, uint8_t data_len)
|
||||
if (data_len < 10U)
|
||||
{
|
||||
send_response_piezo_config("rcs:", 0xFFFF, 0U, 0U, 0U, 0U);
|
||||
DBG_PRINTF("[CMD] mcs: insufficient data len=%u\r\n", data_len);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1310,7 +1281,6 @@ static int cmd_mcs(const uint8_t *data, uint8_t data_len)
|
||||
if (!piezo_config_validate(&cfg))
|
||||
{
|
||||
send_response_piezo_config("rcs:", 0xFFFF, cfg.cycles, cfg.avg, cfg.delay_us, cfg.samples);
|
||||
piezo_config_log("[CMD] mcs invalid", &cfg);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1319,12 +1289,10 @@ static int cmd_mcs(const uint8_t *data, uint8_t data_len)
|
||||
if (err)
|
||||
{
|
||||
send_response_piezo_config("rcs:", 0xFFFD, cfg.cycles, cfg.avg, cfg.delay_us, cfg.samples);
|
||||
piezo_config_log("[CMD] mcs save fail", &g_piezo_config);
|
||||
return 1;
|
||||
}
|
||||
|
||||
send_response_piezo_config("rcs:", g_piezo_config.freq, g_piezo_config.cycles, g_piezo_config.avg, g_piezo_config.delay_us, g_piezo_config.samples);
|
||||
piezo_config_log("[CMD] mcs saved", &g_piezo_config);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1346,7 +1314,6 @@ static int cmd_mfv(const uint8_t *data, uint8_t data_len)
|
||||
{
|
||||
DBG_ERR("[CMD] mfv tx failed err=%d\r\n", err);
|
||||
}
|
||||
DBG_PRINTF("[CMD] mfv read\r\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1362,7 +1329,6 @@ static int cmd_mid(const uint8_t *data, uint8_t data_len)
|
||||
{
|
||||
DBG_ERR("[CMD] mid tx failed err=%d\r\n", err);
|
||||
}
|
||||
DBG_PRINTF("[CMD] mid read\r\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1371,7 +1337,6 @@ static int cmd_mwh(const uint8_t *data, uint8_t data_len)
|
||||
if (data_len < HW_NO_LENGTH)
|
||||
{
|
||||
send_response_u16("rwh:", 0xFFFF);
|
||||
DBG_PRINTF("[CMD] mwh: insufficient data len=%u\r\n", data_len);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1385,7 +1350,6 @@ static int cmd_mwh(const uint8_t *data, uint8_t data_len)
|
||||
}
|
||||
|
||||
send_response_ascii("rwh:", HW_NO, HW_NO_LENGTH);
|
||||
DBG_PRINTF("[CMD] mwh updated\r\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1401,7 +1365,6 @@ static int cmd_mrh(const uint8_t *data, uint8_t data_len)
|
||||
{
|
||||
DBG_ERR("[CMD] mrh tx failed err=%d\r\n", err);
|
||||
}
|
||||
DBG_PRINTF("[CMD] mrh read\r\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1410,7 +1373,6 @@ static int cmd_mws(const uint8_t *data, uint8_t data_len)
|
||||
if (data_len < SERIAL_NO_LENGTH)
|
||||
{
|
||||
send_response_u16("rws:", 0xFFFF);
|
||||
DBG_PRINTF("[CMD] mws: insufficient data len=%u\r\n", data_len);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1424,7 +1386,6 @@ static int cmd_mws(const uint8_t *data, uint8_t data_len)
|
||||
}
|
||||
|
||||
send_response_ascii("rws:", SERIAL_NO, SERIAL_NO_LENGTH);
|
||||
DBG_PRINTF("[CMD] mws updated\r\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1440,7 +1401,6 @@ static int cmd_mrs(const uint8_t *data, uint8_t data_len)
|
||||
{
|
||||
DBG_ERR("[CMD] mrs tx failed err=%d\r\n", err);
|
||||
}
|
||||
DBG_PRINTF("[CMD] mrs read\r\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1449,7 +1409,6 @@ static int cmd_mpz(const uint8_t *data, uint8_t data_len)
|
||||
if (data_len < PASSKEY_LENGTH)
|
||||
{
|
||||
send_response_u16("rpz:", 0xFFFF);
|
||||
DBG_PRINTF("[CMD] mpz: insufficient data len=%u\r\n", data_len);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1486,7 +1445,6 @@ static int cmd_mpz(const uint8_t *data, uint8_t data_len)
|
||||
m_passkey_changed = 1U;
|
||||
|
||||
send_response_ascii("rpz:", m_static_passkey, PASSKEY_LENGTH);
|
||||
DBG_PRINTF("[CMD] mpz updated\r\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1496,7 +1454,6 @@ static int cmd_mqz(const uint8_t *data, uint8_t data_len)
|
||||
ARG_UNUSED(data_len);
|
||||
|
||||
send_response_ascii("rqz:", m_static_passkey, PASSKEY_LENGTH);
|
||||
DBG_PRINTF("[CMD] mqz read\r\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1524,12 +1481,10 @@ static int cmd_mls(const uint8_t *data, uint8_t data_len)
|
||||
led_set_state((led_state_t)state);
|
||||
if (state == LED_STATE_OFF)
|
||||
{
|
||||
int imu_ret = imu_fifo_stop();
|
||||
DBG_PRINTF("[CMD] mls: fifo stop ret=%d\r\n", imu_ret);
|
||||
(void)imu_fifo_stop();
|
||||
}
|
||||
|
||||
send_response_u16("rls:", state);
|
||||
DBG_PRINTF("[CMD] mls -> LED state=%d\r\n", state);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1577,7 +1532,7 @@ static const cmd_entry_t cmd_table[] =
|
||||
/*==============================================================================
|
||||
* 파서 엔트리
|
||||
*============================================================================*/
|
||||
int dr_parser(const uint8_t *buf, uint16_t len)
|
||||
int ble_cmd_dispatch(const uint8_t *buf, uint16_t len)
|
||||
{
|
||||
DBG_CORE("[PARSER] enter len=%u\r\n", len);
|
||||
DBG_CORE("[CMD] RX len=%u\r\n", len);
|
||||
@@ -1619,7 +1574,6 @@ int dr_parser(const uint8_t *buf, uint16_t len)
|
||||
ascii_to_lower((char)buf[3]),
|
||||
'\0'
|
||||
};
|
||||
DBG_CORE("[CMD] tag=%s\r\n", tag);
|
||||
|
||||
const uint8_t *data = buf + 4;
|
||||
uint8_t data_len = (uint8_t)(len - 4U - 2U);
|
||||
@@ -1638,7 +1592,6 @@ int dr_parser(const uint8_t *buf, uint16_t len)
|
||||
return -1;
|
||||
}
|
||||
|
||||
DBG_CORE("[CMD] dispatch -> %s\r\n", cmd_table[i].tag);
|
||||
return cmd_table[i].handler(data, data_len);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user