Browse Source

fix some bug

master
zhaohe 2 years ago
parent
commit
097b32522d
  1. 2
      components/iflytop_can_slave_modules/idcard_reader_service.cpp
  2. 8
      components/iflytop_can_slave_v1/iflytop_can_slave.cpp
  3. 1
      components/m3078/m3078_code_scaner.cpp

2
components/iflytop_can_slave_modules/idcard_reader_service.cpp

@ -83,6 +83,7 @@ void IDCardReaderService::onHostRegisterReportEvent(icps::ReportEvent* event) {
*val = data[event->extRegSubOff - 1];
}
}
// ZLOGI(TAG, "report regoff:%d, val:%d", regoff, *val);
return;
}
@ -140,6 +141,7 @@ void IDCardReaderService::processCodeScanning(StateMachine::StateProcessContext*
if (m_codeScanner->idInfoIsReady() && // 等待扫码完成
!m_codeReg->is(icps::kreadyReport) // 等待上一次上报完成
) {
ZLOGI(TAG, "code scan done:%s",m_codeScanner->getIdinfo());
m_protocolProcesser->writeRegValue(m_codeReg, m_codeScanner->getIdinfoLen(), false);
m_protocolProcesser->setRegReadyToReport(m_codeReg);
// context->changeToStateIndex = kCodeReporting;

8
components/iflytop_can_slave_v1/iflytop_can_slave.cpp

@ -703,7 +703,7 @@ icps::error_t IflytopCanProtocolStackProcesser::callOnHostRegisterWriteEvent(icp
int moduleregstart = mod->moduleRegAddoff;
int moduleregend = mod->moduleRegAddoff + mod->maxregadd;
if (reg->add >= moduleregstart && reg->add < moduleregend) {
if (reg->add >= moduleregstart && reg->add <= moduleregend) {
icps::error_t result = mod->listener->onHostRegisterWriteEvent(&writeEvent);
newvalue = writeEvent.newvalue;
return result;
@ -730,7 +730,7 @@ icps::error_t IflytopCanProtocolStackProcesser::callOnHostRegisterReadEvent(icps
int moduleregstart = mod->moduleRegAddoff;
int moduleregend = mod->moduleRegAddoff + mod->maxregadd;
if (reg->add >= moduleregstart && reg->add < moduleregend) {
if (reg->add >= moduleregstart && reg->add <= moduleregend) {
icps::error_t result = mod->listener->onHostRegisterReadEvent(&eve);
value = eve.value;
return result;
@ -758,7 +758,7 @@ void IflytopCanProtocolStackProcesser::callOnRegisterValueAutoReportEvent(icps::
int moduleregstart = mod->moduleRegAddoff;
int moduleregend = mod->moduleRegAddoff + mod->maxregadd;
if (reg->add >= moduleregstart && reg->add < moduleregend) {
if (reg->add >= moduleregstart && reg->add <= moduleregend) {
mod->listener->onHostRegisterReportEvent(&eve);
}
}
@ -785,7 +785,7 @@ void IflytopCanProtocolStackProcesser::callOnRegisterExtEvent(icps::Reg_t *reg,
int moduleregstart = mod->moduleRegAddoff;
int moduleregend = mod->moduleRegAddoff + mod->maxregadd;
if (reg->add >= moduleregstart && reg->add < moduleregend) {
if (reg->add >= moduleregstart && reg->add <= moduleregend) {
mod->listener->onHostRegisterReportEvent(&eve);
}
}

1
components/m3078/m3078_code_scaner.cpp

@ -35,6 +35,7 @@ void M3078CodeScanner::trigger() {
m_triggerGpio.setState(0);
chip_delay_ms(3);
}
clearIdinfo();
m_uart.clearRxData();
m_triggerGpio.setState(1);
m_trigger = true;

Loading…
Cancel
Save