Message ID | 20200804155404.1086789-1-mike@mnmoran.org (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [BlueZ,v3] mesh: Add strings for SIG Model IDs | expand |
Applied with following whitespace style guide fixes: 80 charactor violations at: tools/mesh/cfgcli.c:267 tools/mesh/remote.c:298 incorrect TAB in sig_model_string() prototype tools/mesh/util.c:142 tools/mesh/util.h:30 On Tue, 2020-08-04 at 11:54 -0400, Michael N. Moran wrote: > --- > tools/mesh/cfgcli.c | 3 ++- > tools/mesh/remote.c | 5 ++-- > tools/mesh/util.c | 64 +++++++++++++++++++++++++++++++++++++++++++++ > tools/mesh/util.h | 1 + > 4 files changed, 70 insertions(+), 3 deletions(-) > > diff --git a/tools/mesh/cfgcli.c b/tools/mesh/cfgcli.c > index e36c8dca5..351f40ad0 100644 > --- a/tools/mesh/cfgcli.c > +++ b/tools/mesh/cfgcli.c > @@ -263,7 +263,8 @@ static uint32_t print_mod_id(uint8_t *data, bool vendor, const char *offset) > > if (!vendor) { > mod_id = get_le16(data); > - bt_shell_printf("%sModel ID\t%4.4x\n", offset, mod_id); > + bt_shell_printf("%sModel ID\t%4.4x \"%s\"\n", > + offset, mod_id, sig_model_string(mod_id)); > mod_id = VENDOR_ID_MASK | mod_id; > } else { > mod_id = get_le16(data + 2); > diff --git a/tools/mesh/remote.c b/tools/mesh/remote.c > index c74f0bec1..206885c07 100644 > --- a/tools/mesh/remote.c > +++ b/tools/mesh/remote.c > @@ -30,6 +30,7 @@ > #include "tools/mesh/keys.h" > #include "tools/mesh/mesh-db.h" > #include "tools/mesh/remote.h" > +#include "tools/mesh/util.h" > > #define abs_diff(a, b) ((a) > (b) ? (a) - (b) : (b) - (a)) > > @@ -293,8 +294,8 @@ static void print_model(void *model, void *user_data) > > if (mod_id >= VENDOR_ID_MASK) { > mod_id &= ~VENDOR_ID_MASK; > - bt_shell_printf("\t\t\t" COLOR_GREEN "SIG model: %4.4x\n" > - COLOR_OFF, mod_id); > + bt_shell_printf("\t\t\t" COLOR_GREEN "SIG model: %4.4x \"%s\"\n" > + COLOR_OFF, mod_id, sig_model_string(mod_id)); > return; > } > > diff --git a/tools/mesh/util.c b/tools/mesh/util.c > index 7176cc562..82e4c9ad2 100644 > --- a/tools/mesh/util.c > +++ b/tools/mesh/util.c > @@ -138,3 +138,67 @@ void swap_u256_bytes(uint8_t *u256) > u256[i] ^= u256[31 - i]; > } > } > + > +const char *sig_model_string(uint16_t sig_model_id) > +{ > + switch (sig_model_id) { > + case 0x0000: return "Configuration Server"; > + case 0x0001: return "Configuration Client"; > + case 0x0002: return "Health Server"; > + case 0x0003: return "Health Client"; > + case 0x1000: return "Generic OnOff Server"; > + case 0x1001: return "Generic OnOff Client"; > + case 0x1002: return "Generic Level Server"; > + case 0x1003: return "Generic Level Client"; > + case 0x1004: return "Generic Default Transition Time Server"; > + case 0x1005: return "Generic Default Transition Time Client"; > + case 0x1006: return "Generic Power OnOff Server"; > + case 0x1007: return "Generic Power OnOff Setup Server"; > + case 0x1008: return "Generic Power OnOff Client"; > + case 0x1009: return "Generic Power Level Server"; > + case 0x100A: return "Generic Power Level Setup Server"; > + case 0x100B: return "Generic Power Level Client"; > + case 0x100C: return "Generic Battery Server"; > + case 0x100D: return "Generic Battery Client"; > + case 0x100E: return "Generic Location Server"; > + case 0x100F: return "Generic Location Setup Server"; > + case 0x1010: return "Generic Location Client"; > + case 0x1011: return "Generic Admin Property Server"; > + case 0x1012: return "Generic Manufacturer Property Server"; > + case 0x1013: return "Generic User Property Server"; > + case 0x1014: return "Generic Client Property Server"; > + case 0x1015: return "Generic Property Client"; > + case 0x1100: return "Sensor Server"; > + case 0x1101: return "Sensor Setup Server"; > + case 0x1102: return "Sensor Client"; > + case 0x1200: return "Time Server"; > + case 0x1201: return "Time Setup Server"; > + case 0x1202: return "Time Client"; > + case 0x1203: return "Scene Server"; > + case 0x1204: return "Scene Setup Server"; > + case 0x1205: return "Scene Client"; > + case 0x1206: return "Scheduler Server"; > + case 0x1207: return "Scheduler Setup Server"; > + case 0x1208: return "Scheduler Client"; > + case 0x1300: return "Light Lightness Server"; > + case 0x1301: return "Light Lightness Setup Server"; > + case 0x1302: return "Light Lightness Client"; > + case 0x1303: return "Light CTL Server"; > + case 0x1304: return "Light CTL Setup Server"; > + case 0x1305: return "Light CTL Client"; > + case 0x1306: return "Light CTL Temperature Server"; > + case 0x1307: return "Light HSL Server"; > + case 0x1308: return "Light HSL Setup Server"; > + case 0x1309: return "Light HSL Client"; > + case 0x130A: return "Light HSL Hue Server"; > + case 0x130B: return "Light HSL Saturation Server"; > + case 0x130C: return "Light xyL Server"; > + case 0x130D: return "Light xyL Setup Server"; > + case 0x130E: return "Light xyL Client"; > + case 0x130F: return "Light LC Server"; > + case 0x1310: return "Light LC Setup Server"; > + case 0x1311: return "Light LC Client"; > + > + default: return "Unknown"; > + } > +} > diff --git a/tools/mesh/util.h b/tools/mesh/util.h > index cca07cf96..2b9b926b1 100644 > --- a/tools/mesh/util.h > +++ b/tools/mesh/util.h > @@ -27,3 +27,4 @@ uint16_t mesh_opcode_set(uint32_t opcode, uint8_t *buf); > bool mesh_opcode_get(const uint8_t *buf, uint16_t sz, uint32_t *opcode, int *n); > const char *mesh_status_str(uint8_t status); > void swap_u256_bytes(uint8_t *u256); > +const char *sig_model_string(uint16_t sig_model_id);
diff --git a/tools/mesh/cfgcli.c b/tools/mesh/cfgcli.c index e36c8dca5..351f40ad0 100644 --- a/tools/mesh/cfgcli.c +++ b/tools/mesh/cfgcli.c @@ -263,7 +263,8 @@ static uint32_t print_mod_id(uint8_t *data, bool vendor, const char *offset) if (!vendor) { mod_id = get_le16(data); - bt_shell_printf("%sModel ID\t%4.4x\n", offset, mod_id); + bt_shell_printf("%sModel ID\t%4.4x \"%s\"\n", + offset, mod_id, sig_model_string(mod_id)); mod_id = VENDOR_ID_MASK | mod_id; } else { mod_id = get_le16(data + 2); diff --git a/tools/mesh/remote.c b/tools/mesh/remote.c index c74f0bec1..206885c07 100644 --- a/tools/mesh/remote.c +++ b/tools/mesh/remote.c @@ -30,6 +30,7 @@ #include "tools/mesh/keys.h" #include "tools/mesh/mesh-db.h" #include "tools/mesh/remote.h" +#include "tools/mesh/util.h" #define abs_diff(a, b) ((a) > (b) ? (a) - (b) : (b) - (a)) @@ -293,8 +294,8 @@ static void print_model(void *model, void *user_data) if (mod_id >= VENDOR_ID_MASK) { mod_id &= ~VENDOR_ID_MASK; - bt_shell_printf("\t\t\t" COLOR_GREEN "SIG model: %4.4x\n" - COLOR_OFF, mod_id); + bt_shell_printf("\t\t\t" COLOR_GREEN "SIG model: %4.4x \"%s\"\n" + COLOR_OFF, mod_id, sig_model_string(mod_id)); return; } diff --git a/tools/mesh/util.c b/tools/mesh/util.c index 7176cc562..82e4c9ad2 100644 --- a/tools/mesh/util.c +++ b/tools/mesh/util.c @@ -138,3 +138,67 @@ void swap_u256_bytes(uint8_t *u256) u256[i] ^= u256[31 - i]; } } + +const char *sig_model_string(uint16_t sig_model_id) +{ + switch (sig_model_id) { + case 0x0000: return "Configuration Server"; + case 0x0001: return "Configuration Client"; + case 0x0002: return "Health Server"; + case 0x0003: return "Health Client"; + case 0x1000: return "Generic OnOff Server"; + case 0x1001: return "Generic OnOff Client"; + case 0x1002: return "Generic Level Server"; + case 0x1003: return "Generic Level Client"; + case 0x1004: return "Generic Default Transition Time Server"; + case 0x1005: return "Generic Default Transition Time Client"; + case 0x1006: return "Generic Power OnOff Server"; + case 0x1007: return "Generic Power OnOff Setup Server"; + case 0x1008: return "Generic Power OnOff Client"; + case 0x1009: return "Generic Power Level Server"; + case 0x100A: return "Generic Power Level Setup Server"; + case 0x100B: return "Generic Power Level Client"; + case 0x100C: return "Generic Battery Server"; + case 0x100D: return "Generic Battery Client"; + case 0x100E: return "Generic Location Server"; + case 0x100F: return "Generic Location Setup Server"; + case 0x1010: return "Generic Location Client"; + case 0x1011: return "Generic Admin Property Server"; + case 0x1012: return "Generic Manufacturer Property Server"; + case 0x1013: return "Generic User Property Server"; + case 0x1014: return "Generic Client Property Server"; + case 0x1015: return "Generic Property Client"; + case 0x1100: return "Sensor Server"; + case 0x1101: return "Sensor Setup Server"; + case 0x1102: return "Sensor Client"; + case 0x1200: return "Time Server"; + case 0x1201: return "Time Setup Server"; + case 0x1202: return "Time Client"; + case 0x1203: return "Scene Server"; + case 0x1204: return "Scene Setup Server"; + case 0x1205: return "Scene Client"; + case 0x1206: return "Scheduler Server"; + case 0x1207: return "Scheduler Setup Server"; + case 0x1208: return "Scheduler Client"; + case 0x1300: return "Light Lightness Server"; + case 0x1301: return "Light Lightness Setup Server"; + case 0x1302: return "Light Lightness Client"; + case 0x1303: return "Light CTL Server"; + case 0x1304: return "Light CTL Setup Server"; + case 0x1305: return "Light CTL Client"; + case 0x1306: return "Light CTL Temperature Server"; + case 0x1307: return "Light HSL Server"; + case 0x1308: return "Light HSL Setup Server"; + case 0x1309: return "Light HSL Client"; + case 0x130A: return "Light HSL Hue Server"; + case 0x130B: return "Light HSL Saturation Server"; + case 0x130C: return "Light xyL Server"; + case 0x130D: return "Light xyL Setup Server"; + case 0x130E: return "Light xyL Client"; + case 0x130F: return "Light LC Server"; + case 0x1310: return "Light LC Setup Server"; + case 0x1311: return "Light LC Client"; + + default: return "Unknown"; + } +} diff --git a/tools/mesh/util.h b/tools/mesh/util.h index cca07cf96..2b9b926b1 100644 --- a/tools/mesh/util.h +++ b/tools/mesh/util.h @@ -27,3 +27,4 @@ uint16_t mesh_opcode_set(uint32_t opcode, uint8_t *buf); bool mesh_opcode_get(const uint8_t *buf, uint16_t sz, uint32_t *opcode, int *n); const char *mesh_status_str(uint8_t status); void swap_u256_bytes(uint8_t *u256); +const char *sig_model_string(uint16_t sig_model_id);