BV 1-Wire: print parsed ROM ID

This commit is contained in:
King Kévin 2018-08-11 18:42:55 +02:00
parent 636cce8fdc
commit 82c0b9cb31
1 changed files with 9 additions and 1 deletions

View File

@ -354,7 +354,15 @@ static void busvoodoo_onewire_rom_search(void* argument)
if (next) {
presence = onewire_master_reset(); // send reset pulse and detect slave presence for the next slave
}
printf("0x%016X\n", code);
const char* device = "unknown";
for (uint16_t i = 0; i < LENGTH(onewire_family_codes); i++) {
if ((uint8_t)code == onewire_family_codes[i].code) {
device = onewire_family_codes[i].device;
break;
}
}
uint8_t crc_data[8] = {code, code >> 8, code >> 16, code >> 24, code >> 32, code >> 40, code >> 48, code >> 56};
printf("0x%016X: family code=0x%02x (possible device(s): %s), serial number=0x%012X, CRC=0x%02X (%s)\n", code, (uint8_t)code, device, (code >> 8) & 0xffffffffffffUL, (code >> 56) & 0xff, onewire_master_crc(crc_data, LENGTH(crc_data)) ? "ERROR" : "OK");
codes++; // remember we found a code
} while (presence && next && !user_input_available);
printf("%U ROM code(s)%s found\n", codes, alarm ? " with alarm" : "");