- FDS 피에조 파라미터 구조체 변경 (pd_adc_cnt/pd_delay_us 삭제, piezo 5개 필드 추가)
- maa/mbb 앱 파라미터 수신 → FDS 저장 기능 추가 - magic_number 변경 (0x20260319), cycles 범위 3~7로 제한 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -976,17 +976,30 @@ static int Cmd_cmd(const ParsedCmd *cmd)
|
||||
|
||||
static int Cmd_maa(const ParsedCmd *cmd)
|
||||
{
|
||||
uint16_t mode = 0;
|
||||
dr_adc_err_t err;
|
||||
|
||||
/* mode 파라미터 추출 */
|
||||
(void)dr_get_u16(cmd, 0, &mode);
|
||||
/* 파라미터 5개 수신 시 FDS에 저장 — 디버그 중 비활성화
|
||||
if (cmd->data_len >= 10) {
|
||||
uint16_t freq, cycles, averaging, delay_us, num_samples;
|
||||
dr_get_u16(cmd, 0, &freq);
|
||||
dr_get_u16(cmd, 1, &cycles);
|
||||
dr_get_u16(cmd, 2, &averaging);
|
||||
dr_get_u16(cmd, 3, &delay_us);
|
||||
dr_get_u16(cmd, 4, &num_samples);
|
||||
|
||||
/* mode 검증 - mode 0(비동기 원시)만 지원 */
|
||||
if (mode > 0) {
|
||||
dr_ble_return_1("raa:", 0xFFFF); /* 미지원 모드 에러 */
|
||||
return 1;
|
||||
m_config.piezo_freq_option = (uint8_t)freq;
|
||||
m_config.piezo_cycles = (uint8_t)cycles;
|
||||
m_config.piezo_averaging = averaging;
|
||||
m_config.piezo_delay_us = delay_us;
|
||||
m_config.piezo_num_samples = num_samples;
|
||||
config_save();
|
||||
|
||||
if (g_plat.log) g_plat.log("[Cmd_maa] params updated: freq=%u cyc=%u avg=%u delay=%u samples=%u\r\n",
|
||||
m_config.piezo_freq_option, m_config.piezo_cycles,
|
||||
m_config.piezo_averaging, m_config.piezo_delay_us,
|
||||
m_config.piezo_num_samples);
|
||||
}
|
||||
*/
|
||||
|
||||
/* 이전 캡처가 진행 중인지 확인 (비동기이므로 중복 실행 방지) */
|
||||
if (maa_async_is_busy()) {
|
||||
@@ -1108,16 +1121,30 @@ static void all_sensors(void)
|
||||
*/
|
||||
static int Cmd_mbb(const ParsedCmd *cmd)
|
||||
{
|
||||
uint16_t mode = 0;
|
||||
dr_adc_err_t err;
|
||||
|
||||
(void)dr_get_u16(cmd, 0, &mode);
|
||||
/* 파라미터 5개 수신 시 FDS에 저장 — 디버그 중 비활성화
|
||||
if (cmd->data_len >= 10) {
|
||||
uint16_t freq, cycles, averaging, delay_us, num_samples;
|
||||
dr_get_u16(cmd, 0, &freq);
|
||||
dr_get_u16(cmd, 1, &cycles);
|
||||
dr_get_u16(cmd, 2, &averaging);
|
||||
dr_get_u16(cmd, 3, &delay_us);
|
||||
dr_get_u16(cmd, 4, &num_samples);
|
||||
|
||||
if (mode > 0)
|
||||
{
|
||||
dr_ble_return_1("raa:", 0xFFFF);
|
||||
return 1;
|
||||
m_config.piezo_freq_option = (uint8_t)freq;
|
||||
m_config.piezo_cycles = (uint8_t)cycles;
|
||||
m_config.piezo_averaging = averaging;
|
||||
m_config.piezo_delay_us = delay_us;
|
||||
m_config.piezo_num_samples = num_samples;
|
||||
config_save();
|
||||
|
||||
if (g_plat.log) g_plat.log("[Cmd_mbb] params updated: freq=%u cyc=%u avg=%u delay=%u samples=%u\r\n",
|
||||
m_config.piezo_freq_option, m_config.piezo_cycles,
|
||||
m_config.piezo_averaging, m_config.piezo_delay_us,
|
||||
m_config.piezo_num_samples);
|
||||
}
|
||||
*/
|
||||
|
||||
all_sensors();
|
||||
|
||||
@@ -1134,6 +1161,11 @@ static int Cmd_mbb(const ParsedCmd *cmd)
|
||||
dr_piezo_system_init();
|
||||
}
|
||||
|
||||
if (g_plat.log) g_plat.log("[Cmd_mbb] freq=%u cyc=%u avg=%u delay=%u samples=%u\r\n",
|
||||
m_config.piezo_freq_option, m_config.piezo_cycles,
|
||||
m_config.piezo_averaging, m_config.piezo_delay_us,
|
||||
m_config.piezo_num_samples);
|
||||
|
||||
/* 비동기 6채널 캡처 시작 (m_config 파라미터 사용) */
|
||||
err = maa_async_start(
|
||||
m_config.piezo_freq_option,
|
||||
|
||||
Reference in New Issue
Block a user