Browse Source

update

master
zhaohe 2 years ago
parent
commit
488b00af87
  1. 31
      components/cmdscheduler/cmd_scheduler_v2.cpp
  2. 8
      components/sensors/m3078/m3078_code_scaner.cpp
  3. 27
      components/zprotocol_helper/micro_computer_module_device_script_cmder_paser.cpp
  4. 2
      components/zprotocol_helper/micro_computer_module_device_script_cmder_paser.hpp
  5. 2
      components/zprotocols/zcancmder_v2

31
components/cmdscheduler/cmd_scheduler_v2.cpp

@ -106,12 +106,33 @@ void CmdSchedulerV2::dumpack(ICmdParserACK* ack) {
ZLOGI(TAG, "\tACK[%d] \t\t%d", i, (int)ack->getAckInt32Val(i)); ZLOGI(TAG, "\tACK[%d] \t\t%d", i, (int)ack->getAckInt32Val(i));
} }
} else if (ack->acktype == ack->kAckType_buf) { } else if (ack->acktype == ack->kAckType_buf) {
ZLOGI_NOT_END_LINE(TAG, "\t ACK_BUF:");
for (int i = 0; i < ack->rawlen; i++) {
printf(" %02x", ack->rawdata[i]);
#define ALIAS_LEN 8
ZLOGI_NOT_END_LINE(TAG, "\t ACK_BUF(%d):\n", ack->rawlen);
for (int32_t i = 0; i * ALIAS_LEN < ack->rawlen; i++) {
ZLOGI_NOT_END_LINE(TAG, "%8x\t\t", i * ALIAS_LEN);
for (int32_t j = 0; j < ALIAS_LEN; j++) {
if (i * ALIAS_LEN + j < ack->rawlen) {
printf("%02x ", ack->rawdata[i * ALIAS_LEN + j]);
}
}
printf("|");
for (int32_t j = 0; j < ALIAS_LEN; j++) {
if (i * ALIAS_LEN + j < ack->rawlen) {
if (ack->rawdata[i * ALIAS_LEN + j] >= 0x20 && ack->rawdata[i * ALIAS_LEN + j] <= 0x7e) {
printf("%c", ack->rawdata[i * ALIAS_LEN + j]);
} else {
printf(".");
}
}
}
printf("\n");
} }
printf("\n");
} else {
} else if (ack->acktype == ack->kAckType_str) {
ZLOGI_NOT_END_LINE(TAG, "\t ACK_BUF(%d):", ack->rawlen);
printf("%s\n", (char*)ack->rawdata);
}
else {
ZLOGI(TAG, "\tok"); ZLOGI(TAG, "\tok");
} }
} else { } else {

8
components/sensors/m3078/m3078_code_scaner.cpp

@ -26,18 +26,22 @@ void M3078CodeScanner::initialize(int moduleid, hardware_config_t* hardwareconfi
} }
}); });
m_uart.startRxIt(); m_uart.startRxIt();
m_triggerGpio.initAsOutput(hardwareconfig->triggerPin, ZGPIO::kMode_nopull, false, false);
m_triggerGpio.initAsOutput(hardwareconfig->triggerPin, ZGPIO::kMode_nopull, true, false);
m_com_reg.module_enable = 1; m_com_reg.module_enable = 1;
id = moduleid; id = moduleid;
} }
void M3078CodeScanner::trigger() { void M3078CodeScanner::trigger() {
ZLOGI(TAG, "trigger");
clearIdinfo(); clearIdinfo();
m_triggerGpio.setState(0); m_triggerGpio.setState(0);
zos_delay(3); zos_delay(3);
m_uart.clearRxData(); m_uart.clearRxData();
m_triggerGpio.setState(1); m_triggerGpio.setState(1);
} }
void M3078CodeScanner::stopTrigger() { m_triggerGpio.setState(0); }
void M3078CodeScanner::stopTrigger() {
ZLOGI(TAG, "stopTrigger");
m_triggerGpio.setState(0);
}
bool M3078CodeScanner::idInfoIsReady() { return m_codeisready; } bool M3078CodeScanner::idInfoIsReady() { return m_codeisready; }
char* M3078CodeScanner::getIdinfo() { return codecache; } char* M3078CodeScanner::getIdinfo() { return codecache; }
void M3078CodeScanner::clearIdinfo() { void M3078CodeScanner::clearIdinfo() {

27
components/zprotocol_helper/micro_computer_module_device_script_cmder_paser.cpp

@ -25,9 +25,19 @@ void MicroComputerModuleDeviceScriptCmderPaser::initialize(ICmdParser* cancmder,
m_cmdParser = cancmder; m_cmdParser = cancmder;
m_deviceManager = deviceManager; m_deviceManager = deviceManager;
/*******************************************************************************
* ¼æÈÝ½Ó¿Ú *
*******************************************************************************/
cancmder->regCMD("dumpreg", "(mid)", 1, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { // cancmder->regCMD("dumpreg", "(mid)", 1, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { //
app_dump_reg(paramN, paraV, ack); app_dump_reg(paramN, paraV, ack);
}); });
cancmder->regCMD("scanmodule", "()", 0, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { //
do_scan_module(paramN, paraV, ack);
});
/*******************************************************************************
* ½Ó¿Ú *
*******************************************************************************/
cancmder->regCMD("app_dump_regs", "(mid)", 1, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { // cancmder->regCMD("app_dump_regs", "(mid)", 1, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { //
app_dump_reg(paramN, paraV, ack); app_dump_reg(paramN, paraV, ack);
}); });
@ -40,10 +50,13 @@ void MicroComputerModuleDeviceScriptCmderPaser::initialize(ICmdParser* cancmder,
cancmder->regCMD("app_wait_for_module", "(mid,timeout)", -1, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { // cancmder->regCMD("app_wait_for_module", "(mid,timeout)", -1, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { //
do_wait_for_module(paramN, paraV, ack); do_wait_for_module(paramN, paraV, ack);
}); });
cancmder->regCMD("scanmodule", "()", 0, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { //
cancmder->regCMD("app_scanmodule", "()", 0, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { //
do_scan_module(paramN, paraV, ack); do_scan_module(paramN, paraV, ack);
}); });
cancmder->regCMD("app_module_read_raw_str", "(mid,size)", 2, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { //
app_module_read_raw_str(paramN, paraV, ack);
});
deviceManager->regOnRegValChangeEvent([this](int32_t moduleid, int32_t event_id, int32_t eventval) { // deviceManager->regOnRegValChangeEvent([this](int32_t moduleid, int32_t event_id, int32_t eventval) { //
ZLOGI(TAG, "onRegValChangeEvent(%d,%d,%d)", moduleid, event_id, eventval); ZLOGI(TAG, "onRegValChangeEvent(%d,%d,%d)", moduleid, event_id, eventval);
}); });
@ -63,6 +76,16 @@ void MicroComputerModuleDeviceScriptCmderPaser::app_dump_reg(int32_t paramN, con
app_dump_reg(moduleId, regid); app_dump_reg(moduleId, regid);
} }
void MicroComputerModuleDeviceScriptCmderPaser::app_module_read_raw_str(int32_t paramN, const char* paraV[], ICmdParserACK* ack) {
ack->ecode = 0;
uint16_t moduleId = atoi(paraV[0]);
uint16_t startadd = atoi(paraV[1]);
ack->rawlen = sizeof(ack->rawdata);
ack->ecode = m_deviceManager->module_read_raw(moduleId, startadd, ack->rawdata, &ack->rawlen);
ack->acktype = ICmdParserACK::kAckType_str;
return;
}
void MicroComputerModuleDeviceScriptCmderPaser::app_dump_reg(int32_t moduleId, int32_t regid) { void MicroComputerModuleDeviceScriptCmderPaser::app_dump_reg(int32_t moduleId, int32_t regid) {
#define DUMP_CONFIG(tag, configid) \ #define DUMP_CONFIG(tag, configid) \
if (regid == 0 || regid == configid) { \ if (regid == 0 || regid == configid) { \

2
components/zprotocol_helper/micro_computer_module_device_script_cmder_paser.hpp

@ -18,6 +18,8 @@ class MicroComputerModuleDeviceScriptCmderPaser : public ZModuleDeviceScriptCmde
void do_wait_for_module(int32_t paramN, const char* paraV[], ICmdParserACK* ack); void do_wait_for_module(int32_t paramN, const char* paraV[], ICmdParserACK* ack);
void app_dump_regs(int32_t paramN, const char* paraV[], ICmdParserACK* ack); void app_dump_regs(int32_t paramN, const char* paraV[], ICmdParserACK* ack);
void app_dump_reg(int32_t paramN, const char* paraV[], ICmdParserACK* ack); void app_dump_reg(int32_t paramN, const char* paraV[], ICmdParserACK* ack);
void app_module_read_raw_str(int32_t paramN, const char* paraV[], ICmdParserACK* ack);
}; };
} // namespace iflytop } // namespace iflytop

2
components/zprotocols/zcancmder_v2

@ -1 +1 @@
Subproject commit 87d2bfa20a22003f1731511b6c50f925330a5ebd
Subproject commit fe55b29b2ec36c1dba99d1d69c4dc9e607dcad63
Loading…
Cancel
Save