add returning board id to public

This commit is contained in:
2022-10-20 10:48:08 +02:00
parent 08efcebd82
commit 19ff672938
3 changed files with 11 additions and 7 deletions

View File

@ -243,13 +243,13 @@ PRIVATE VOID vTask( PVOID arg )
if( u8Register >= VARH_eNumberOfVariables ){ // check register
// send register not found
au8Buffer[0] = 0xFF;
CAND_boSendMessage( stMessage.u16Id, au8Buffer, 1 );
CAND_boSendMessage( au8Buffer, 1, stMessage.boIsPrivate, stMessage.u8Type );
} else {
VARH_UVariable uVariable = VARH_uGetVariableData(u8Register); // get data
au8Buffer[0] = u8Register;
UTIL_vMemCopy(&uVariable, &au8Buffer[1], 4); // copy data in buffer
CAND_boSendMessage( stMessage.u16Id, au8Buffer, 5 );
CAND_boSendMessage( au8Buffer, 5, stMessage.boIsPrivate, stMessage.u8Type );
}
} else if( u8Type == MESSAGE_TYPE_WRITE ){ // Message type writeset

View File

@ -185,13 +185,17 @@ U8 CAND_u8GetBoardId( VOID ){
// PU8 Data Buffer
// Returns: Boolean, TRUE if successful
//-------------------------------------------------------------------------------------------------
BOOL CAND_boSendMessage( U16 u16Id, PU8 pu8Buffer, U8 u8Len ){
BOOL CAND_boSendMessage( PU8 pu8Buffer, U8 u8Len, BOOL boIsPrivate, U8 u8Type ){
BOOL boOK = TRUE;
U16 u16Id = 0x000;
if( u8Len > 8 ) return FALSE;
u16Id = (CAND_SHIFT<<9)|(boIsPrivate<<8)|(CAND_SEND<<6)|(u8Type<<4)|(U16)u8BoardId;
CAN_TxHeaderTypeDef header = {
u16Id | (CAND_SEND<<6),
u16Id,
0,
CAN_ID_STD,
CAN_RTR_DATA,
@ -238,7 +242,7 @@ void HAL_CAN_RxFifo0MsgPendingCallback( CAN_HandleTypeDef *hcan ){
CAND_Message stMessage;
stMessage.u16Id = header.StdId;
stMessage.boIsPrivate = (header.StdId & 0x100) >> 8;
stMessage.u8Type = (header.StdId & 0x030) >> 4;
stMessage.u8Len = header.DLC;
UTIL_vMemCopy( au8Data,stMessage.au8Data,stMessage.u8Len );

View File

@ -67,7 +67,7 @@ typedef struct {
U8 au8Data[8];
U8 u8Len;
U8 u8Type;
U16 u16Id;
BOOL boIsPrivate;
} CAND_Message;
// callback functions
@ -92,7 +92,7 @@ typedef VOID (*CAND_pfnRxCallback)( CAND_Message stMessage );
//=================================================================================================
BOOL CAND_boInitializeModule( VOID );
BOOL CAND_boSendMessage( U16 u16Id, PU8 pu8Buffer, U8 u8Len );
BOOL CAND_boSendMessage( PU8 pu8Buffer, U8 u8Len, BOOL boIsPrivate, U8 u8Type );
VOID CAND_vSetRxCallback( CAND_pfnRxCallback pfnRxCallback );
U8 CAND_u8GetBoardId( VOID );