add more info from next fw version
This commit is contained in:
@@ -111,9 +111,11 @@ These are the predefined symbols as used above.
|
|||||||
The first level below is the `info_id` value and the second level describes the response data byte sequence.
|
The first level below is the `info_id` value and the second level describes the response data byte sequence.
|
||||||
The first byte transferred in response is always the number of data bytes to be transferred (excluding the length itself).
|
The first byte transferred in response is always the number of data bytes to be transferred (excluding the length itself).
|
||||||
* 0x00: version
|
* 0x00: version
|
||||||
* `length`: =2
|
* `length`: =5 (2 before 20220220)
|
||||||
* `version`: version number
|
* `version`: version number
|
||||||
* `features`: feature bits
|
* `features`: feature bits
|
||||||
|
* `checksum_H` `checksum_L`: checksum (since 20220220)
|
||||||
|
* `jumpers`: jumper settings
|
||||||
* 0x01: PIC ID
|
* 0x01: PIC ID
|
||||||
* `length`: =9
|
* `length`: =9
|
||||||
* 9*`mui`: PIC MUI
|
* 9*`mui`: PIC MUI
|
||||||
|
|||||||
@@ -613,8 +613,14 @@ bool Device::read(symbol_t* value, bool isAvailable, ArbitrationState* arbitrati
|
|||||||
ostringstream stream;
|
ostringstream stream;
|
||||||
switch ((m_infoLen << 8) | m_infoId) {
|
switch ((m_infoLen << 8) | m_infoId) {
|
||||||
case 0x0200:
|
case 0x0200:
|
||||||
|
case 0x0500: // with firmware version and jumper info
|
||||||
stream << "firmware " << static_cast<unsigned>(m_infoBuf[0]) << "." << std::hex
|
stream << "firmware " << static_cast<unsigned>(m_infoBuf[0]) << "." << std::hex
|
||||||
<< static_cast<unsigned>(m_infoBuf[1]);
|
<< static_cast<unsigned>(m_infoBuf[1]);
|
||||||
|
if (m_infoLen>4) {
|
||||||
|
stream << " [" << std::hex << static_cast<unsigned>(m_infoBuf[2])
|
||||||
|
<< static_cast<unsigned>(m_infoBuf[3]) << "]";
|
||||||
|
stream << ", jumpers 0x" << std::hex << static_cast<unsigned>(m_infoBuf[4]);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 0x0901:
|
case 0x0901:
|
||||||
case 0x0802:
|
case 0x0802:
|
||||||
@@ -623,6 +629,11 @@ bool Device::read(symbol_t* value, bool isAvailable, ArbitrationState* arbitrati
|
|||||||
for (uint8_t pos = 0; pos < m_infoPos; pos++) {
|
for (uint8_t pos = 0; pos < m_infoPos; pos++) {
|
||||||
stream << " " << std::setw(2) << static_cast<unsigned>(m_infoBuf[pos]);
|
stream << " " << std::setw(2) << static_cast<unsigned>(m_infoBuf[pos]);
|
||||||
}
|
}
|
||||||
|
if (m_infoId == 2 && m_infoBuf[2]!=0x3f) {
|
||||||
|
// non-default arbitration delay
|
||||||
|
val = (m_infoBuf[2]&0x3f)*10; // steps of 10us
|
||||||
|
stream << ", arbitration delay " << std::dec << static_cast<unsigned>(val) << " us";
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 0x0203:
|
case 0x0203:
|
||||||
val = (static_cast<unsigned>(m_infoBuf[0]) << 8) | static_cast<unsigned>(m_infoBuf[1]);
|
val = (static_cast<unsigned>(m_infoBuf[0]) << 8) | static_cast<unsigned>(m_infoBuf[1]);
|
||||||
|
|||||||
Reference in New Issue
Block a user