X-Git-Url: https://git.karo-electronics.de/?p=oswald.git;a=blobdiff_plain;f=metawatch%2Fbt_hci.c;fp=metawatch%2Fbt_hci.c;h=838aafc20aeda695b183f038bfb3d36920e1c960;hp=38ffb7fc4b20cf38c203566f3a37f38706661f16;hb=3e320aaa4175a0ed469581f1dea2eac35b390878;hpb=ac20c9d8b06609636166c7f3fa38f97561a21af6 diff --git a/metawatch/bt_hci.c b/metawatch/bt_hci.c index 38ffb7f..838aafc 100644 --- a/metawatch/bt_hci.c +++ b/metawatch/bt_hci.c @@ -435,6 +435,27 @@ void bt_hci_cmd(const uint8_t OGF, const uint8_t OCF, const uint8_t data_len, co mw_bt_uart_tx(data, data_len); } +typedef struct { + uint16_t acl_handle; + uint16_t max_interval; + uint16_t min_interval; + uint16_t sniff_attempt; + uint16_t sniff_timeout; +} __attribute__((packed)) bt_hci_sniff_cmd_t; + +void bt_hci_set_sniff_mode(const uint16_t acl_handle, const uint16_t max_interval, const uint16_t min_interval, const uint16_t sniff_attempt, const uint16_t sniff_timeout) +{ + bt_hci_sniff_cmd_t sniff_cmd; + + sniff_cmd.acl_handle = acl_handle; + sniff_cmd.max_interval = max_interval; + sniff_cmd.min_interval = min_interval; + sniff_cmd.sniff_attempt = sniff_attempt; + sniff_cmd.sniff_timeout = sniff_timeout; + + bt_hci_cmd(HCI_LINK_POLICY_OGF, HCI_SNIFF_MODE_OCF, sizeof(sniff_cmd), &sniff_cmd); +} + typedef struct { uint8_t type; uint16_t handle;