Shearwater Petrel: make the hardware ID decoding a bit easier to read
Dirk seems to have some documentation about the different ID's, plus it just makes sense to order the switch statement by number. This is partly based on Dirk's original commit to do the different model numbers, with various changes over time due to merge conflict resolution. Dirk's sign-off comes from Dirks commit in the original subsurface branch. Signed-off-by: Dirk Hohndel <dirk@hohndel.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
2d3b25cf8e
commit
0ae143e27f
@ -212,25 +212,37 @@ shearwater_petrel_device_foreach (dc_device_t *abstract, dc_dive_callback_t call
|
||||
unsigned int hardware = array_uint_be (dc_buffer_get_data (buffer), dc_buffer_get_size (buffer));
|
||||
unsigned int model = 0;
|
||||
switch (hardware) {
|
||||
case 0x0808: // Petrel 2
|
||||
case 0x0909: // Petrel 1
|
||||
case 0x0B0B: // Petrel 1 (newer hardware)
|
||||
model = PETREL;
|
||||
case 0x0101:
|
||||
case 0x0202:
|
||||
model = PREDATOR;
|
||||
break;
|
||||
case 0x0606:
|
||||
case 0x0A0A: // Nerd 1
|
||||
model = NERD;
|
||||
break;
|
||||
case 0x0E0D: // Nerd 2
|
||||
model = NERD2;
|
||||
break;
|
||||
case 0x0707:
|
||||
case 0x0404:
|
||||
case 0x0909: // Petrel 1
|
||||
case 0x0B0B: // Petrel 1 (newer hardware)
|
||||
model = PETREL;
|
||||
break;
|
||||
case 0x0505:
|
||||
case 0x0808: // Petrel 2
|
||||
model = PETREL;
|
||||
break;
|
||||
case 0x0707: // documentation list 0C0D for both Perdix and Perdix AI :-(
|
||||
model = PERDIX;
|
||||
break;
|
||||
case 0x0C0C:
|
||||
case 0x0C0D:
|
||||
case 0x0D0D:
|
||||
model = PERDIXAI;
|
||||
break;
|
||||
default:
|
||||
WARNING (abstract->context, "Unknown hardware type %04x.", hardware);
|
||||
model = PETREL;
|
||||
WARNING (abstract->context, "Unknown hardware type %04x. Assuming Petrel.", hardware);
|
||||
}
|
||||
|
||||
// Emit a device info event.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user