mirror of
https://github.com/meshtastic/firmware.git
synced 2025-09-20 16:56:17 +00:00
try to detect dfrobot station to tell it apart from an ublox gps. (#5393)
This commit is contained in:
parent
350a89d0e2
commit
563aeba72a
@ -314,14 +314,28 @@ void ScanI2CTwoWire::scanPort(I2CPort port, uint8_t *address, uint8_t asize)
|
|||||||
break;
|
break;
|
||||||
case INA3221_ADDR:
|
case INA3221_ADDR:
|
||||||
registerValue = getRegisterValue(ScanI2CTwoWire::RegisterLocation(addr, 0xFE), 2);
|
registerValue = getRegisterValue(ScanI2CTwoWire::RegisterLocation(addr, 0xFE), 2);
|
||||||
LOG_DEBUG("Register MFG_UID: 0x%x", registerValue);
|
LOG_DEBUG("Register MFG_UID FE: 0x%x", registerValue);
|
||||||
if (registerValue == 0x5449) {
|
if (registerValue == 0x5449) {
|
||||||
LOG_INFO("INA3221 sensor found at address 0x%x", (uint8_t)addr.address);
|
LOG_INFO("INA3221 sensor found at address 0x%x", (uint8_t)addr.address);
|
||||||
type = INA3221;
|
type = INA3221;
|
||||||
} else {
|
} else {
|
||||||
|
/* check the first 2 bytes of the 6 byte response register
|
||||||
|
LARK FW 1.0 should return:
|
||||||
|
RESPONSE_STATUS STATUS_SUCCESS (0x53)
|
||||||
|
RESPONSE_CMD CMD_GET_VERSION (0x05)
|
||||||
|
RESPONSE_LEN_L 0x02
|
||||||
|
RESPONSE_LEN_H 0x00
|
||||||
|
RESPONSE_PAYLOAD 0x01
|
||||||
|
RESPONSE_PAYLOAD+1 0x00
|
||||||
|
*/
|
||||||
|
registerValue = getRegisterValue(ScanI2CTwoWire::RegisterLocation(addr, 0x05), 2);
|
||||||
|
LOG_DEBUG("Register MFG_UID 05: 0x%x", registerValue);
|
||||||
|
if (registerValue == 0x5305) {
|
||||||
LOG_INFO("DFRobot Lark weather station found at address 0x%x", (uint8_t)addr.address);
|
LOG_INFO("DFRobot Lark weather station found at address 0x%x", (uint8_t)addr.address);
|
||||||
type = DFROBOT_LARK;
|
type = DFROBOT_LARK;
|
||||||
}
|
}
|
||||||
|
// else: probably a RAK12500/UBLOX GPS on I2C
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case MCP9808_ADDR:
|
case MCP9808_ADDR:
|
||||||
// We need to check for STK8BAXX first, since register 0x07 is new data flag for the z-axis and can produce some
|
// We need to check for STK8BAXX first, since register 0x07 is new data flag for the z-axis and can produce some
|
||||||
|
Loading…
Reference in New Issue
Block a user