This commit is contained in:
John
2023-11-11 10:30:29 +01:00
parent 15de49cab1
commit a7d6eedf30
+12 -11
View File
@@ -244,7 +244,7 @@ result_t FileDevice::sendSequence(SequenceId id, const uint8_t* data, size_t len
if (!isValid()) { if (!isValid()) {
return RESULT_ERR_DEVICE; return RESULT_ERR_DEVICE;
} }
if (m_enhancedLevel >= el_basic && id==sid_info && (m_extraFatures&0x01) != 0) { if (m_enhancedLevel >= el_basic && id == sid_info && (m_extraFatures&0x01) != 0) {
// request is supported // request is supported
} else { } else {
return RESULT_ERR_NOTFOUND; // not supported return RESULT_ERR_NOTFOUND; // not supported
@@ -259,7 +259,7 @@ result_t FileDevice::sendSequence(SequenceId id, const uint8_t* data, size_t len
m_sendBufSize = pos; m_sendBufSize = pos;
} }
pos = 0; pos = 0;
uint8_t cmd = id==sid_info ? ENH_REQ_INFO : 0; uint8_t cmd = id == sid_info ? ENH_REQ_INFO : 0;
if (cmd == 0) { if (cmd == 0) {
return RESULT_ERR_NOTFOUND; // not supported return RESULT_ERR_NOTFOUND; // not supported
} }
@@ -273,7 +273,7 @@ result_t FileDevice::sendSequence(SequenceId id, const uint8_t* data, size_t len
uint8_t val = data ? *data : 0; uint8_t val = data ? *data : 0;
m_sendBuf[pos++] = makeEnhancedByte1(cmd, val); m_sendBuf[pos++] = makeEnhancedByte1(cmd, val);
m_sendBuf[pos++] = makeEnhancedByte2(cmd, val); m_sendBuf[pos++] = makeEnhancedByte2(cmd, val);
if (id==sid_info) { if (id == sid_info) {
m_infoBuf[0] = val; m_infoBuf[0] = val;
m_infoLen = 0; m_infoLen = 0;
} }
@@ -289,15 +289,16 @@ result_t FileDevice::sendSequence(SequenceId id, const uint8_t* data, size_t len
len--; len--;
} }
// DEBUG_RAW_TRAFFIC("enhanced > %2.2x %2.2x", buf[0], buf[1]); // DEBUG_RAW_TRAFFIC("enhanced > %2.2x %2.2x", buf[0], buf[1]);
if (::write(m_fd, m_sendBuf, pos) == pos) { ssize_t sent = ::write(m_fd, m_sendBuf, pos);
if (id==sid_info) { if (sent < 0 || static_cast<unsigned>(sent) != pos) {
m_infoLen = 1; return RESULT_ERR_DEVICE;
m_infoPos = 1;
time(&m_infoReqTime);
}
return RESULT_OK;
} }
return RESULT_ERR_DEVICE; if (id == sid_info) {
m_infoLen = 1;
m_infoPos = 1;
time(&m_infoReqTime);
}
return RESULT_OK;
} }
string FileDevice::getEnhancedInfos() { string FileDevice::getEnhancedInfos() {