Browse Source

update

master
zhaohe 1 year ago
parent
commit
81dbe6369b
  1. 2
      a8000_protocol
  2. 2
      sdk
  3. 15
      usrc/subboards/subboard100_idcard_reader/eeprom_service.cpp
  4. 1
      usrc/subboards/subboard100_idcard_reader/eeprom_service.hpp

2
a8000_protocol

@ -1 +1 @@
Subproject commit 5ed47307b153a256e90fc5031b58ff65102a7f03
Subproject commit 17dfc0ae187c70241017a7e7d64f19c78859b712

2
sdk

@ -1 +1 @@
Subproject commit 39643f7b7276936e78af888fc2c2923009a3183a
Subproject commit 986dbc2bbbdc5754b0338ecd0a4dbfa349b2cad6

15
usrc/subboards/subboard100_idcard_reader/eeprom_service.cpp

@ -120,11 +120,16 @@ void EEPROMService::detect_online() {
if (i2c_ping_state[0x50] && i2c_ping_state[0x51] && i2c_ping_state[0x52]) {
m_nowonline = &m_subdevice_p24c16;
change_is_online_flag(true);
m_writeunlock = false;
ZLOGI(TAG, "detect eerpom p24c16");
} else if (!i2c_ping_state[0x50] && i2c_ping_state[0x53] && i2c_ping_state[0x57]) {
m_nowonline = &m_subdevice_m24lrxxe;
change_is_online_flag(true);
ZLOGI(TAG, "detect eerpom m24lrxxe");
m_writeunlock = false;
ZLOGI(TAG, "detect eerpom M24LR16E"); //
// uint32_t rdbak = 0;
// m_subdevice_m24lrxxe.readCfgReg(2332, &rdbak);
// ZLOGI(TAG, "m24lrxxe cfg reg: %08x", rdbak);
}
} else {
@ -150,7 +155,12 @@ int32_t EEPROMService::a8000_idcard_reader_read_raw(int32_t index, uint8_t* data
}
int32_t EEPROMService::a8000_idcard_write_raw(int32_t add, uint8_t* data, int32_t len) {
zlock_guard guard(m_mutex);
if (!m_nowonline) return err::kdevice_offline;
if (!m_writeunlock) return err::killegal_operation;
ZLOGI(TAG, "write: 0x%08x, %d", add, len);
m_nowonline->write(add, (uint8_t*)&data, len);
return 0;
}
@ -161,6 +171,7 @@ int32_t EEPROMService::a8000_idcard_erase() {
int32_t EEPROMService::a8000_idcard_earse_unlock() {
ZLOGI(TAG, "a8000_idcard_earse_unlock");
m_writeunlock = true;
return 0;
}
@ -200,7 +211,7 @@ void EEPROMService::write_test_data_rom(ZI_EEPROM* rom) {
uint32_t readdata = 0;
for (uint16_t i = 0; i < 2 * 1024;) {
int32_t wlen = 4;
rom->write(i, (uint8_t*)&data, &wlen);
rom->write(i, (uint8_t*)&data, wlen);
rom->read(i, (uint8_t*)&readdata, &wlen);
ZLOGI(TAG, "off:%x w:%d,r:%d", i, data, readdata);

1
usrc/subboards/subboard100_idcard_reader/eeprom_service.hpp

@ -39,6 +39,7 @@ class EEPROMService : public ZIModule, public ZIA8000IDCardReaderModule {
*******************************************************************************/
P24C16 m_subdevice_p24c16;
M24LRXXE_I2C_EEPROM m_subdevice_m24lrxxe;
bool m_writeunlock = false;
public:
EEPROMService(){};

Loading…
Cancel
Save