summaryrefslogtreecommitdiff
path: root/common/bluetooth_le.c
diff options
context:
space:
mode:
authorJack Rosenthal <jrosenth@chromium.org>2021-11-04 12:11:58 -0600
committerCommit Bot <commit-bot@chromium.org>2021-11-05 04:22:34 +0000
commit252457d4b21f46889eebad61d4c0a65331919cec (patch)
tree01856c4d31d710b20e85a74c8d7b5836e35c3b98 /common/bluetooth_le.c
parent08f5a1e6fc2c9467230444ac9b582dcf4d9f0068 (diff)
downloadchrome-ec-release-R101-14588.B-ish.tar.gz
In the interest of making long-term branch maintenance incur as little technical debt on us as possible, we should not maintain any files on the branch we are not actually using. This has the added effect of making it extremely clear when merging CLs from the main branch when changes have the possibility to affect us. The follow-on CL adds a convenience script to actually pull updates from the main branch and generate a CL for the update. BUG=b:204206272 BRANCH=ish TEST=make BOARD=arcada_ish && make BOARD=drallion_ish Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I17e4694c38219b5a0823e0a3e55a28d1348f4b18 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3262038 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Tom Hughes <tomhughes@chromium.org>
Diffstat (limited to 'common/bluetooth_le.c')
-rw-r--r--common/bluetooth_le.c198
1 files changed, 0 insertions, 198 deletions
diff --git a/common/bluetooth_le.c b/common/bluetooth_le.c
deleted file mode 100644
index 2e68893223..0000000000
--- a/common/bluetooth_le.c
+++ /dev/null
@@ -1,198 +0,0 @@
-/* Copyright 2016 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include "bluetooth_le.h"
-#include "util.h"
-#include "console.h"
-
-#define CPRINTF(format, args...) cprintf(CC_BLUETOOTH_LE, format, ## args)
-
-/*
- * Convert from BLE Channel to frequency
- *
- * Bluetooth 4.1 Vol 6 pg 36 4.1 Table 1.1
- */
-
-#define CHAN_0_MHZ 2404
-#define CHAN_11_MHZ 2428
-#define CHAN_37_MHZ 2402
-#define CHAN_38_MHZ 2426
-#define CHAN_39_MHZ 2480
-
-int chan2freq(int channel)
-{
- int freq;
-
- ASSERT(channel < 40 && channel >= 0);
-
- switch (channel) {
- case 37: /* Advertising */
- freq = CHAN_37_MHZ;
- break;
- case 38: /* Advertising */
- freq = CHAN_38_MHZ;
- break;
- case 39: /* Advertising */
- freq = CHAN_39_MHZ;
- break;
- default:
- /* Data Channels */
- if (channel < 11)
- freq = channel * 2 + CHAN_0_MHZ;
- else
- freq = (channel - 11) * 2 + CHAN_11_MHZ;
- }
- return freq;
-}
-
-/* BLE 4.1 Vol 6 2.3.3.1 */
-
-void fill_remapping_table(struct remapping_table *rt, uint8_t map[5],
- int hop_increment)
-{
- int i;
-
- rt->num_used_channels = 0;
- rt->last_unmapped_channel = 0;
- rt->hop_increment = hop_increment;
-
- for (i = 0; i < 37; i++)
- if (map[i / 8] & (1 << (i % 8)))
- rt->remapping_index[rt->num_used_channels++] = i;
- memcpy(rt->map, map, sizeof(rt->map));
-}
-
-/* BLE 4.1 Vol 6 4.5.8 */
-uint8_t get_next_data_channel(struct remapping_table *rt)
-{
- rt->last_unmapped_channel =
- (rt->last_unmapped_channel + rt->hop_increment) % 37;
-
- /* Check if the channel is mapped */
- if (rt->map[rt->last_unmapped_channel / 8] &
- (1 << (rt->last_unmapped_channel % 8)))
- return rt->last_unmapped_channel;
- else
- return rt->remapping_index
- [rt->last_unmapped_channel % rt->num_used_channels];
-}
-
-/* BLE 4.1 Vol 3 Part C 11 */
-
-/* Pack advertising structures for sending */
-uint8_t *pack_adv(uint8_t *dest, int length, int type, const uint8_t *data)
-{
- /* Add the structure length */
- dest[0] = (uint8_t)length+1;
- /* Add the structure type */
- dest[1] = (uint8_t)type;
- /* Add the data */
- memcpy(&dest[2], data, length);
-
- /* Return a pointer to the next structure */
- return &dest[2+length];
-}
-
-uint8_t *pack_adv_int(uint8_t *dest, int length, int type, int data)
-{
- /* Add the structure length */
- dest[0] = (uint8_t)length+1;
- /* Add the structure type */
- dest[1] = (uint8_t)type;
- /* Add the data */
- memcpy(&dest[2], &data, length);
-
- /* Return a pointer to the next structure */
- return &dest[2+length];
-}
-
-uint8_t *pack_adv_addr(uint8_t *dest, uint64_t addr)
-{
- memcpy(&dest[0], &addr, BLUETOOTH_ADDR_OCTETS);
-
- /* Return a pointer to the next structure */
- return &dest[BLUETOOTH_ADDR_OCTETS];
-}
-
-/* Parse advertising structures that have been received */
-const uint8_t *unpack_adv(const uint8_t *src, int *length, int *type,
- const uint8_t **data)
-{
- /* Get the structure length */
- *length = *(src++);
- /* Get the structure type */
- *type = *(src++);
- /* Get the data */
- *data = src;
-
- /* Return a pointer to the next structure */
- return src + *length;
-}
-
-static void mem_dump(uint8_t *mem, int len)
-{
- int i;
- uint8_t value;
-
- for (i = 0; i < len; i++) {
- value = mem[i];
- if (i % 8 == 0)
- CPRINTF("\n%pP: %02x", &mem[i], value);
- else
- CPRINTF(" %02x", value);
- }
- CPRINTF("\n");
-}
-
-void dump_ble_addr(uint8_t *mem, char *name)
-{
- int i;
-
- for (i = 5; i > 0; i--)
- CPRINTF("%02x.", mem[i]);
- CPRINTF("%02x %s\n", mem[0], name);
-}
-
-void dump_ble_packet(struct ble_pdu *ble_p)
-{
- int curr_offs;
-
- if (ble_p->header_type_adv) {
- CPRINTF("BLE packet @ %pP: type %d, len %d, %s %s\n",
- ble_p, ble_p->header.adv.type, ble_p->header.adv.length,
- (ble_p->header.adv.txaddr ? " TXADDR" : ""),
- (ble_p->header.adv.rxaddr ? " RXADDR" : ""));
-
- curr_offs = 0;
-
- if (ble_p->header.adv.type ==
- BLE_ADV_HEADER_PDU_TYPE_SCAN_REQ) {
- dump_ble_addr(ble_p->payload, "ScanA");
- curr_offs += BLUETOOTH_ADDR_OCTETS;
- } else if (ble_p->header.adv.type ==
- BLE_ADV_HEADER_PDU_TYPE_CONNECT_REQ) {
- dump_ble_addr(ble_p->payload, "InitA");
- curr_offs += BLUETOOTH_ADDR_OCTETS;
- }
- /* All packets have AdvA */
- dump_ble_addr(ble_p->payload + curr_offs, "AdvA");
- curr_offs += BLUETOOTH_ADDR_OCTETS;
-
- if (ble_p->header.adv.type ==
- BLE_ADV_HEADER_PDU_TYPE_ADV_DIRECT_IND)
- dump_ble_addr(ble_p->payload + curr_offs, "InitA");
- else
- mem_dump(ble_p->payload + curr_offs,
- ble_p->header.adv.length - curr_offs);
- } else { /* Data PDUs */
- CPRINTF("BLE data packet @%pP: LLID %d,"
- " nesn %d, sn %d, md %d, length %d\n",
- ble_p, ble_p->header.data.llid, ble_p->header.data.nesn,
- ble_p->header.data.sn, ble_p->header.data.md,
- ble_p->header.data.length);
- mem_dump(ble_p->payload, ble_p->header.data.length);
- }
-}
-