\r
/* Includes: */\r
#include <avr/io.h>\r
+ #include <avr/pgmspace.h>\r
#include <string.h>\r
#include <stdbool.h>\r
#include <stdio.h>\r
/* Macros: */\r
#define BT_RFCOMM_DEBUG(l, s, ...) do { if (RFCOMM_DEBUG_LEVEL >= l) printf_P(PSTR("(RFCOMM) " s "\r\n"), ##__VA_ARGS__); } while (0)\r
#define RFCOMM_DEBUG_LEVEL 2\r
+ \r
+ #define FRAME_POLL_FINAL (1 << 5)\r
+ \r
+ /* Enums: */\r
+ enum RFCOMM_Frame_Types_t\r
+ {\r
+ RFCOMM_Frame_SABM = 0x2F, /**< Set Asynchronous Balance Mode Field */\r
+ RFCOMM_Frame_UA = 0x63, /**< Unnumbered Acknowledgement Field */\r
+ RFCOMM_Frame_DM = 0x0F, /**< Disconnected Mode Field */\r
+ RFCOMM_Frame_DISC = 0x43, /**< Disconnect Field */\r
+ RFCOMM_Frame_UIH = 0xEF, /**< Unnumbered Information with Header check Field */\r
+ };\r
+ \r
+ /* Type Defines: */\r
+ typedef struct\r
+ {\r
+ struct\r
+ {\r
+ unsigned char LogicalChannel : 6;\r
+ unsigned char CommandResponse : 1;\r
+ unsigned char LastAddressOctet : 1;\r
+ } Header;\r
+ \r
+ uint8_t FrameType;\r
+ } RFCOMM_Header_t;\r
\r
/* Function Prototypes: */\r
+ void RFCOMM_Initialize(void);\r
void RFCOMM_ProcessPacket(void* Data, Bluetooth_Channel_t* const Channel);\r
\r
+ #if defined(INCLUDE_FROM_RFCOMM_C)\r
+ static uint16_t RFCOMM_GetFrameDataLength(void** BufferPos);\r
+ #endif\r
+ \r
#endif\r