#include "BluetoothClassCodes.h"\r
\r
/* Macros: */\r
- #define BT_HCI_DEBUG(l, s, ...) do { if (HCI_DEBUG_LEVEL >= l) printf_P(PSTR("(HCI) " s "\r\n"), __VA_ARGS__); } while (0)\r
+ #define BT_HCI_DEBUG(l, s, ...) do { if (HCI_DEBUG_LEVEL >= l) printf_P(PSTR("(HCI) " s "\r\n"), ##__VA_ARGS__); } while (0)\r
#define HCI_DEBUG_LEVEL 0\r
\r
- #define OGF_LINK_CONTROL 0x01\r
- #define OGF_CTRLR_BASEBAND 0x03\r
- #define OGF_CTRLR_INFORMATIONAL 0x04\r
+ #define OGF_LINK_CONTROL (0x01 << 10)\r
+ #define OGF_CTRLR_BASEBAND (0x03 << 10)\r
+ #define OGF_CTRLR_INFORMATIONAL (0x04 << 10)\r
\r
#define OCF_LINK_CONTROL_INQUIRY 0x0001\r
#define OCF_LINK_CONTROL_INQUIRY_CANCEL 0x0002\r
#define OCF_CTRLR_BASEBAND_WRITE_CLASS_OF_DEVICE 0x0024\r
#define OCF_CTRLR_BASEBAND_WRITE_SIMPLE_PAIRING_MODE 0x0056\r
#define OCF_CTRLR_BASEBAND_WRITE_AUTHENTICATION_ENABLE 0x0020\r
- #define OGF_CTRLR_INFORMATIONAL_READBUFFERSIZE 0x0005\r
+ #define OCF_CTRLR_INFORMATIONAL_READBUFFERSIZE 0x0005\r
+ #define OCF_CTRLR_INFORMATIONAL_READBDADDR 0x0009\r
\r
#define EVENT_COMMAND_STATUS 0x0F\r
#define EVENT_COMMAND_COMPLETE 0x0E\r
/* Type Defines: */\r
typedef struct\r
{\r
- struct\r
- {\r
- int OCF : 10;\r
- int OGF : 6;\r
- } OpCode;\r
-\r
+ uint16_t OpCode;\r
uint8_t ParameterLength;\r
uint8_t Parameters[];\r
} BT_HCICommand_Header_t;\r
\r
typedef struct\r
{\r
- uint8_t Status;\r
- uint8_t Packets;\r
-\r
- struct\r
- {\r
- int OCF : 10;\r
- int OGF : 6;\r
- } OpCode;\r
+ uint8_t Status;\r
+ uint8_t Packets;\r
+ uint16_t OpCode;\r
} BT_HCIEvent_CommandStatus_t;\r
\r
typedef struct\r
{\r
- uint8_t HCLPacketsAllowable;\r
+ uint8_t HCIPacketsAllowable;\r
uint16_t Opcode;\r
uint8_t ReturnParams[];\r
} BT_HCIEvent_CommandComplete_t;\r
Bluetooth_ProcessEvents = 0,\r
Bluetooth_Init = 1,\r
Bluetooth_Init_Reset = 2,\r
- Bluetooth_Init_SetLocalName = 3,\r
- Bluetooth_Init_SetDeviceClass = 4,\r
- Bluetooth_Init_WriteScanEnable = 5,\r
- Bluetooth_Conn_AcceptConnection = 6,\r
- Bluetooth_Conn_RejectConnection = 7,\r
- Bluetooth_Conn_SendPINCode = 8,\r
- Bluetooth_Conn_SendLinkKeyNAK = 9,\r
+ Bluetooth_Init_ReadBufferSize = 3,\r
+ Bluetooth_Init_GetBDADDR = 4,\r
+ Bluetooth_Init_SetLocalName = 5,\r
+ Bluetooth_Init_SetDeviceClass = 6,\r
+ Bluetooth_Init_WriteScanEnable = 7,\r
+ Bluetooth_Init_FinalizeInit = 8,\r
+ Bluetooth_Conn_AcceptConnection = 9,\r
+ Bluetooth_Conn_RejectConnection = 10,\r
+ Bluetooth_Conn_SendPINCode = 11,\r
+ Bluetooth_Conn_SendLinkKeyNAK = 12,\r
};\r
\r
- /* External Variables: */\r
- extern uint8_t Bluetooth_HCIProcessingState;\r
-\r
/* Function Prototypes: */\r
void Bluetooth_HCITask(void);\r
\r