Browse Source

update

master
zhaohe 1 year ago
parent
commit
8a22b9f19f
  1. 15
      chip/basic/chip_helper.cpp
  2. 51
      components/zcancmder/zcan_protocol_parser.cpp
  3. 11
      components/zcancmder/zcan_protocol_parser.hpp

15
chip/basic/chip_helper.cpp

@ -1,21 +1,12 @@
#include "chip_helper.hpp"
#include "cmsis_os.h"
#include "sdk\chip\basic\logger.hpp"
extern "C" {
static uint8_t g_port_exit_critical_count;
void chip_critical_enter(void) {
if (g_port_exit_critical_count == 0) {
__disable_irq();
}
g_port_exit_critical_count++;
}
void chip_critical_exit(void) {
g_port_exit_critical_count--;
if (g_port_exit_critical_count == 0) {
__enable_irq();
}
}
void chip_critical_enter(void) { portENTER_CRITICAL(); }
void chip_critical_exit(void) { portEXIT_CRITICAL(); }
GPIO_TypeDef* chip_get_gpio(Pin_t pin) {
int port = pin >> 4;

51
components/zcancmder/zcan_protocol_parser.cpp

@ -117,6 +117,16 @@ void ZCanProtocolParser::initialize(IZCanReceiver* cancmder) {
REGFN(a8000_optical_start_capture);
REGFN(a8000_optical_read_raw);
REGFN(a8k_opt_v2_t_start_scan);
REGFN(a8k_opt_v2_f_start_scan);
REGFN(a8k_opt_v2_t_open_laster);
REGFN(a8k_opt_v2_t_close_laster);
REGFN(a8k_opt_v2_t_readVal);
REGFN(a8k_opt_v2_f_open_laster);
REGFN(a8k_opt_v2_f_close_laster);
REGFN(a8k_opt_v2_f_readVal);
#endif
REGFN(a8000_idcard_reader_read_raw);
@ -144,7 +154,7 @@ void ZCanProtocolParser::registerModule(ZIModule* module) {
void ZCanProtocolParser::onRceivePacket(zcr_cmd_header_t* rxcmd, uint8_t* data, int32_t len) {
// printf("onRceivePacket cmdid:%d moduleid:%d cmdSubId:%d\n", rxcmd->cmdMainId, rxcmd->moduleid, rxcmd->cmdSubId);
uint16_t moduleid = rxcmd->moduleid;
auto it = m_modulers.find(moduleid);
auto it = m_modulers.find(moduleid);
if (it == m_modulers.end()) {
return;
}
@ -752,6 +762,45 @@ int32_t ZCanProtocolParser::a8000_optical_read_raw(cmdcontxt_t* cxt) {
return suc;
}
int32_t ZCanProtocolParser::a8k_opt_v2_t_start_scan(cmdcontxt_t* cxt) {
CHECK_AND_GET_MODULE(3);
return module->a8k_opt_v2_t_start_scan(cxt->params[0], cxt->params[1], cxt->params[2]);
}
int32_t ZCanProtocolParser::a8k_opt_v2_f_start_scan(cmdcontxt_t* cxt) {
CHECK_AND_GET_MODULE(3);
return module->a8k_opt_v2_f_start_scan(cxt->params[0], cxt->params[1], cxt->params[2]);
}
int32_t ZCanProtocolParser::a8k_opt_v2_t_open_laster(cmdcontxt_t* cxt) {
CHECK_AND_GET_MODULE(2);
return module->a8k_opt_v2_t_open_laster(cxt->params[0], cxt->params[1]);
}
int32_t ZCanProtocolParser::a8k_opt_v2_t_close_laster(cmdcontxt_t* cxt) {
CHECK_AND_GET_MODULE(0);
return module->a8k_opt_v2_t_close_laster();
}
int32_t ZCanProtocolParser::a8k_opt_v2_t_readVal(cmdcontxt_t* cxt) {
CHECK_AND_GET_MODULE(0);
int32_t* ack = (int32_t*)cxt->ackbuf;
cxt->acklen = 8;
return module->a8k_opt_v2_t_readVal(&ack[0], &ack[1]);
}
int32_t ZCanProtocolParser::a8k_opt_v2_f_open_laster(cmdcontxt_t* cxt) {
CHECK_AND_GET_MODULE(2);
return module->a8k_opt_v2_f_open_laster(cxt->params[0], cxt->params[1]);
}
int32_t ZCanProtocolParser::a8k_opt_v2_f_close_laster(cmdcontxt_t* cxt) {
CHECK_AND_GET_MODULE(0);
return module->a8k_opt_v2_f_close_laster();
}
int32_t ZCanProtocolParser::a8k_opt_v2_f_readVal(cmdcontxt_t* cxt) {
CHECK_AND_GET_MODULE(0);
int32_t* ack = (int32_t*)cxt->ackbuf;
cxt->acklen = 8;
return module->a8k_opt_v2_f_readVal(&ack[0], &ack[1]);
}
#undef MODULE_CLASS
#define MODULE_CLASS ZIA8000IDCardReaderModule

11
components/zcancmder/zcan_protocol_parser.hpp

@ -155,13 +155,22 @@ class ZCanProtocolParser : public IZCanReceiverListener {
CMDFN(a8000_optical_scan_current_point_amp_adc_val);
CMDFN(a8000_optical_start_capture);
CMDFN(a8000_optical_read_raw);
CMDFN(a8k_opt_v2_t_start_scan);
CMDFN(a8k_opt_v2_f_start_scan);
CMDFN(a8k_opt_v2_t_open_laster);
CMDFN(a8k_opt_v2_t_close_laster);
CMDFN(a8k_opt_v2_t_readVal);
CMDFN(a8k_opt_v2_f_open_laster);
CMDFN(a8k_opt_v2_f_close_laster);
CMDFN(a8k_opt_v2_f_readVal);
#endif
CMDFN(a8000_idcard_reader_read_raw);
CMDFN(a8000_idcard_write_raw);
CMDFN(a8000_idcard_erase);
CMDFN(a8000_idcard_earse_unlock);
CMDFN(plate_code_scaner_push_card_and_scan);
CMDFN(plate_code_scaner_stop_scan);

Loading…
Cancel
Save