X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/67bc62510942eb83dd9c4ab323ed09d83764bf4b..55d7e1e65bccd6b4c44802cf971f39eb05e6e57a:/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.h?ds=sidebyside diff --git a/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.h b/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.h index 68f0cf1fb..7b1f45b30 100644 --- a/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.h +++ b/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.h @@ -69,24 +69,33 @@ 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: */ @@ -97,7 +106,7 @@ 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);