|
|
@ -170,7 +170,9 @@ void ZFPGACommander::resetRxContext(int32_t cmdIndex) { |
|
|
|
m_rxReceiptContext.receiptLen = 0; |
|
|
|
} |
|
|
|
|
|
|
|
void ZFPGACommander::sendPacket(zaf_packet_header_t *packet, uint32_t len, uint32_t overtime) { |
|
|
|
shared_ptr<Receipt> ZFPGACommander::sendPacket(zaf_packet_header_t *packet, uint32_t len, uint32_t overtime) { |
|
|
|
lock_guard<recursive_mutex> lock(m_tx_lock); |
|
|
|
|
|
|
|
zaf_packet_header_t *rxpacket = (zaf_packet_header_t *)&m_rxReceiptContext.receipt[0]; |
|
|
|
|
|
|
|
resetRxContext(packet->index); |
|
|
@ -199,7 +201,9 @@ void ZFPGACommander::sendPacket(zaf_packet_header_t *packet, uint32_t len, uint3 |
|
|
|
if (rxpacket->data[0] != 0) { |
|
|
|
throw zexception(rxpacket->data[0], zaf_ecode_to_string((zaf_error_code_t)rxpacket->data[0])); |
|
|
|
} else { |
|
|
|
return; |
|
|
|
shared_ptr<Receipt> receipt; |
|
|
|
receipt.reset(new Receipt(m_rxReceiptContext.receipt, m_rxReceiptContext.receiptLen)); |
|
|
|
return receipt; |
|
|
|
} |
|
|
|
} else { |
|
|
|
} |
|
|
@ -207,9 +211,10 @@ void ZFPGACommander::sendPacket(zaf_packet_header_t *packet, uint32_t len, uint3 |
|
|
|
throw zexception(ke_overtime, "overtime"); |
|
|
|
} |
|
|
|
|
|
|
|
zaf_packet_header_t *ZFPGACommander::getReceipt() { return (zaf_packet_header_t *)&(m_rxReceiptContext.receipt[0]); } |
|
|
|
|
|
|
|
void ZFPGACommander::writeReg(uint32_t regadd, uint32_t regvalue, uint32_t ®backvalue, int32_t overtime_ms) { |
|
|
|
lock_guard<recursive_mutex> lock(m_tx_lock); |
|
|
|
|
|
|
|
|
|
|
|
Reginfo *reg = GetRegInfo(regadd); |
|
|
|
|
|
|
|
if (reg->flag & kreg_flag_force_write) { |
|
|
@ -224,6 +229,9 @@ void ZFPGACommander::writeReg(uint32_t regadd, uint32_t regvalue, uint32_t ®b |
|
|
|
return; |
|
|
|
} |
|
|
|
void ZFPGACommander::readReg(uint32_t regadd, uint32_t ®value, int32_t overtime_ms) { |
|
|
|
lock_guard<recursive_mutex> lock(m_tx_lock); |
|
|
|
|
|
|
|
|
|
|
|
Reginfo *reg = GetRegInfo(regadd); |
|
|
|
|
|
|
|
if ((reg->flag & kreg_flag_force_read)) { |
|
|
@ -239,7 +247,6 @@ void ZFPGACommander::readReg(uint32_t regadd, uint32_t ®value, int32_t overti |
|
|
|
|
|
|
|
void ZFPGACommander::_writeReg(uint32_t regadd, uint32_t regvalue, uint32_t ®backvalue, int32_t overtime_ms) { |
|
|
|
//
|
|
|
|
lock_guard<mutex> lock(m_tx_lock); |
|
|
|
|
|
|
|
uint8_t txdata[128] = {0}; |
|
|
|
|
|
|
@ -267,8 +274,6 @@ void ZFPGACommander::_writeReg(uint32_t regadd, uint32_t regvalue, uint32_t ® |
|
|
|
regbackvalue = rxpacket->data[1]; |
|
|
|
} |
|
|
|
void ZFPGACommander::_readReg(uint32_t regadd, uint32_t ®value, int32_t overtime_ms) { |
|
|
|
lock_guard<mutex> lock(m_tx_lock); |
|
|
|
|
|
|
|
uint8_t txdata[128] = {0}; |
|
|
|
|
|
|
|
zaf_packet_header_t *txpacket = (zaf_packet_header_t *)txdata; |
|
|
@ -337,7 +342,8 @@ bool ZFPGACommander::ping() { |
|
|
|
} |
|
|
|
|
|
|
|
void ZFPGACommander::callcmd(uint32_t cmd, uint32_t delayms) { |
|
|
|
lock_guard<mutex> lock(m_tx_lock); |
|
|
|
lock_guard<recursive_mutex> lock(m_tx_lock); |
|
|
|
|
|
|
|
|
|
|
|
uint8_t txdata[128] = {0}; |
|
|
|
|
|
|
|