X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/c37fd0ef91c58003eab6f3a5461d970ea1a22602..1191da7b7b10c9d90ebe7c22d698d560f35cbc4a:/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.h?ds=inline diff --git a/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.h b/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.h index d23d63501..88b0c7fc4 100644 --- a/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.h +++ b/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.h @@ -1,21 +1,21 @@ /* LUFA Library - Copyright (C) Dean Camera, 2010. - + Copyright (C) Dean Camera, 2011. + dean [at] fourwalledcubicle [dot] com - www.fourwalledcubicle.com + www.lufa-lib.org */ /* - Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com) - Permission to use, copy, modify, distribute, and sell this + Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in + without fee, provided that the above copyright notice appear in all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of the author not be used in + advertising or publicity pertaining to distribution of the software without specific, written prior permission. The author disclaim all warranties with regard to this @@ -44,17 +44,17 @@ #include #include - #include + #include #include "BluetoothStack.h" #include "RFCOMMControl.h" - + /* Macros: */ #define BT_RFCOMM_DEBUG(l, s, ...) do { if (RFCOMM_DEBUG_LEVEL >= l) printf_P(PSTR("(RFCOMM) " s "\r\n"), ##__VA_ARGS__); } while (0) #define RFCOMM_DEBUG_LEVEL 0 - + #define FRAME_POLL_FINAL (1 << 4) - + #define RFCOMM_CONTROL_DLCI 0 #define RFCOMM_MAX_OPEN_CHANNELS 5 @@ -68,14 +68,14 @@ RFCOMM_Frame_UA = 0x63, /**< Unnumbered Acknowledgement Field */ RFCOMM_Frame_UIH = 0xEF, /**< Unnumbered Information with Header check Field */ }; - + enum RFCOMM_Channel_States_t { RFCOMM_Channel_Closed = 0, RFCOMM_Channel_Configure = 1, RFCOMM_Channel_Open = 2, }; - + /* Type Defines: */ typedef struct { @@ -95,35 +95,56 @@ uint8_t BreakSignal; } Local; } RFCOMM_Channel_t; - + /* External Variables: */ extern RFCOMM_Channel_t RFCOMM_Channels[RFCOMM_MAX_OPEN_CHANNELS]; /* Function Prototypes: */ void RFCOMM_Initialize(void); - void RFCOMM_ServiceChannels(Bluetooth_Channel_t* const Channel); - void RFCOMM_ProcessPacket(void* Data, Bluetooth_Channel_t* const BluetoothChannel); - + void RFCOMM_ServiceChannels(Bluetooth_Channel_t* const ACLChannel); + void RFCOMM_ProcessPacket(void* Data, + Bluetooth_Channel_t* const ACLChannel); + void RFCOMM_SendChannelSignals(const RFCOMM_Channel_t* const RFCOMMChannel, - Bluetooth_Channel_t* const BluetoothChannel); + Bluetooth_Channel_t* const ACLChannel); + void RFCOMM_SendData(const uint16_t DataLen, + const uint8_t* Data, + const RFCOMM_Channel_t* const RFCOMMChannel, + Bluetooth_Channel_t* const ACLChannel); - void RFCOMM_DataReceived(RFCOMM_Channel_t* const RFCOMMChannel, uint16_t DataLen, const uint8_t* Data); + void RFCOMM_ChannelOpened(RFCOMM_Channel_t* const RFCOMMChannel); + void RFCOMM_DataReceived(RFCOMM_Channel_t* const RFCOMMChannel, + uint16_t DataLen, + const uint8_t* Data); + void RFCOMM_ChannelSignalsReceived(RFCOMM_Channel_t* const RFCOMMChannel); RFCOMM_Channel_t* RFCOMM_GetFreeChannelEntry(const uint8_t DLCI); RFCOMM_Channel_t* RFCOMM_GetChannelData(const uint8_t DLCI); 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); + 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 ACLChannel); #if defined(INCLUDE_FROM_RFCOMM_C) - static uint8_t RFCOMM_GetFCSValue(const void* FrameStart, uint8_t Length); - - static void RFCOMM_ProcessDM(const RFCOMM_Address_t* const FrameAddress, Bluetooth_Channel_t* const Channel); - static void RFCOMM_ProcessDISC(const RFCOMM_Address_t* const FrameAddress, Bluetooth_Channel_t* const Channel); - static void RFCOMM_ProcessSABM(const RFCOMM_Address_t* const FrameAddress, Bluetooth_Channel_t* const Channel); - static void RFCOMM_ProcessUA(const RFCOMM_Address_t* const FrameAddress, Bluetooth_Channel_t* const Channel); - static void RFCOMM_ProcessUIH(const RFCOMM_Address_t* const FrameAddress, const uint16_t FrameLength, - const uint8_t* FrameData, Bluetooth_Channel_t* const Channel); + static uint8_t RFCOMM_GetFCSValue(const void* FrameStart, + uint8_t Length); + + static void RFCOMM_ProcessDM(const RFCOMM_Address_t* const FrameAddress, + Bluetooth_Channel_t* const ACLChannel); + static void RFCOMM_ProcessDISC(const RFCOMM_Address_t* const FrameAddress, + Bluetooth_Channel_t* const ACLChannel); + static void RFCOMM_ProcessSABM(const RFCOMM_Address_t* const FrameAddress, + Bluetooth_Channel_t* const ACLChannel); + static void RFCOMM_ProcessUA(const RFCOMM_Address_t* const FrameAddress, + Bluetooth_Channel_t* const ACLChannel); + static void RFCOMM_ProcessUIH(const RFCOMM_Address_t* const FrameAddress, + const uint16_t FrameLength, + const uint8_t* FrameData, + Bluetooth_Channel_t* const ACLChannel); #endif - + #endif +