Initial Commit

This commit is contained in:
2026-07-06 11:14:35 +09:00
parent e6de6e8cc3
commit e55b283b39
31 changed files with 1023 additions and 2123 deletions
+28 -12
View File
@@ -11,6 +11,9 @@
#include "app_nvs.h"
#include "cmd_info.h"
/*
* mfv: firmware version read
*/
int cmd_mfv(const uint8_t *data, uint8_t data_len)
{
char fw_version[SERIAL_NO_LENGTH];
@@ -28,6 +31,9 @@ int cmd_mfv(const uint8_t *data, uint8_t data_len)
return 1;
}
/*
* mid: device information(hw version + fw version + serial number) read
*/
int cmd_mid(const uint8_t *data, uint8_t data_len)
{
int err;
@@ -43,6 +49,9 @@ int cmd_mid(const uint8_t *data, uint8_t data_len)
return 1;
}
/*
* mwh: hardware version write
*/
int cmd_mwh(const uint8_t *data, uint8_t data_len)
{
if (data_len < HW_NO_LENGTH)
@@ -64,6 +73,9 @@ int cmd_mwh(const uint8_t *data, uint8_t data_len)
return 1;
}
/*
* mrh: hardware version read
*/
int cmd_mrh(const uint8_t *data, uint8_t data_len)
{
int err;
@@ -79,6 +91,9 @@ int cmd_mrh(const uint8_t *data, uint8_t data_len)
return 1;
}
/*
* mws: serial number write
*/
int cmd_mws(const uint8_t *data, uint8_t data_len)
{
if (data_len < SERIAL_NO_LENGTH)
@@ -100,6 +115,9 @@ int cmd_mws(const uint8_t *data, uint8_t data_len)
return 1;
}
/*
* mrs: serial number read
*/
int cmd_mrs(const uint8_t *data, uint8_t data_len)
{
int err;
@@ -115,6 +133,9 @@ int cmd_mrs(const uint8_t *data, uint8_t data_len)
return 1;
}
/*
* mpz: passkey write
*/
int cmd_mpz(const uint8_t *data, uint8_t data_len)
{
if (data_len < PASSKEY_LENGTH)
@@ -125,13 +146,13 @@ int cmd_mpz(const uint8_t *data, uint8_t data_len)
if (m_passkey_changed != 0U)
{
/* 패스키가 변경된 경우 다시 바꿀 수 없음(FFFF 반환) */
// 패스키가 변경된 경우 다시 바꿀 수 없음(FFFF 반환)
cmd_send_response_u16("rpz:", 0xFFFF);
DBG_PRINTF("[CMD] mpz: passkey already changed\r\n");
return 1;
}
/* NVS 저장이 모두 성공한 뒤 RAM 값 확정 */
// NVS 저장이 모두 성공한 뒤 RAM 값 확정
char new_passkey[PASSKEY_BUF_SIZE];
memset(new_passkey, 0, sizeof(new_passkey));
memcpy(new_passkey, data, PASSKEY_LENGTH);
@@ -143,7 +164,7 @@ int cmd_mpz(const uint8_t *data, uint8_t data_len)
return 1;
}
/* 변경 완료 플래그 세트 : 다음 mpz? 명령 차단 */
// 변경 완료 플래그 세트 : 다음 mpz? 명령 차단
err = app_nvs_save_passkey_changed(1U);
if (err)
{
@@ -159,6 +180,9 @@ int cmd_mpz(const uint8_t *data, uint8_t data_len)
return 1;
}
/*
* mqz: passkey read (삭제 예정)
*/
int cmd_mqz(const uint8_t *data, uint8_t data_len)
{
ARG_UNUSED(data);
@@ -166,12 +190,4 @@ int cmd_mqz(const uint8_t *data, uint8_t data_len)
cmd_send_response_ascii("rqz:", m_static_passkey, PASSKEY_LENGTH);
return 1;
}
/*
* LED 상태 변경 명령
* mls?: 앱에서 전달한 LED 상태값을 적용하고 rls로 echo back
* - 파라미터 부족: 0xFFFF
* - 범위 초과: 0xFFFE
* - LED_STATE_OFF 진입 시 IMU FIFO 정지
*/
}