기기 정보 일괄 읽기 커맨드 추가

- HW Version, Serial Version, FW Version
This commit is contained in:
2026-04-16 01:07:37 +09:00
parent 16acb34bf0
commit a826d09dfa

View File

@@ -390,6 +390,7 @@ static int Cmd_mws(const ParsedCmd *cmd); /* mws? 시리얼 넘버 FDS에 쓰
static int Cmd_mrh(const ParsedCmd *cmd); /* mrh? HW 넘버 FDS에서 읽기 */
static int Cmd_mrs(const ParsedCmd *cmd); /* mrs? 시리얼 넘버 FDS에서 읽기 */
static int Cmd_mfv(const ParsedCmd *cmd); /* mfv? 펌웨어 버전 읽기 */
static int Cmd_mid(const ParsedCmd *cmd); /* mid? HW 넘버 + 시리얼 넘버 + FW 버전 일괄 읽기 */
static int Cmd_mpz(const ParsedCmd *cmd); /* mpz? BLE 패스키 FDS에 쓰기 */
static int Cmd_mqz(const ParsedCmd *cmd); /* mqz? BLE 패스키 FDS에서 읽기 */
@@ -440,6 +441,7 @@ static CmdEntry g_cmd_table[] = {
{ "mpz?", true, Cmd_mpz },
{ "mqz?", true, Cmd_mqz },
{ "mfv?", true, Cmd_mfv },
{ "mid?", true, Cmd_mid },
/* D. 각종 센서 측정 */
{ "msn?", true, Cmd_msn },
@@ -677,6 +679,28 @@ static int Cmd_mfv(const ParsedCmd *cmd)
return 1;
}
/* mid? - HW 넘버 + 시리얼 넘버 + FW 버전 일괄 읽기
*
* 응답: "rid:" + HW_NO(12) + SERIAL_NO(12) + FIRMWARE_VERSION(12) = 40바이트 = 20워드
*/
static int Cmd_mid(const ParsedCmd *cmd)
{
uint8_t *buf = ble_bin_buffer;
(void)cmd;
memcpy(HW_NO, m_config.hw_no, 12);
memcpy(SERIAL_NO, m_config.serial_no, 12);
buf[0] = 'r'; buf[1] = 'i'; buf[2] = 'd'; buf[3] = ':';
memcpy(&buf[4], HW_NO, 12);
memcpy(&buf[16], SERIAL_NO, 12);
memcpy(&buf[28], FIRMWARE_VERSION, 12);
dr_binary_tx_safe(buf, 20); /* 40바이트 = 20워드 */
return 1;
}
/* mpa? - 피에조 초음파 TX/RX 회로 활성화
*
* 동작: 피에조 전원 ON → 시스템 초기화 (DAC, MUX, ADC 설정)