@ -14,7 +14,7 @@ void CAN::transmitMsg(Uint16 boxNumber, const CANMessage& message){
p_MailBox - > MDH . all = 0x0 ;
p_MailBox - > MDL . all = 0x0 ;
p_MailBox - > MSGCTRL . bit . DLC = message . msgctrl. bit . DLC ;
p_MailBox - > MSGCTRL . bit . DLC = message . dataLength ;
p_MailBox - > MDH . all = message . mdh . all ;
p_MailBox - > MDL . all = message . mdl . all ;
@ -109,6 +109,7 @@ void CAN::updateTXMessage(Uint16 boxNumber, const CANMessage& message){ // TODO
// Set change data request (CDR bit + MBOX number)
p_CanRegs_ - > CANMC . all | = ( 128 + boxNumber ) ;
// TODO Add lenght changing?
p_MailBox - > MDL . all = message . mdl . all ;
p_MailBox - > MDH . all = message . mdh . all ;
@ -146,7 +147,7 @@ void CAN::sendRemoteRequest(Uint16 boxNumber){
}
bool CAN : : receiveMsg ( Uint16 boxNumber , CANMessage & rxMessage ) { // TODO faults just return -1
int16 CAN : : receiveMsg ( Uint16 boxNumber , CANMessage & rxMessage ) { // TODO faults just return -1
if ( boxNumber > 31 ) { return - 1 ; }
Uint32 mboxControl ( 0 ) ;
@ -156,11 +157,11 @@ bool CAN::receiveMsg(Uint16 boxNumber, CANMessage& rxMessage){ // TODO faults ju
p_MailBox = & ( p_CanMBoxes_ - > MBOX0 ) + boxNumber ;
bool isNewMessageInBox = p_CanRegs_ - > CANRMP . all & mboxControl ;
if ( ! isNewMessageInBox ) return - 1 ;
if ( ! isNewMessageInBox ) return - 2 ;
p_CanRegs_ - > CANRMP . all & = mboxControl ;
rxMessage . msgctrl. all = p_MailBox - > MSGCTRL . all ;
rxMessage . dataLength = p_MailBox - > MSGCTRL . all ;
rxMessage . mdl . all = p_MailBox - > MDL . all ;
rxMessage . mdh . all = p_MailBox - > MDH . all ;
@ -171,7 +172,7 @@ bool CAN::receiveMsg(Uint16 boxNumber, CANMessage& rxMessage){ // TODO faults ju
lostMessage = p_CanRegs_ - > CANRML . all & mboxControl ;
if ( newMessage | | lostMessage ) {
return - 1 ;
return - 3 ;
}
return 0 ;