RFCOMM_Frame_UIH = 0xEF, /**< Unnumbered Information with Header check Field */
};
- /* Type Defines: */
- typedef struct
- {
- unsigned char EA : 1;
- unsigned char CR : 1;
- unsigned char DLCI : 6;
- } RFCOMM_Address_t;
-
- typedef struct
+ enum RFCOMM_Channel_States_t
{
- RFCOMM_Address_t Address;
- uint8_t Control;
- } RFCOMM_Header_t;
+ RFCOMM_Channel_Closed = 0,
+ RFCOMM_Channel_Create = 1,
+ RFCOMM_Channel_Creating = 2,
+ RFCOMM_Channel_Configure = 3,
+ RFCOMM_Channel_Configuring = 4,
+ RFCOMM_Channel_Open = 5,
+ };
+ /* Type Defines: */
typedef struct
{
- uint8_t DLCI;
- bool Configured;
+ uint8_t DLCI;
+ uint8_t State;
+ uint8_t Priority;
+ uint16_t MTU;
+ struct
+ {
+ uint8_t Signals;
+ uint8_t BreakSignal;
+ } Remote;
+ struct
+ {
+ uint8_t Signals;
+ uint8_t BreakSignal;
+ } Local;
} RFCOMM_Channel_t;
/* External Variables: */
void RFCOMM_ProcessPacket(void* Data, Bluetooth_Channel_t* const Channel);
RFCOMM_Channel_t* RFCOMM_GetChannelData(const uint8_t DLCI);
- uint16_t RFCOMM_GetFrameDataLength(const uint8_t* const BufferPos);
+ uint16_t RFCOMM_GetVariableFieldValue(const uint8_t** BufferPos);
void RFCOMM_SendFrame(const uint8_t DLCI, const bool CommandResponse, const uint8_t Control,
const uint16_t DataLen, const void* Data, Bluetooth_Channel_t* const Channel);