|
|
@ -24,6 +24,14 @@ void HuachengPressureSensor::regSubmodule(int id, UART_HandleTypeDef* huart, uin |
|
|
|
m_submodules.push_back(submodule); |
|
|
|
} |
|
|
|
|
|
|
|
void HuachengPressureSensor::regSubmodule(int id, readsensorfn_t readfn) { |
|
|
|
Submodule* submodule = new Submodule(); |
|
|
|
ZASSERT(submodule != NULL); |
|
|
|
submodule->id = id; |
|
|
|
submodule->readsensorfn = readfn; |
|
|
|
m_submodules.push_back(submodule); |
|
|
|
} |
|
|
|
|
|
|
|
void HuachengPressureSensor::onRceivePacket(CanPacketRxBuffer* rxbuf, uint8_t* packet, size_t len) { |
|
|
|
Cmdheader_t* cmdheader = (Cmdheader_t*)packet; |
|
|
|
if (cmdheader->cmdid == kcmd_read_huacheng_pressure_sensor && cmdheader->subcmdid == 0) { |
|
|
@ -57,7 +65,13 @@ void HuachengPressureSensor::onRceivePacket(CanPacketRxBuffer* rxbuf, uint8_t* p |
|
|
|
uint8_t txbuff[10] = {}; |
|
|
|
txbuff[0] = id; |
|
|
|
DP600PressureSensor::sensor_data_t data; |
|
|
|
bool suc = subm->sensor.readVal(&data); |
|
|
|
|
|
|
|
bool suc = false; |
|
|
|
if (subm->readsensorfn) { |
|
|
|
suc = subm->readsensorfn(&data); |
|
|
|
} else { |
|
|
|
suc = subm->sensor.readVal(&data); |
|
|
|
} |
|
|
|
|
|
|
|
if (suc) { |
|
|
|
txbuff[0] = id; |
|
|
|