온도 센서 TMP235 삭제(IMU 온도로 대체)
This commit is contained in:
+6
-29
@@ -22,7 +22,6 @@
|
||||
#include "echo_adc.h"
|
||||
#include "imu_i2c.h"
|
||||
#include "piezo.h"
|
||||
#include "tmp235.h"
|
||||
|
||||
/*==============================================================================
|
||||
* Piezo / echo measurement constants
|
||||
@@ -718,46 +717,24 @@ static int cmd_msp(const uint8_t *data, uint8_t data_len)
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* mst? → 피에조 전원 ON → TMP235 온도 측정 → 전원 OFF → rso: + 온도(°C × 100, BE)
|
||||
*
|
||||
* TMP235가 피에조 레일을 공유하므로 ON/OFF 시퀀스를 한 커맨드에서 처리.
|
||||
* 안정화 대기 10ms: TMP235 start-up(~2ms) + 레일 RC 필터 여유분.
|
||||
* 에러 응답: 0xFFFF = ADC 읽기 실패 */
|
||||
/* mst? -> IMU internal temperature -> rso: + temperature (degC x 100, BE)
|
||||
* Error response: 0xFFFF = IMU temperature read failed. */
|
||||
static int cmd_mst(const uint8_t *data, uint8_t data_len)
|
||||
{
|
||||
ARG_UNUSED(data);
|
||||
ARG_UNUSED(data_len);
|
||||
|
||||
/*
|
||||
* mst?는 "온도만 읽는 명령"처럼 보이지만,
|
||||
* 실제로는 TMP235가 piezo 전원 레일을 같이 쓰기 때문에
|
||||
* 전원 ON/OFF 시퀀스까지 같이 처리해야 한다.
|
||||
*/
|
||||
power_button_suspend(true);
|
||||
|
||||
if (piezo_init() != 0)
|
||||
{
|
||||
power_button_suspend(false);
|
||||
send_response_u16("rso:", 0xFFFF);
|
||||
DBG_PRINTF("[CMD] mst: piezo init fail\r\n");
|
||||
return 1;
|
||||
}
|
||||
int16_t t_cdeg = INT16_MIN;
|
||||
int ret = imu_read_temperature_cdeg(&t_cdeg);
|
||||
|
||||
/* 전원 ON → 센서 안정화 대기 */
|
||||
piezo_power_on();
|
||||
k_msleep(10);
|
||||
|
||||
int16_t t_cdeg = temp_read_cdeg();
|
||||
|
||||
/* 전원 OFF (측정 완료, 레일 끄기) */
|
||||
piezo_power_off();
|
||||
power_button_suspend(false);
|
||||
|
||||
/* ADC 읽기 실패 → 에러 코드 0xFFFF */
|
||||
if (t_cdeg == INT16_MIN)
|
||||
if ((ret != 0) || (t_cdeg == INT16_MIN))
|
||||
{
|
||||
send_response_u16("rso:", 0xFFFF);
|
||||
DBG_PRINTF("[CMD] mst: temp read fail\r\n");
|
||||
DBG_PRINTF("[CMD] mst: imu temp read fail ret=%d\r\n", ret);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user