Add a new RFCOMM service callback for when new data has been received on a valid RFCOMM channel.
This commit is contained in:
		
							parent
							
								
									70983caea5
								
							
						
					
					
						commit
						c37fd0ef91
					
				
					 3 changed files with 18 additions and 5 deletions
				
			
		|  | @ -154,3 +154,16 @@ void Bluetooth_PacketReceived(void* Data, uint16_t DataLen, Bluetooth_Channel_t* | |||
| 			break; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| /** RFCOMM layer callback for when a packet is received on an open RFCOMM channel.
 | ||||
|  * | ||||
|  *  \param[in] RFCOMMChannel  RFCOMM channel that the data was directed to | ||||
|  *  \param[in] DataLen        Length of the received data, in bytes | ||||
|  *  \param[in] Data           Pointer to a buffer where the received data is stored | ||||
|  */ | ||||
| void RFCOMM_DataReceived(RFCOMM_Channel_t* const RFCOMMChannel, uint16_t DataLen, const uint8_t* Data) | ||||
| { | ||||
| 	/* Write the received bytes to the serial port */ | ||||
| 	for (uint8_t i = 0; i < DataLen; i++) | ||||
| 	  putchar(Data[i]); | ||||
| } | ||||
|  |  | |||
|  | @ -352,11 +352,9 @@ static void RFCOMM_ProcessUIH(const RFCOMM_Address_t* const FrameAddress, const | |||
| 	BT_RFCOMM_DEBUG(1, "<< UIH Received"); | ||||
| 	BT_RFCOMM_DEBUG(2, "-- DLCI 0x%02X", FrameAddress->DLCI); | ||||
| 	BT_RFCOMM_DEBUG(2, "-- Length 0x%02X", FrameLength); | ||||
| 		 | ||||
| 	puts("RFCOMM Data: "); | ||||
| 	 | ||||
| 	for (uint8_t i = 0; i < FrameLength; i++) | ||||
| 	  printf("0x%02X (%c) ", FrameData[i], FrameData[i]); | ||||
| 	RFCOMM_Channel_t* RFCOMMChannel = RFCOMM_GetChannelData(FrameAddress->DLCI); | ||||
| 	 | ||||
| 	printf("\r\n"); | ||||
| 	if (RFCOMMChannel != NULL) | ||||
| 	  RFCOMM_DataReceived(RFCOMMChannel, FrameLength, FrameData); | ||||
| } | ||||
|  |  | |||
|  | @ -107,6 +107,8 @@ | |||
| 		void              RFCOMM_SendChannelSignals(const RFCOMM_Channel_t* const RFCOMMChannel, | ||||
| 		                                            Bluetooth_Channel_t* const BluetoothChannel); | ||||
| 
 | ||||
| 		void              RFCOMM_DataReceived(RFCOMM_Channel_t* const RFCOMMChannel, uint16_t DataLen, const uint8_t* Data); | ||||
| 
 | ||||
| 		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); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dean Camera
						Dean Camera