I was looking at the API notes for 220.127.116.11 and saw cmd_le_connection_read_channel_map() has been added. I was a little confused about what the return value means. If a channel is marked as Used, what exactly does that mean in this context? Does it mean the AFH algorithm is avoiding that channel as per KBA BT 0406?
Additionally, what is the bit order for the output in the 5-byte return?
If you look into the BLE SPEC, you will know that BLE uses 37 data channels to communicate with peer devices. And the channel map is configurable when establishing connection. After connection is established, both device will only use the channels which are exchanged to be used in the previous connection procedure.
For example, you could call the API cmd_le_gap_set_data_channel_classification to set the channel map, by clearing the specific bit in the channel map, link layer will automatically exchange the channel map with peer device when connecting. And all the channels which are consider to be OK by both sides will be used for communication after connection.
The bit order is LSB, e.g. byte 0 represents channel 0-7, byte 1 represents to channel 8-15 etc..