monitor: Fix LE Set Extended Advertising Parameters TX power decoding
authorSzymon Janc <szymon.janc@codecoup.pl>
Tue, 26 Feb 2019 12:55:07 +0000 (13:55 +0100)
committerhimanshu <h.himanshu@samsung.com>
Tue, 11 Feb 2020 08:57:47 +0000 (14:27 +0530)
TX power of 127 has special meaning for this command.

Change-Id: I4b8a5c742d84008f0306f700d93d18bad4b4a989
Signed-off-by: himanshu <h.himanshu@samsung.com>
monitor/packet.c

index f519311..5b41241 100755 (executable)
@@ -1149,7 +1149,7 @@ static void print_power_level(int8_t level, const char *type)
 {
        print_field("TX power%s%s%s: %d dbm (0x%2.2x)",
                type ? " (" : "", type ? type : "", type ? ")" : "",
-                                                               level, level);
+                                                       level, (uint8_t) level);
 }
 
 static void print_host_flow_control(uint8_t enable)
@@ -7111,7 +7111,10 @@ static void le_set_ext_adv_params_cmd(const void *data, uint8_t size)
        print_peer_addr_type("Peer address type", cmd->peer_addr_type);
        print_addr("Peer address", cmd->peer_addr, cmd->peer_addr_type);
        print_adv_filter_policy("Filter policy", cmd->filter_policy);
-       print_power_level(cmd->tx_power, NULL);
+       if (cmd->tx_power == 0xff)
+               print_field("TX power: Host has no preference (0xff)");
+       else
+               print_power_level(cmd->tx_power, NULL);
 
        switch (cmd->primary_phy) {
        case 0x01: