New Can protocol implemented
This commit is contained in:
@ -68,6 +68,10 @@
|
||||
#define MESSAGE_TYPE_WRITE 1
|
||||
#define MESSAGE_TYPE_COMMAND 2
|
||||
|
||||
#define COMMAND_NONE 0
|
||||
#define COMMAND_ON 1
|
||||
#define COMMAND_OFF 2
|
||||
|
||||
//=================================================================================================
|
||||
// Section: MACROS
|
||||
// Description: Definition of local macros (visible by this module only).
|
||||
@ -229,58 +233,36 @@ PRIVATE VOID vTask( PVOID arg )
|
||||
|
||||
U8 u8Register = stMessage.au8Data[0];
|
||||
U8 u8Typ = stMessage.au8Data[1];
|
||||
VARH_UVariable uData;
|
||||
UTIL_vMemCopy(&stMessage.au8Data[2], &uData, 4);
|
||||
|
||||
if( u8Typ == MESSAGE_TYPE_READ ){
|
||||
VARH_UVariable uVariable = VARH_uGetVariableData(u8Register);
|
||||
|
||||
au8Buffer[0] = u8Register;
|
||||
au8Buffer[1] = u8Typ;
|
||||
UTIL_vMemCopy(&uVariable, &au8Buffer[2], 4);
|
||||
|
||||
CAND_boSendMessage( au8Buffer, 6 );
|
||||
} else if( u8Typ == MESSAGE_TYPE_WRITE ){
|
||||
VARH_UVariable uData;
|
||||
UTIL_vMemCopy(&stMessage.au8Data[2], &uData, 4);
|
||||
|
||||
VARH_vSetVariableData(u8Register, uData);
|
||||
} else if( u8Typ == MESSAGE_TYPE_COMMAND ){
|
||||
|
||||
switch (u8Register)
|
||||
{
|
||||
case COMMAND_ON:
|
||||
PECO_Enable( TRUE );
|
||||
break;
|
||||
|
||||
case COMMAND_OFF:
|
||||
PECO_Enable( FALSE );
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if( u8Register == 0x12 ){
|
||||
|
||||
S16 s16Voltage = stMessage.au8Data[0] << 8;
|
||||
s16Voltage |= stMessage.au8Data[1];
|
||||
VARH_vSetVariableDataFloat( VARH_eControlVoltage, (FLOAT)s16Voltage / 1000 );
|
||||
|
||||
} else if( u8Register == 0x13 ){
|
||||
|
||||
S16 SupplyVoltage24V = (S16) ( VARH_flGetVariableData( VARH_eSupply_U ) * 1000 );
|
||||
S16 SupplyCurrent24V = (S16) ( VARH_flGetVariableData( VARH_eSupply_I ) * 1000 );
|
||||
S16 OutputVoltage = (S16) ( VARH_flGetVariableData( VARH_ePeltier_U ) * 1000 );
|
||||
S16 OutputCurrent = (S16) ( VARH_flGetVariableData( VARH_ePeltier_I ) * 1000 );
|
||||
|
||||
au8Buffer[0] = ( SupplyVoltage24V & 0xFF00 ) >> 8;
|
||||
au8Buffer[1] = SupplyVoltage24V & 0xFF;
|
||||
au8Buffer[2] = ( SupplyCurrent24V & 0xFF00 ) >> 8;
|
||||
au8Buffer[3] = SupplyCurrent24V & 0xFF;
|
||||
au8Buffer[4] = ( OutputVoltage & 0xFF00 ) >> 8;
|
||||
au8Buffer[5] = OutputVoltage & 0xff;
|
||||
au8Buffer[6] = ( OutputCurrent & 0xFF00 ) >> 8;
|
||||
au8Buffer[7] = OutputCurrent & 0xFF;
|
||||
|
||||
CAND_boSendMessage( 0x14, 8, au8Buffer );
|
||||
|
||||
} else if( u8Register == 0x15 ){
|
||||
|
||||
S16 Cold = (S16) ( VARH_flGetVariableData( VARH_eTemp_C ) * 100 );
|
||||
S16 Hot = (S16) ( VARH_flGetVariableData( VARH_eTemp_H ) * 100 );
|
||||
|
||||
au8Buffer[0] = ( Cold & 0xFF00 ) >> 8;
|
||||
au8Buffer[1] = ( Cold & 0x00FF );
|
||||
au8Buffer[2] = ( Hot & 0xFF00 ) >> 8;
|
||||
au8Buffer[3] = ( Hot & 0x00FF );
|
||||
|
||||
CAND_boSendMessage( 0x16, 4, au8Buffer );
|
||||
|
||||
} else if( u8Register == 0x17 ){
|
||||
|
||||
PECO_Enable( TRUE );
|
||||
|
||||
} else if( u8Register == 0x18 ){
|
||||
|
||||
PECO_Enable( FALSE );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if( u32Flags & EVENT_TIMER_UPDATE )
|
||||
|
Reference in New Issue
Block a user