From 852f344c7ffc7b31b7b8387d8423045d1ddd37bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noah=20Piqu=C3=A9?= Date: Fri, 14 Jan 2022 17:06:48 +0100 Subject: [PATCH] =?UTF-8?q?New=20VARH=20einbinden=20+=20Code=20versch?= =?UTF-8?q?=C3=B6nern,syntax=20check?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Core/Application/INIT_Initialization.c | 44 ++-- Core/Application/MAIN_MainApplication.c | 83 ++++---- Core/Application/VARH_VariableHandler.c | 22 +- Core/Drivers/ADCD_AdcDriver.c | 259 ++++++++++-------------- Core/Drivers/ADCD_AdcDriver.h | 9 +- Core/Drivers/ANPI_AnalogPortsIn.c | 36 ++-- Core/Drivers/ANPI_AnalogPortsIn.h | 4 +- Core/Drivers/ANPO_AnalogPortsOut.c | 6 +- Core/Drivers/ANPO_AnalogPortsOut.h | 7 +- Core/Drivers/CAND_CanDriver.c | 25 +-- Core/Drivers/CAND_CanDriver.h | 7 +- Core/Drivers/DIPO_DigitalPorts.c | 24 +-- Core/Drivers/DIPO_DigitalPorts.h | 18 +- Core/Drivers/PECO_PeltierController.c | 44 ++-- Core/Drivers/SPID_SpiDriver.c | 4 +- Core/Drivers/TEMP_Temperature.c | 16 +- Core/Drivers/USFL_UserFlash.c | 2 +- 17 files changed, 261 insertions(+), 349 deletions(-) diff --git a/Core/Application/INIT_Initialization.c b/Core/Application/INIT_Initialization.c index 4113cfb..92cf93a 100644 --- a/Core/Application/INIT_Initialization.c +++ b/Core/Application/INIT_Initialization.c @@ -37,17 +37,9 @@ // Application #include "VARH_VariableHandler.h" -//#include "RTOS_RealTimeOS.h" - -//#include "ELOG_ErrorLogger.h" -//#include "SYSS_SystemStateSignalization.h" #include "MAIN_MainApplication.h" // Drivers -//#include "../Drivers/IRQH_IntRequestHandler.h" -//#include "../Drivers/MRAM_MRam.h" - - #include "../Drivers/USFL_UserFlash.h" #include "../Drivers/ANPI_AnalogPortsIn.h" #include "../Drivers/ANPO_AnalogPortsOut.h" @@ -57,7 +49,6 @@ #include "../Drivers/TEMP_Temperature.h" #include "../Drivers/PECO_PeltierController.h" #include "../Drivers/CAND_CanDriver.h" -//#include "../Drivers/UART_UartDriver.h" // Toolbox #include "../Toolbox/UTIL_Utility.h" @@ -119,7 +110,7 @@ LOCAL CONST osThreadAttr_t stTaskAttribute = // Description: Definition of local functions (visible by this module only). //================================================================================================= -PRIVATE VOID vInitTask ( PVOID arg )__NORETURN; +PRIVATE VOID vTask ( PVOID arg )__NORETURN; //================================================================================================= // Section: EXTERNAL FUNCTIONS @@ -149,7 +140,7 @@ BOOL INIT_boCreateTask( VOID ) { BOOL boOK = TRUE; - boOK &= ((m_pstThreadID = osThreadNew( vInitTask, NULL, &stTaskAttribute )) != NULL); // create init Task + boOK &= ((m_pstThreadID = osThreadNew( vTask, NULL, &stTaskAttribute )) != NULL); // create init Task return( boOK ); } @@ -161,49 +152,40 @@ BOOL INIT_boCreateTask( VOID ) // Parameters: None // Returns: None //------------------------------------------------------------------------------------------------- -PRIVATE VOID vInitTask( PVOID arg ) +PRIVATE VOID vTask( PVOID arg ) { UNUSED( arg ); BOOL boOK = TRUE; BOOL boInitConfig = TRUE; - // boOK &= RTOS_boInitializeModule(); boOK &= USFL_boInitializeModule(); boOK &= VARH_boInitializeModule(); + boOK &= DIPO_boInitializeModule(); boOK &= ANPI_boInitializeModule(); boOK &= ANPO_boInitializeModule(); boOK &= SPID_boInitializeModule(); -// boOK &= MRAM_boInitializeModule( &boInitConfig ); -// boOK &= CALI_boInitializeModule( boInitConfig ); - boOK &= ADCD_boInitializeModule(); boOK &= TEMP_boInitializeModule(); boOK &= PECO_boInitializeModule(); boOK &= CAND_boInitializeModule(); - boOK &= MAIN_boInitializeModule(); + boOK &= MAIN_boInitializeModule(); - if(!boOK){ - osKernelLock(); // lock kernel to prevent task switch - while(1){ - DIPO_vToggleOutput(DIPO_eLED); - DELAY_MS( 100 ); - } - } - - -// boInitConfig ? ELOG_ADD_LOG( ELOG_eFactoryReset ) : NULL; -// -// ELOG_ADD_LOG( ELOG_eSystemRebooted ); - //RTOS_vStartSystemLoadCounter(); + if( !boOK ){ + osKernelLock(); // lock kernel to prevent task switch + while( 1 ){ + DIPO_vToggleOutput( DIPO_eLED ); + DELAY_MS( 100 ); + } + } osThreadSuspend( m_pstThreadID ); - while(1); + while( 1 ); } //================================================================================================= diff --git a/Core/Application/MAIN_MainApplication.c b/Core/Application/MAIN_MainApplication.c index 0749713..a7798d5 100644 --- a/Core/Application/MAIN_MainApplication.c +++ b/Core/Application/MAIN_MainApplication.c @@ -94,7 +94,7 @@ // Description: Definition of local functions (visible by this module only). //================================================================================================= -PRIVATE VOID vMainTask( PVOID arg ); +PRIVATE VOID vTask( PVOID arg ); PRIVATE VOID vEventCallback( PVOID pvData ); PRIVATE VOID vMsgRxCallback( CAND_Message stMessage ); @@ -190,14 +190,14 @@ BOOL MAIN_boInitializeModule( VOID ) { BOOL boOK = TRUE; - boOK &= ((m_pstEventID = osEventFlagsNew( &stEventAttribute )) == NULL) ? FALSE : TRUE; - boOK &= ((m_pstThreadID = osThreadNew( vMainTask, NULL, &stTaskAttribute )) == NULL ) ? FALSE : TRUE; - boOK &= ((m_pstCANRxMsgQueueID = osMessageQueueNew( MSG_QUEUE_SIZE, sizeof(CAND_Message), &stCANRxMsgQueueAttribute ) ) == NULL ) ? FALSE : TRUE; - boOK &= (m_pstUpdateTimer = osTimerNew( vEventCallback, osTimerPeriodic, (PVOID)EVENT_TIMER_UPDATE, &stTimerAttribute )) == NULL ? FALSE : TRUE; + boOK &= ( ( m_pstEventID = osEventFlagsNew( &stEventAttribute ) ) == NULL ) ? FALSE : TRUE; + boOK &= ( ( m_pstThreadID = osThreadNew( vTask, NULL, &stTaskAttribute ) ) == NULL ) ? FALSE : TRUE; + boOK &= ( ( m_pstCANRxMsgQueueID = osMessageQueueNew( MSG_QUEUE_SIZE, sizeof( CAND_Message ), &stCANRxMsgQueueAttribute ) ) == NULL ) ? FALSE : TRUE; + boOK &= ( m_pstUpdateTimer = osTimerNew( vEventCallback, osTimerPeriodic, (PVOID)EVENT_TIMER_UPDATE, &stTimerAttribute ) ) == NULL ? FALSE : TRUE; boOK &= (osTimerStart( m_pstUpdateTimer, 1000 ) == osOK ) ? TRUE : FALSE; - CAND_vSetRxCallback(vMsgRxCallback); + CAND_vSetRxCallback( vMsgRxCallback ); return( boOK ); } @@ -213,7 +213,7 @@ BOOL MAIN_boInitializeModule( VOID ) // Parameters: None // Returns: None //------------------------------------------------------------------------------------------------- -PRIVATE VOID vMainTask( PVOID arg ) +PRIVATE VOID vTask( PVOID arg ) { UNUSED( arg ); U32 u32Flags; @@ -232,57 +232,56 @@ PRIVATE VOID vMainTask( PVOID arg ) CAND_Message stMessage; osMessageQueueGet( m_pstCANRxMsgQueueID, &stMessage, NULL, 0 ); - if(stMessage.u8Id == 0x12){ + if( stMessage.u8Id == 0x12 ){ S16 s16Voltage = stMessage.au8Data[0] << 8; s16Voltage |= stMessage.au8Data[1]; - VARH_vSetVariableData(VARH_eControlVoltage, (VARH_UVariable)((FLOAT)s16Voltage/1000)); + VARH_vSetVariableDataFloat( VARH_eControlVoltage, (FLOAT)s16Voltage / 1000 ); - } else if(stMessage.u8Id == 0x13){ + } else if( stMessage.u8Id == 0x13 ){ - S16 SupplyVoltage24V = ((S16)(VARH_uGetVariableData(VARH_eSupply_U).flVal*1000)); - S16 SupplyCurrent24V = ((S16)(VARH_uGetVariableData(VARH_eSupply_I).flVal*1000)); - S16 OutputVoltage = ((S16)(VARH_uGetVariableData(VARH_ePeltier_U).flVal*1000)); - S16 OutputCurrent = ((S16)(VARH_uGetVariableData(VARH_ePeltier_I).flVal*1000)); + 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[0] = ( SupplyVoltage24V & 0xFF00 ) >> 8; au8Buffer[1] = SupplyVoltage24V & 0xFF; - au8Buffer[2] = (SupplyCurrent24V & 0xFF00) >> 8; + au8Buffer[2] = ( SupplyCurrent24V & 0xFF00 ) >> 8; au8Buffer[3] = SupplyCurrent24V & 0xFF; - au8Buffer[4] = (OutputVoltage & 0xFF00) >> 8; + au8Buffer[4] = ( OutputVoltage & 0xFF00 ) >> 8; au8Buffer[5] = OutputVoltage & 0xff; - au8Buffer[6] = (OutputCurrent & 0xFF00) >> 8; + au8Buffer[6] = ( OutputCurrent & 0xFF00 ) >> 8; au8Buffer[7] = OutputCurrent & 0xFF; - CAND_boSendMessage(0x14, 8, au8Buffer); + CAND_boSendMessage( 0x14, 8, au8Buffer ); - } else if(stMessage.u8Id == 0x15){ + } else if( stMessage.u8Id == 0x15 ){ - S16 Cold = (S16)(VARH_uGetVariableData(VARH_eTemp_C).flVal*100); - S16 Hot = (S16)(VARH_uGetVariableData(VARH_eTemp_H).flVal*100); + 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 & 0xFF); - au8Buffer[2] = (Hot & 0xFF00) >> 8; - au8Buffer[3] = (Hot & 0xFF); + au8Buffer[0] = ( Cold & 0xFF00 ) >> 8; + au8Buffer[1] = ( Cold & 0x00FF ); + au8Buffer[2] = ( Hot & 0xFF00 ) >> 8; + au8Buffer[3] = ( Hot & 0x00FF ); - CAND_boSendMessage(0x16, 4, au8Buffer); + CAND_boSendMessage( 0x16, 4, au8Buffer ); - } else if(stMessage.u8Id == 0x17){ + } else if( stMessage.u8Id == 0x17 ){ - PECO_Enable(TRUE); + PECO_Enable( TRUE ); - } else if(stMessage.u8Id == 0x18){ + } else if( stMessage.u8Id == 0x18 ){ - PECO_Enable(FALSE); + PECO_Enable( FALSE ); } - - } + if( u32Flags & EVENT_TIMER_UPDATE ) { - DIPO_vToggleOutput(DIPO_eLED); + DIPO_vToggleOutput( DIPO_eLED ); } } @@ -307,22 +306,8 @@ PRIVATE VOID vEventCallback( PVOID pvData ) //------------------------------------------------------------------------------------------------- PRIVATE VOID vMsgRxCallback( CAND_Message stMessage ) { - osMessageQueuePut(m_pstCANRxMsgQueueID, &stMessage, 0, 0); + osMessageQueuePut( m_pstCANRxMsgQueueID, &stMessage, 0, 0 ); osEventFlagsSet( m_pstEventID, EVENT_NEW_MESSAGE ); } -//------------------------------------------------------------------------------------------------- -// Function: boSetValCheck -// Description: Checks the range of the set value -// Parameters: PVOID pvCallbackData -// VARH_UVariable uNewValue -// Returns: TRUE, the variable can be written -//------------------------------------------------------------------------------------------------- -/*PRIVATE BOOL boSetValCheck( PVOID pvCallbackData, VARH_UVariable uNewValue ) -{ - UNUSED( pvCallbackData ); - return( uNewValue.flVal <= 200.0f && uNewValue.flVal >= -200.0f ? FALSE : TRUE ); -} -*/ - diff --git a/Core/Application/VARH_VariableHandler.c b/Core/Application/VARH_VariableHandler.c index e5a176a..1fdd6cc 100644 --- a/Core/Application/VARH_VariableHandler.c +++ b/Core/Application/VARH_VariableHandler.c @@ -148,7 +148,7 @@ BOOL VARH_boInitializeModule( VOID ) { BOOL boOK = TRUE; - boOK &= ((m_pstMutexID = osMutexNew( &m_stMutexAttr )) == NULL) ? FALSE : TRUE; + boOK &= ( ( m_pstMutexID = osMutexNew( &m_stMutexAttr ) ) == NULL ) ? FALSE : TRUE; VARH_vSetAllVariablesToInitData(); @@ -185,7 +185,7 @@ VOID vSetVariableData( U8 u8Variable, VARH_UVariable uData ) //------------------------------------------------------------------------------------------------- VOID VARH_vSetVariableDataU32( U8 u8Variable, U32 u32Data ) { - vSetVariableData(u8Variable, (VARH_UVariable)u32Data); + vSetVariableData( u8Variable, (VARH_UVariable)u32Data ); } //------------------------------------------------------------------------------------------------- @@ -197,7 +197,7 @@ VOID VARH_vSetVariableDataU32( U8 u8Variable, U32 u32Data ) //------------------------------------------------------------------------------------------------- VOID VARH_vSetVariableDataS32( U8 u8Variable, S32 s32Data ) { - vSetVariableData(u8Variable, (VARH_UVariable)s32Data); + vSetVariableData( u8Variable, (VARH_UVariable)s32Data ); } //------------------------------------------------------------------------------------------------- @@ -209,7 +209,7 @@ VOID VARH_vSetVariableDataS32( U8 u8Variable, S32 s32Data ) //------------------------------------------------------------------------------------------------- VOID VARH_vSetVariableDataFloat( U8 u8Variable, FLOAT flData ) { - vSetVariableData(u8Variable, (VARH_UVariable)flData); + vSetVariableData( u8Variable, (VARH_UVariable)flData ); } @@ -243,7 +243,7 @@ VOID vSetVariableDataFromSystem( U8 u8Variable, VARH_UVariable uData ) //------------------------------------------------------------------------------------------------- VOID VARH_vSetVariableDataFromSystemU32( U8 u8Variable, U32 u32Data ) { - vSetVariableDataFromSystem(u8Variable, (VARH_UVariable)u32Data); + vSetVariableDataFromSystem( u8Variable, (VARH_UVariable)u32Data ); } //------------------------------------------------------------------------------------------------- @@ -256,7 +256,7 @@ VOID VARH_vSetVariableDataFromSystemU32( U8 u8Variable, U32 u32Data ) //------------------------------------------------------------------------------------------------- VOID VARH_vSetVariableDataFromSystemS32( U8 u8Variable, S32 s32Data ) { - vSetVariableDataFromSystem(u8Variable, (VARH_UVariable)s32Data); + vSetVariableDataFromSystem( u8Variable, (VARH_UVariable)s32Data ); } //------------------------------------------------------------------------------------------------- @@ -269,7 +269,7 @@ VOID VARH_vSetVariableDataFromSystemS32( U8 u8Variable, S32 s32Data ) //------------------------------------------------------------------------------------------------- VOID VARH_vSetVariableDataFromSystemFloat( U8 u8Variable, FLOAT flData ) { - vSetVariableDataFromSystem(u8Variable, (VARH_UVariable)flData); + vSetVariableDataFromSystem( u8Variable, (VARH_UVariable)flData ); } //------------------------------------------------------------------------------------------------- @@ -294,7 +294,7 @@ VARH_UVariable uGetVariableData( U8 u8Variable ) //------------------------------------------------------------------------------------------------- U32 VARH_u32GetVariableData( U8 u8Variable ) { - return uGetVariableData(u8Variable).u32Val; + return uGetVariableData( u8Variable ).u32Val; } //------------------------------------------------------------------------------------------------- @@ -305,7 +305,7 @@ U32 VARH_u32GetVariableData( U8 u8Variable ) //------------------------------------------------------------------------------------------------- S32 VARH_s32GetVariableData( U8 u8Variable ) { - return uGetVariableData(u8Variable).s32Val; + return uGetVariableData( u8Variable ).s32Val; } //------------------------------------------------------------------------------------------------- @@ -316,7 +316,7 @@ S32 VARH_s32GetVariableData( U8 u8Variable ) //------------------------------------------------------------------------------------------------- FLOAT VARH_flGetVariableData( U8 u8Variable ) { - return uGetVariableData(u8Variable).flVal; + return uGetVariableData( u8Variable ).flVal; } //------------------------------------------------------------------------------------------------- @@ -432,7 +432,7 @@ PRIVATE BOOL boCheckRange( U8 u8Variable, VARH_UVariable uNewData ) return( boBooleanVarCheck( uNewData.s32Val ) ); } else { - return( boU32VarCheck(u8Variable, uNewData.u32Val ) ); + return( boU32VarCheck( u8Variable, uNewData.u32Val ) ); } } diff --git a/Core/Drivers/ADCD_AdcDriver.c b/Core/Drivers/ADCD_AdcDriver.c index ea1e87a..f7db4fd 100644 --- a/Core/Drivers/ADCD_AdcDriver.c +++ b/Core/Drivers/ADCD_AdcDriver.c @@ -53,42 +53,42 @@ //================================================================================================= // define commands -#define CMD_READ (0<<7) -#define CMD_WRITE (1<<7) +#define CMD_READ (0<<7) +#define CMD_WRITE (1<<7) // define register -#define REG_CONFIG 0x00 -#define REG_RTD_MSB 0x01 -#define REG_RTD_LSB 0x02 -#define REG_HIGH_FAULT_MSB 0x03 -#define REG_HIGH_FAULT_LSB 0x04 -#define REG_LOW_FAULT_MSB 0x05 -#define REG_LOW_FAULT_LSB 0x06 -#define REG_FAULT_STATUS 0x07 +#define REG_CONFIG 0x00 +#define REG_RTD_MSB 0x01 +#define REG_RTD_LSB 0x02 +#define REG_HIGH_FAULT_MSB 0x03 +#define REG_HIGH_FAULT_LSB 0x04 +#define REG_LOW_FAULT_MSB 0x05 +#define REG_LOW_FAULT_LSB 0x06 +#define REG_FAULT_STATUS 0x07 -#define CONFIG_VBIAS_ON (1<<7) -#define CONFIG_VBIAS_OFF (0<<7) -#define CONFIG_MODE_AUTO (1<<6) -#define CONFIG_MODE_OFF (0<<6) -#define CONFIG_1SHOT (1<<5) -#define CONFIG_3WIRE (1<<4) -#define CONFIG_24WIRE (0<<4) -#define CONFIG_FAULTCYCLE_NO (0<<2) -#define CONFIG_FAULTCYCLE_AUTO (1<<2) -#define CONFIG_FAULTCYCLE_MANUAL1 (2<<2) -#define CONFIG_FAULTCYCLE_MANUAL2 (3<<2) -#define CONFIG_FAULTSTATCLEAR (1<<1) -#define CONFIG_FILT50HZ (1<<0) -#define CONFIG_FILT60HZ (0<<0) +#define CONFIG_VBIAS_ON (1<<7) +#define CONFIG_VBIAS_OFF (0<<7) +#define CONFIG_MODE_AUTO (1<<6) +#define CONFIG_MODE_OFF (0<<6) +#define CONFIG_1SHOT (1<<5) +#define CONFIG_3WIRE (1<<4) +#define CONFIG_24WIRE (0<<4) +#define CONFIG_FAULTCYCLE_NO (0<<2) +#define CONFIG_FAULTCYCLE_AUTO (1<<2) +#define CONFIG_FAULTCYCLE_MANUAL1 (2<<2) +#define CONFIG_FAULTCYCLE_MANUAL2 (3<<2) +#define CONFIG_FAULTSTATCLEAR (1<<1) +#define CONFIG_FILT50HZ (1<<0) +#define CONFIG_FILT60HZ (0<<0) -#define FAULT_HIGHTHRESH 0x80 -#define FAULT_LOWTHRESH 0x40 -#define FAULT_REFINLOW 0x20 -#define FAULT_REFINHIGH 0x10 -#define FAULT_RTDINLOW 0x08 -#define FAULT_OVUV 0x04 +#define FAULT_HIGHTHRESH 0x80 +#define FAULT_LOWTHRESH 0x40 +#define FAULT_REFINLOW 0x20 +#define FAULT_REFINHIGH 0x10 +#define FAULT_RTDINLOW 0x08 +#define FAULT_OVUV 0x04 -#define CONFIG (U8)(CONFIG_VBIAS_ON | CONFIG_MODE_OFF | CONFIG_24WIRE | CONFIG_FILT60HZ) // enable Vbias; autoconvert off; 4-wire; 60Hz; +#define CONFIG (U8)(CONFIG_VBIAS_ON | CONFIG_MODE_OFF | CONFIG_24WIRE | CONFIG_FILT60HZ) // enable Vbias; autoconvert off; 4-wire; 60Hz; #define EVENT_ENABLE ((U32)(1<<0)) #define EVENT_DISABLE ((U32)(1<<1)) @@ -155,11 +155,11 @@ LOCAL osMutexId_t m_pstMutexID = NULL; LOCAL SPID_StHandle m_stSPIHandle = { - SPID_eADC, // enSPI; - 0xFF, // enCS (0xFF = hardware chip select) - m_au8TxData, // pu8TxBuf; - m_au8RxData, // pu8RxBuf; - 0, // u16TransferSize; + SPID_eADC, // enSPI; + 0xFF, // enCS (0xFF = hardware chip select) + m_au8TxData, // pu8TxBuf; + m_au8RxData, // pu8RxBuf; + 0, // u16TransferSize; }; @@ -168,9 +168,6 @@ LOCAL SPID_StHandle m_stSPIHandle = // Description: Definition of local functions (visible by this module only). //================================================================================================= -//PRIVATE VOID vAttachDataReadyISR ( VOID ); -//PRIVATE VOID vDeattachDataReadyISR ( VOID ); - PRIVATE BOOL boWriteReg( U8 u8Register, U16 u16Data, BOOL boIs16bit ); PRIVATE BOOL boReadReg( U8 u8Register, PU16 pu16Data, BOOL boIs16bit ); @@ -204,29 +201,35 @@ BOOL ADCD_boInitializeModule( VOID ) BOOL boOK = TRUE; U16 u16Data = 0; - boOK &= ((m_pstMutexID = osMutexNew( &m_stMutexAttr )) == NULL) ? FALSE : TRUE; + boOK &= ( ( m_pstMutexID = osMutexNew( &m_stMutexAttr ) ) == NULL ) ? FALSE : TRUE; osMutexAcquire( m_pstMutexID, osWaitForever ); - DIPO_vSetOutput(DIPO_eCS_C); - boOK &= boWriteReg(REG_CONFIG, (U16) CONFIG | CONFIG_FAULTSTATCLEAR, FALSE); - DIPO_vResetOutput(DIPO_eCS_C); - DIPO_vSetOutput(DIPO_eCS_C); - boOK &= boWriteReg(REG_HIGH_FAULT_MSB, (U16) 0x5b12 , TRUE); - DIPO_vResetOutput(DIPO_eCS_C); - DIPO_vSetOutput(DIPO_eCS_C); - boOK &= boWriteReg(REG_LOW_FAULT_MSB, (U16) 0x2690 , TRUE); - DIPO_vResetOutput(DIPO_eCS_C); - - DIPO_vSetOutput(DIPO_eCS_H); - boOK &= boWriteReg(REG_CONFIG, (U16) CONFIG | CONFIG_FAULTSTATCLEAR, FALSE); - DIPO_vResetOutput(DIPO_eCS_H); - DIPO_vSetOutput(DIPO_eCS_H); - boOK &= boWriteReg(REG_HIGH_FAULT_MSB, (U16) 0x5b12 , TRUE); - DIPO_vResetOutput(DIPO_eCS_H); - DIPO_vSetOutput(DIPO_eCS_H); - boOK &= boWriteReg(REG_LOW_FAULT_MSB, (U16) 0x2690 , TRUE); - DIPO_vResetOutput(DIPO_eCS_H); + // Conifg ADC Cold + DIPO_vSetOutput( DIPO_eCS_C ); + boOK &= boWriteReg( REG_CONFIG, (U16) CONFIG | CONFIG_FAULTSTATCLEAR, FALSE ); + DIPO_vResetOutput( DIPO_eCS_C ); + + DIPO_vSetOutput( DIPO_eCS_C ); + boOK &= boWriteReg( REG_HIGH_FAULT_MSB, (U16)0x5b12 , TRUE ); + DIPO_vResetOutput( DIPO_eCS_C ); + + DIPO_vSetOutput( DIPO_eCS_C ); + boOK &= boWriteReg( REG_LOW_FAULT_MSB, (U16)0x2690 , TRUE ); + DIPO_vResetOutput( DIPO_eCS_C ); + + // Config ADC Hot + DIPO_vSetOutput( DIPO_eCS_H ); + boOK &= boWriteReg( REG_CONFIG, (U16) CONFIG | CONFIG_FAULTSTATCLEAR, FALSE ); + DIPO_vResetOutput( DIPO_eCS_H ); + + DIPO_vSetOutput( DIPO_eCS_H ); + boOK &= boWriteReg( REG_HIGH_FAULT_MSB, (U16)0x5b12 , TRUE ); + DIPO_vResetOutput( DIPO_eCS_H ); + + DIPO_vSetOutput( DIPO_eCS_H ); + boOK &= boWriteReg( REG_LOW_FAULT_MSB, (U16)0x2690 , TRUE ); + DIPO_vResetOutput( DIPO_eCS_H ); osMutexRelease( m_pstMutexID ); @@ -238,61 +241,56 @@ BOOL ADCD_boInitializeModule( VOID ) // Description: Reads the conversion data form the ADC // Parameters: PU8 pu8Error error // Returns: DOUBLE conversion data -// //------------------------------------------------------------------------------------------------- -BOOL ADCD_boReadData(ADCD_EnTemps eChannel, PU8 pu8Error, PU16 pu16Data) +BOOL ADCD_boReadData( ADCD_EnTemps eChannel, PU8 pu8Error, PU16 pu16Data ) { - BOOL boOK = TRUE; - *pu8Error = 0; // reset error state - U16 u16Data = 0; + BOOL boOK = TRUE; + *pu8Error = 0; // reset error state + U16 u16Data = 0; DIPO_EnDigitalOutput CS = DIPO_eCS_H; - if(eChannel == ADCD_eHot)CS = DIPO_eCS_H; - else if (eChannel == ADCD_eCold)CS = DIPO_eCS_C; - - osMutexAcquire( m_pstMutexID, osWaitForever ); - - DIPO_vSetOutput(CS); - - boOK &= boWriteReg(REG_CONFIG, CONFIG | CONFIG_1SHOT , FALSE); - - DIPO_vResetOutput(CS); - - osMutexRelease( m_pstMutexID ); + if( eChannel == ADCD_eHot ) CS = DIPO_eCS_H; + else if ( eChannel == ADCD_eCold ) CS = DIPO_eCS_C; + + osMutexAcquire( m_pstMutexID, osWaitForever ); + DIPO_vSetOutput( CS ); + boOK &= boWriteReg( REG_CONFIG, CONFIG | CONFIG_1SHOT , FALSE ); + DIPO_vResetOutput( CS ); + osMutexRelease( m_pstMutexID ); osDelay(55); osMutexAcquire( m_pstMutexID, osWaitForever ); - - DIPO_vSetOutput(CS); - - boOK &= boReadReg(REG_RTD_MSB, &u16Data, TRUE); - - DIPO_vResetOutput(CS); - - osMutexRelease( m_pstMutexID ); + DIPO_vSetOutput( CS ); + boOK &= boReadReg( REG_RTD_MSB, &u16Data, TRUE ); + DIPO_vResetOutput( CS ); + osMutexRelease( m_pstMutexID ); if( !boOK ) { - *pu8Error |= ADCD_SPI_FAILURE; + *pu8Error |= ADCD_SPI_FAILURE; return 0; - } + } - if((u16Data & 0x01) == 0x01) + if( ( u16Data & 0x01 ) == 0x01 ) { *pu8Error |= ADCD_STATUS_DATA_ERROR; osMutexAcquire( m_pstMutexID, osWaitForever ); - DIPO_vSetOutput(CS); - boOK &= boReadReg(REG_FAULT_STATUS, &u16Data, FALSE); - DIPO_vResetOutput(CS); - DIPO_vSetOutput(CS); - boOK &= boWriteReg(REG_CONFIG, (U16) CONFIG | CONFIG_FAULTSTATCLEAR, FALSE); - DIPO_vResetOutput(CS); - DIPO_vSetOutput(CS); - boOK &= boReadReg(REG_HIGH_FAULT_MSB, &u16Data, TRUE); - DIPO_vResetOutput(CS); + + DIPO_vSetOutput( CS ); + boOK &= boReadReg( REG_FAULT_STATUS, &u16Data, FALSE ); + DIPO_vResetOutput( CS ); + + DIPO_vSetOutput( CS ); + boOK &= boWriteReg( REG_CONFIG, (U16) CONFIG | CONFIG_FAULTSTATCLEAR, FALSE ); + DIPO_vResetOutput( CS ); + + DIPO_vSetOutput( CS ); + boOK &= boReadReg( REG_HIGH_FAULT_MSB, &u16Data, TRUE ); + DIPO_vResetOutput( CS ); + osMutexRelease( m_pstMutexID ); *pu8Error |= u16Data & 0xFC; @@ -304,16 +302,12 @@ BOOL ADCD_boReadData(ADCD_EnTemps eChannel, PU8 pu8Error, PU16 pu16Data) *pu16Data = u16Data; osMutexAcquire( m_pstMutexID, osWaitForever ); + DIPO_vSetOutput( CS ); + boOK &= boWriteReg( REG_CONFIG, CONFIG | CONFIG_FAULTCYCLE_AUTO , FALSE ); + DIPO_vResetOutput( CS ); + osMutexRelease( m_pstMutexID ); - DIPO_vSetOutput(CS); - - boOK &= boWriteReg(REG_CONFIG, CONFIG | CONFIG_FAULTCYCLE_AUTO , FALSE); - - DIPO_vResetOutput(CS); - - osMutexRelease( m_pstMutexID ); - - return( boOK ); + return( boOK ); } //================================================================================================= @@ -332,11 +326,11 @@ BOOL ADCD_boReadData(ADCD_EnTemps eChannel, PU8 pu8Error, PU16 pu16Data) //------------------------------------------------------------------------------------------------- PRIVATE BOOL boWriteReg( U8 u8Register, U16 u16Data, BOOL boIs16bit ) { - BOOL boOK = TRUE; + BOOL boOK = TRUE; - if(boIs16bit){ + if( boIs16bit ){ m_au8TxData[0] = CMD_WRITE | u8Register; - m_au8TxData[1] = (U8)(u16Data>>8); + m_au8TxData[1] = (U8)u16Data>>8; m_au8TxData[2] = (U8)u16Data; m_stSPIHandle.u16TransferSize = 3; boOK &= SPID_boSendReceive( &m_stSPIHandle ); @@ -347,7 +341,7 @@ PRIVATE BOOL boWriteReg( U8 u8Register, U16 u16Data, BOOL boIs16bit ) boOK &= SPID_boSendReceive( &m_stSPIHandle ); } - return( boOK ); + return( boOK ); } //------------------------------------------------------------------------------------------------- @@ -355,14 +349,14 @@ PRIVATE BOOL boWriteReg( U8 u8Register, U16 u16Data, BOOL boIs16bit ) // Description: Reads the regiser // Parameters: U8 u8Register // PU16 pu16Data -// BOOL boIs16bit TRUE, if Data is 16bit, FALSE, if Data is 8bit +// BOOL boIs16bit TRUE, if Data is 16bit, FALSE, if Data is 8bit // Returns: BOOL TRUE, if successful, otherwise FALSE //------------------------------------------------------------------------------------------------- PRIVATE BOOL boReadReg( U8 u8Register, PU16 pu16Data, BOOL boIs16bit ) { BOOL boOK = TRUE; - if(boIs16bit){ + if( boIs16bit ){ m_au8TxData[0] = CMD_READ | u8Register; m_au8TxData[1] = 0; m_au8TxData[2] = 0; @@ -370,7 +364,7 @@ PRIVATE BOOL boReadReg( U8 u8Register, PU16 pu16Data, BOOL boIs16bit ) boOK &= SPID_boSendReceive( &m_stSPIHandle ); - *pu16Data = ((U16)m_au8RxData[1]<<8) | ((U16)m_au8RxData[2]<<0); + *pu16Data = ( (U16)m_au8RxData[1]<<8 ) | ( (U16)m_au8RxData[2]<<0 ); } else { m_au8TxData[0] = CMD_READ | u8Register; m_au8TxData[1] = 0; @@ -383,44 +377,3 @@ PRIVATE BOOL boReadReg( U8 u8Register, PU16 pu16Data, BOOL boIs16bit ) return( boOK ); } - -//------------------------------------------------------------------------------------------------- -// Function: vEventCallback -// Description: Callback for events -// Parameters: None -// Returns: None -//------------------------------------------------------------------------------------------------- -//PRIVATE VOID vEventCallback( PVOID pvData ) -//{ -// osEventFlagsSet( m_pstEventID, (U32)pvData ); -//} - -//------------------------------------------------------------------------------------------------- -// Function: vAttachDataReadyISR -// Description: Set Data Ready Pin Mode to ISR falling Edge -// Parameters: None -// Returns: None -//------------------------------------------------------------------------------------------------- -//PRIVATE VOID vAttachDataReadyISR ( VOID ) -//{ -// GPIO_InitTypeDef GPIO_InitStruct = {0}; -// /*Configure GPIO pin : ADC_RDY_Pin */ -// GPIO_InitStruct.Pin = m_u16DataReadyPin; -// GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; -// GPIO_InitStruct.Pull = GPIO_NOPULL; -// HAL_GPIO_Init((GPIO_TypeDef*)m_pstDataReadyPort, &GPIO_InitStruct); -//} - -//------------------------------------------------------------------------------------------------- -// Function: vDeattachDataReadyISR -// Description: Set Data Ready Pin Mode to Input -// Parameters: None -// Returns: None -//------------------------------------------------------------------------------------------------- -//PRIVATE VOID vDeattachDataReadyISR ( VOID ) -//{ -// -// HAL_GPIO_DeInit((GPIO_TypeDef*)m_pstDataReadyPort, m_u16DataReadyPin); - -//} - diff --git a/Core/Drivers/ADCD_AdcDriver.h b/Core/Drivers/ADCD_AdcDriver.h index a104272..455ee4a 100644 --- a/Core/Drivers/ADCD_AdcDriver.h +++ b/Core/Drivers/ADCD_AdcDriver.h @@ -7,11 +7,11 @@ //------------------------------------------------------------------------------------------------- // // Project: Peltier Controller V2 -// Author: Noah Piqu� (noah.pique@psi.ch) +// Author: Noah Piqué (noah.pique@psi.ch) // //------------------------------------------------------------------------------------------------- // -// Module: ADC-Driver +// Module: ADC Driver // Filename: ADCD_AdcDriver.h // Date: Handled by Subversion (version control system) // Revision: Handled by Subversion (version control system) @@ -26,15 +26,12 @@ extern "C" { #endif - - //================================================================================================= // Section: INCLUDES // Description: List of required include files (visible by all modules). //================================================================================================= #include "../SDEF_StandardDefinitions.h" -//#include "../Application/CALI_Calibration.h" //================================================================================================= // Section: DEFINITIONS @@ -89,7 +86,7 @@ typedef enum { BOOL ADCD_boInitializeModule( VOID ); //BOOL ADCD_boConfig( BOOL boFast, ADCD_pfnCallback pfnDataReadyCallback, PVOID pvCallbackArg ); -BOOL ADCD_boReadData(ADCD_EnTemps eChannel, PU8 pu8Error, PU16 pu16Data); +BOOL ADCD_boReadData( ADCD_EnTemps eChannel, PU8 pu8Error, PU16 pu16Data ); #ifdef __cplusplus } diff --git a/Core/Drivers/ANPI_AnalogPortsIn.c b/Core/Drivers/ANPI_AnalogPortsIn.c index 68daa72..6f8931d 100644 --- a/Core/Drivers/ANPI_AnalogPortsIn.c +++ b/Core/Drivers/ANPI_AnalogPortsIn.c @@ -133,6 +133,7 @@ LOCAL CONST StADCInit m_astADCInit[1] = { {ADC1}, // 00 eADC1 }; + // inputs are connected to the following ADCs // ANPI_eSupplyVoltage24V ADC1, Channel 6 // ANPI_eSupplyCurrent24V ADC1, Channel 16 @@ -173,7 +174,7 @@ LOCAL CONST osMutexAttr_t m_stMutexAttr = // Description: Definition of local functions (visible by this module only). //================================================================================================= -PRIVATE VOID ANPI_vTask( PVOID arg ); +PRIVATE VOID vTask( PVOID arg ); //================================================================================================= // Section: EXTERNAL FUNCTIONS @@ -204,10 +205,10 @@ BOOL ANPI_boInitializeModule( VOID ) { BOOL boOK = TRUE; - boOK &= ((m_pstThreadID = osThreadNew( ANPI_vTask, NULL, &stTaskAttribute )) == NULL ) ? FALSE : TRUE; - boOK &= ((m_pstEventID = osEventFlagsNew( &stEventAttribute )) == NULL) ? FALSE : TRUE; + boOK &= ( ( m_pstThreadID = osThreadNew( vTask, NULL, &stTaskAttribute )) == NULL ) ? FALSE : TRUE; + boOK &= ( ( m_pstEventID = osEventFlagsNew( &stEventAttribute )) == NULL) ? FALSE : TRUE; - boOK &= ((m_pstMutexID = osMutexNew( &m_stMutexAttr )) == NULL) ? FALSE : TRUE; + boOK &= ( ( m_pstMutexID = osMutexNew( &m_stMutexAttr )) == NULL) ? FALSE : TRUE; return( boOK ); } @@ -218,7 +219,7 @@ BOOL ANPI_boInitializeModule( VOID ) // Parameters: None // Returns: None //------------------------------------------------------------------------------------------------- -VOID ANPI_vTask( PVOID arg ) +VOID vTask( PVOID arg ) { U32 u32Flags; U16 u16Offset; @@ -228,7 +229,7 @@ VOID ANPI_vTask( PVOID arg ) osDelay( 1 ); // Wait 1ms to have a Valid Value - HAL_ADC_Start_DMA( &hadc1, (PU32)&m_au16ADCDataBuffer[0], BUFFER_SIZE); + HAL_ADC_Start_DMA( &hadc1, (PU32)&m_au16ADCDataBuffer[0], BUFFER_SIZE ); while ( TRUE ) { @@ -242,24 +243,24 @@ VOID ANPI_vTask( PVOID arg ) osMutexAcquire( m_pstMutexID, osWaitForever ); // aquire mutex // copy the values in the buffer... - for(U16 u16Cnt = 0; u16Cnt < BUFFER_HALF_SIZE; u16Cnt++ ) + for( U16 u16Cnt = 0; u16Cnt < BUFFER_HALF_SIZE; u16Cnt++ ) au32ADCRawData[ u16Cnt ] = m_au16ADCDataBuffer[u16Cnt + u16Offset]; // multiply conversion factor and add the offset - for(U16 u16Cnt = 0; u16Cnt < ANPI_eInNumberOfInputs; u16Cnt++ ) + for( U16 u16Cnt = 0; u16Cnt < ANPI_eInNumberOfInputs; u16Cnt++ ) { flUadc = (FLOAT)au32ADCRawData[u16Cnt] / OVERSAMPLING_DIVISOR / ADC_RES * INT_ADC_REF; aflValues[u16Cnt] = flUadc * m_aflConversionFactor[u16Cnt] - m_aflOffset[u16Cnt]; } - VARH_vSetVariableDataFromSystem(VARH_ePeltier_U, (VARH_UVariable)aflValues[ANPI_eOutputVoltage]); - VARH_vSetVariableDataFromSystem(VARH_ePeltier_I, (VARH_UVariable)aflValues[ANPI_eOutputCurrent]); - VARH_vSetVariableDataFromSystem(VARH_ePeltier_R, (VARH_UVariable)(aflValues[ANPI_eOutputVoltage] / aflValues[ANPI_eOutputCurrent])); - VARH_vSetVariableDataFromSystem(VARH_ePeltier_R, (VARH_UVariable)(aflValues[ANPI_eOutputVoltage] * aflValues[ANPI_eOutputCurrent])); + VARH_vSetVariableDataFromSystemFloat( VARH_ePeltier_U, aflValues[ANPI_eOutputVoltage] ); + VARH_vSetVariableDataFromSystemFloat( VARH_ePeltier_I, aflValues[ANPI_eOutputCurrent] ); + VARH_vSetVariableDataFromSystemFloat( VARH_ePeltier_R, aflValues[ANPI_eOutputVoltage] / aflValues[ANPI_eOutputCurrent] ); + VARH_vSetVariableDataFromSystemFloat( VARH_ePeltier_R, aflValues[ANPI_eOutputVoltage] * aflValues[ANPI_eOutputCurrent] ); - VARH_vSetVariableDataFromSystem(VARH_eSupply_U, (VARH_UVariable)aflValues[ANPI_eSupplyVoltage24V]); - VARH_vSetVariableDataFromSystem(VARH_eSupply_I, (VARH_UVariable)aflValues[ANPI_eSupplyCurrent24V]); - VARH_vSetVariableDataFromSystem(VARH_eSupply_P, (VARH_UVariable)(aflValues[ANPI_eSupplyVoltage24V] * aflValues[ANPI_eSupplyCurrent24V])); + VARH_vSetVariableDataFromSystemFloat( VARH_eSupply_U, aflValues[ANPI_eSupplyVoltage24V] ); + VARH_vSetVariableDataFromSystemFloat( VARH_eSupply_I, aflValues[ANPI_eSupplyCurrent24V] ); + VARH_vSetVariableDataFromSystemFloat( VARH_eSupply_P, aflValues[ANPI_eSupplyVoltage24V] * aflValues[ANPI_eSupplyCurrent24V] ); osMutexRelease( m_pstMutexID ); // release mutex } @@ -271,7 +272,7 @@ VOID ANPI_vTask( PVOID arg ) // Parameters: None // Returns: None //------------------------------------------------------------------------------------------------- -void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) +void HAL_ADC_ConvCpltCallback( ADC_HandleTypeDef* hadc ) { osEventFlagsSet( m_pstEventID, ANPI_ADC_FULL_COMPLETE ); } @@ -282,7 +283,7 @@ void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) // Parameters: None // Returns: None //------------------------------------------------------------------------------------------------- -void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc) +void HAL_ADC_ConvHalfCpltCallback( ADC_HandleTypeDef* hadc ) { osEventFlagsSet( m_pstEventID, ANPI_ADC_HALF_COMPLETE ); } @@ -300,6 +301,7 @@ void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc) //------------------------------------------------------------------------------------------------- void HAL_ADC_ErrorCallback( ADC_HandleTypeDef* hadc ) { + // TODO: Error Handling if( hadc->ErrorCode == HAL_ADC_ERROR_NONE ) { diff --git a/Core/Drivers/ANPI_AnalogPortsIn.h b/Core/Drivers/ANPI_AnalogPortsIn.h index a122085..3f6ff74 100644 --- a/Core/Drivers/ANPI_AnalogPortsIn.h +++ b/Core/Drivers/ANPI_AnalogPortsIn.h @@ -7,7 +7,7 @@ //------------------------------------------------------------------------------------------------- // // Project: Peltier Controller V2 -// Author: Noah Piqu� (noah.pique@psi.ch) +// Author: Noah Piqué (noah.pique@psi.ch) // //------------------------------------------------------------------------------------------------- // @@ -63,7 +63,7 @@ typedef enum ANPI_eOutputVoltage = 2, // output voltage peltier element ANPI_eOutputCurrent = 3, // output current peltier element - ANPI_eInNumberOfInputs, // Must be last entry + ANPI_eInNumberOfInputs, // Must be last entry } ANPI_EnAnalogInput; diff --git a/Core/Drivers/ANPO_AnalogPortsOut.c b/Core/Drivers/ANPO_AnalogPortsOut.c index f1558a0..b29a5f5 100644 --- a/Core/Drivers/ANPO_AnalogPortsOut.c +++ b/Core/Drivers/ANPO_AnalogPortsOut.c @@ -7,7 +7,7 @@ //------------------------------------------------------------------------------------------------- // // Project: Peltier Controller V2 -// Author: Noah Piqu� (noah.pique@psi.ch) +// Author: Noah Piqué (noah.pique@psi.ch) // //------------------------------------------------------------------------------------------------- // @@ -120,7 +120,7 @@ BOOL ANPO_boInitializeModule( VOID ) { BOOL boOK = TRUE; - boOK &= HAL_DAC_Start(&hdac1, DAC_CHANNEL_1) == HAL_OK ? TRUE : FALSE; + boOK &= HAL_DAC_Start( &hdac1, DAC_CHANNEL_1 ) == HAL_OK ? TRUE : FALSE; return( boOK ); } @@ -141,7 +141,7 @@ BOOL ANPO_boSetVoltage( FLOAT Voltage ){ U32 RawData = u32ConvertVoltagetoRaw( Voltage ); - boOK &= HAL_DAC_SetValue(&hdac1, DAC_CHANNEL_1, DAC_ALIGN_12B_R, RawData); + boOK &= HAL_DAC_SetValue( &hdac1, DAC_CHANNEL_1, DAC_ALIGN_12B_R, RawDatab ); return( boOK ); } diff --git a/Core/Drivers/ANPO_AnalogPortsOut.h b/Core/Drivers/ANPO_AnalogPortsOut.h index 49f972a..2663ef2 100644 --- a/Core/Drivers/ANPO_AnalogPortsOut.h +++ b/Core/Drivers/ANPO_AnalogPortsOut.h @@ -7,7 +7,7 @@ //------------------------------------------------------------------------------------------------- // // Project: Peltier Controller V2 -// Author: Noah Piqué (noah.pique@psi.ch) +// Author: Noah Piqué (noah.pique@psi.ch) // //------------------------------------------------------------------------------------------------- // @@ -26,8 +26,6 @@ extern "C" { #endif - - //================================================================================================= // Section: INCLUDES // Description: List of required include files (visible by all modules). @@ -35,7 +33,6 @@ extern "C" { #include "../SDEF_StandardDefinitions.h" - //================================================================================================= // Section: DEFINITIONS // Description: Definition of global constants (visible by all modules). @@ -59,7 +56,7 @@ typedef enum { ANPO_eControlVoltage = 0, // 00 control Voltage - ANPO_eInNumberOfInputs, // Must be last entry + ANPO_eInNumberOfInputs, // Must be last entry } ANPO_EnAnalogOutput; diff --git a/Core/Drivers/CAND_CanDriver.c b/Core/Drivers/CAND_CanDriver.c index 0e2e965..fe1db0a 100644 --- a/Core/Drivers/CAND_CanDriver.c +++ b/Core/Drivers/CAND_CanDriver.c @@ -11,8 +11,8 @@ // //------------------------------------------------------------------------------------------------- // -// Module: Analog Ports Output -// Filename: ANPO_AnalogPortsOut.c +// Module: Can Driver +// Filename: CAND_CanDriver.c // Date: Handled by Subversion (version control system) // Revision: Handled by Subversion (version control system) // History: Handled by Subversion (version control system) @@ -33,9 +33,6 @@ #include "../PDEF_ProjectDefinitions.h" #include "CAND_CanDriver.h" -//Application -//#include "../Application/ELOG_ErrorLogger.h" - // Toolbox #include "../Toolbox/UTIL_Utility.h" @@ -121,9 +118,9 @@ BOOL CAND_boInitializeModule( VOID ) { BOOL boOK = TRUE; - boOK &= (HAL_CAN_Start(&hcan1) == HAL_OK) ? TRUE : FALSE; + boOK &= ( HAL_CAN_Start(&hcan1) == HAL_OK ) ? TRUE : FALSE; - boOK &= (HAL_CAN_ActivateNotification(&hcan1, CAN_IT_RX_FIFO0_MSG_PENDING) == HAL_OK) ? TRUE : FALSE; + boOK &= ( HAL_CAN_ActivateNotification( &hcan1, CAN_IT_RX_FIFO0_MSG_PENDING ) == HAL_OK ) ? TRUE : FALSE; return( boOK ); } @@ -151,7 +148,7 @@ BOOL CAND_boSendMessage( U8 u8Id, U8 u8Len, PU8 pu8Buffer ){ DISABLE }; - boOK &= HAL_CAN_AddTxMessage(&hcan1, &header, pu8Buffer, (PU32)CAN_TX_MAILBOX0 ) == HAL_OK ? TRUE : FALSE; + boOK &= HAL_CAN_AddTxMessage( &hcan1, &header, pu8Buffer, (PU32)CAN_TX_MAILBOX0 ) == HAL_OK ? TRUE : FALSE; return boOK; } @@ -182,20 +179,20 @@ VOID CAND_vSetRxCallback( CAND_pfnRxCallback pfnRxCallback ){ // Parameters: CAN_HandleTypeDef *hcan // Returns: None //------------------------------------------------------------------------------------------------- -void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan){ +void HAL_CAN_RxFifo0MsgPendingCallback( CAN_HandleTypeDef *hcan ){ CAN_RxHeaderTypeDef header; U8 au8Data[8]; - HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, &header, au8Data); + HAL_CAN_GetRxMessage( hcan, CAN_RX_FIFO0, &header, au8Data ); CAND_Message stMessage; stMessage.u8Id = header.StdId; stMessage.u8Len = header.DLC; - UTIL_vMemCopy(au8Data,stMessage.au8Data,stMessage.u8Len); + UTIL_vMemCopy( au8Data,stMessage.au8Data,stMessage.u8Len ); - m_pfnRxCallback(stMessage); + m_pfnRxCallback( stMessage ); } @@ -205,9 +202,9 @@ void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan){ // Parameters: CAN_HandleTypeDef *hcan // Returns: None //------------------------------------------------------------------------------------------------- -void HAL_CAN_ErrorCallback(CAN_HandleTypeDef *hcan){ +void HAL_CAN_ErrorCallback( CAN_HandleTypeDef *hcan ){ U32 u32Error = hcan->ErrorCode; - + // TODO: Can Error Handling } diff --git a/Core/Drivers/CAND_CanDriver.h b/Core/Drivers/CAND_CanDriver.h index 5b4638e..0b98937 100644 --- a/Core/Drivers/CAND_CanDriver.h +++ b/Core/Drivers/CAND_CanDriver.h @@ -7,12 +7,12 @@ //------------------------------------------------------------------------------------------------- // // Project: Peltier Controller V2 -// Author: Noah Piqué (noah.pique@psi.ch) +// Author: Noah Piqué (noah.pique@psi.ch) // //------------------------------------------------------------------------------------------------- // -// Module: Analog Ports Output -// Filename: ANPO_AnalogPortsOut.h +// Module: Can Driver +// Filename: CAND_CanDriver.h // Date: Handled by Subversion (version control system) // Revision: Handled by Subversion (version control system) // History: Handled by Subversion (version control system) @@ -35,7 +35,6 @@ extern "C" { #include "../SDEF_StandardDefinitions.h" - //================================================================================================= // Section: DEFINITIONS // Description: Definition of global constants (visible by all modules). diff --git a/Core/Drivers/DIPO_DigitalPorts.c b/Core/Drivers/DIPO_DigitalPorts.c index 544a4ce..9605c7f 100644 --- a/Core/Drivers/DIPO_DigitalPorts.c +++ b/Core/Drivers/DIPO_DigitalPorts.c @@ -98,10 +98,10 @@ typedef struct LOCAL CONST StDigitalIO m_astInputs[DIPO_eInNumberOfInputs] = { - {GPIOB, {GPIO_PIN_7, GPIO_MODE_INPUT, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM,0}, FALSE, TRUE}, // 00 DIPO_ePG - {GPIOB, {GPIO_PIN_4, GPIO_MODE_INPUT, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM,0}, FALSE, TRUE}, // 01 DIPO_eADR2 - {GPIOB, {GPIO_PIN_3, GPIO_MODE_INPUT, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM,0}, FALSE, TRUE}, // 02 DIPO_eADR1 - {GPIOA, {GPIO_PIN_15, GPIO_MODE_INPUT, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM,0}, FALSE, TRUE}, // 03 DIPO_eADR0 + { GPIOB, { GPIO_PIN_7, GPIO_MODE_INPUT, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM, 0 }, FALSE, TRUE }, // 00 DIPO_ePG + { GPIOB, { GPIO_PIN_4, GPIO_MODE_INPUT, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM, 0 }, FALSE, TRUE }, // 01 DIPO_eADR2 + { GPIOB, { GPIO_PIN_3, GPIO_MODE_INPUT, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM, 0 }, FALSE, TRUE }, // 02 DIPO_eADR1 + { GPIOA, { GPIO_PIN_15, GPIO_MODE_INPUT, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM, 0 }, FALSE, TRUE }, // 03 DIPO_eADR0 }; @@ -109,10 +109,10 @@ LOCAL CONST StDigitalIO m_astInputs[DIPO_eInNumberOfInputs] = LOCAL CONST StDigitalIO m_astOutputs[DIPO_eOutNumberOfOutputs] = { - {GPIOB, {GPIO_PIN_6, GPIO_MODE_OUTPUT_PP, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM,0}, TRUE, FALSE }, // 00 DIPO_eCS_C - {GPIOB, {GPIO_PIN_5, GPIO_MODE_OUTPUT_PP, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM,0}, TRUE, FALSE }, // 01 DIPO_eCS_H - {GPIOA, {GPIO_PIN_10, GPIO_MODE_OUTPUT_PP, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM,0}, FALSE, TRUE }, // 02 DIPO_eLED - {GPIOA, {GPIO_PIN_8, GPIO_MODE_OUTPUT_PP, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM,0}, FALSE, TRUE }, // 03 DIPO_eEN + { GPIOB, { GPIO_PIN_6, GPIO_MODE_OUTPUT_PP, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM, 0 }, TRUE, FALSE }, // 00 DIPO_eCS_C + { GPIOB, { GPIO_PIN_5, GPIO_MODE_OUTPUT_PP, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM, 0 }, TRUE, FALSE }, // 01 DIPO_eCS_H + { GPIOA, { GPIO_PIN_10, GPIO_MODE_OUTPUT_PP, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM, 0 }, FALSE, TRUE }, // 02 DIPO_eLED + { GPIOA, { GPIO_PIN_8, GPIO_MODE_OUTPUT_PP, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM, 0 }, FALSE, TRUE }, // 03 DIPO_eEN }; @@ -161,12 +161,12 @@ BOOL DIPO_boInitializeModule( VOID ) // ---------------------- if( DIPO_eInNumberOfInputs > 0 ) { - for( u8Cnt = 0 ; u8Cnt < DIPO_eInNumberOfInputs; u8Cnt++) + for( u8Cnt = 0 ; u8Cnt < DIPO_eInNumberOfInputs; u8Cnt++ ) { boOK &= (m_astInputs[u8Cnt].stGPIOInit.Mode == GPIO_MODE_INPUT) ? TRUE : FALSE; // configure the GIO pin - HAL_GPIO_Init( m_astInputs[u8Cnt].pstPort, (GPIO_InitTypeDef*)&m_astInputs[u8Cnt].stGPIOInit); + HAL_GPIO_Init( m_astInputs[u8Cnt].pstPort, (GPIO_InitTypeDef*)&m_astInputs[u8Cnt].stGPIOInit ); } } @@ -174,14 +174,14 @@ BOOL DIPO_boInitializeModule( VOID ) // ---------------------- if( DIPO_eOutNumberOfOutputs > 0 ) { - for( u8Cnt = 0 ; u8Cnt < DIPO_eOutNumberOfOutputs; u8Cnt++) + for( u8Cnt = 0 ; u8Cnt < DIPO_eOutNumberOfOutputs; u8Cnt++ ) { boOK &= (m_astOutputs[u8Cnt].stGPIOInit.Mode == GPIO_MODE_OUTPUT_PP || m_astOutputs[u8Cnt].stGPIOInit.Mode == GPIO_MODE_OUTPUT_OD) ? TRUE : FALSE; // disable output DIPO_vResetOutput( (DIPO_EnDigitalOutput)u8Cnt ); - HAL_GPIO_Init( m_astOutputs[u8Cnt].pstPort, (GPIO_InitTypeDef*)&m_astOutputs[u8Cnt].stGPIOInit); + HAL_GPIO_Init( m_astOutputs[u8Cnt].pstPort, (GPIO_InitTypeDef*)&m_astOutputs[u8Cnt].stGPIOInit ); } } diff --git a/Core/Drivers/DIPO_DigitalPorts.h b/Core/Drivers/DIPO_DigitalPorts.h index 37f69f8..f26d5c7 100644 --- a/Core/Drivers/DIPO_DigitalPorts.h +++ b/Core/Drivers/DIPO_DigitalPorts.h @@ -6,7 +6,7 @@ //------------------------------------------------------------------------------------------------- // // Project: Peltier Controller V2 -// Author: Noah Piqué (noah.pique@psi.ch) +// Author: Noah Piqu� (noah.pique@psi.ch) // //------------------------------------------------------------------------------------------------- // @@ -61,12 +61,12 @@ extern "C" { typedef enum { - DIPO_ePG = 0, // 00 DIP 1 - DIPO_eADR2 = 1, // 01 DIP 2 - DIPO_eADR1 = 2, // 02 DIP 3 - DIPO_eADR0 = 3, // 03 DIP 4 + DIPO_ePG = 0, // 00 DIP 1 + DIPO_eADR2 = 1, // 01 DIP 2 + DIPO_eADR1 = 2, // 02 DIP 3 + DIPO_eADR0 = 3, // 03 DIP 4 - DIPO_eInNumberOfInputs, // Must be last entry + DIPO_eInNumberOfInputs, // Must be last entry } DIPO_EnDigitalInput; @@ -80,11 +80,11 @@ typedef enum DIPO_eCS_C = 0, // 00 Chip Select Cold DIPO_eCS_H = 1, // 01 Chip Select Hot - DIPO_eLED = 2, // 02 Test LED - DIPO_eEN = 3, // 03 Enable + DIPO_eLED = 2, // 02 Test LED + DIPO_eEN = 3, // 03 Enable - DIPO_eOutNumberOfOutputs, // Must be last entry + DIPO_eOutNumberOfOutputs, // Must be last entry } DIPO_EnDigitalOutput; diff --git a/Core/Drivers/PECO_PeltierController.c b/Core/Drivers/PECO_PeltierController.c index 930f1d4..3d8b419 100644 --- a/Core/Drivers/PECO_PeltierController.c +++ b/Core/Drivers/PECO_PeltierController.c @@ -133,7 +133,7 @@ LOCAL CONST osEventFlagsAttr_t stEventAttribute = // Description: Definition of local functions (visible by this module only). //================================================================================================= -PRIVATE VOID PECO_vTask( PVOID arg ); +PRIVATE VOID vTask( PVOID arg ); BOOL boSetPeltierVoltage( FLOAT Voltage ); PRIVATE VOID vEventCallback( PVOID pvData ); @@ -165,9 +165,9 @@ BOOL PECO_boInitializeModule( VOID ) { BOOL boOK = TRUE; - boOK &= ((m_pstThreadID = osThreadNew( PECO_vTask, NULL, &stTaskAttribute )) == NULL ) ? FALSE : TRUE; - boOK &= ((m_pstEventID = osEventFlagsNew( &stEventAttribute )) == NULL) ? FALSE : TRUE; - boOK &= (m_pstUpdateTimer = osTimerNew( vEventCallback, osTimerPeriodic, (PVOID)EVENT_TIMER_UPDATE, &stTimerAttribute )) == NULL ? FALSE : TRUE; + boOK &= ( ( m_pstThreadID = osThreadNew( vTask, NULL, &stTaskAttribute ) ) == NULL ) ? FALSE : TRUE; + boOK &= ( ( m_pstEventID = osEventFlagsNew( &stEventAttribute ) ) == NULL) ? FALSE : TRUE; + boOK &= ( m_pstUpdateTimer = osTimerNew( vEventCallback, osTimerPeriodic, (PVOID)EVENT_TIMER_UPDATE, &stTimerAttribute ) ) == NULL ? FALSE : TRUE; boSetPeltierVoltage(0); @@ -218,12 +218,12 @@ BOOL PECO_isEnabled( VOID ){ //================================================================================================= //------------------------------------------------------------------------------------------------- -// Function: PECO_vTask -// Description: PECO_vTask +// Function: vTask +// Description: Task // Parameters: None // Returns: None //------------------------------------------------------------------------------------------------- -VOID PECO_vTask( PVOID arg ) +VOID vTask( PVOID arg ) { UNUSED( arg ); @@ -241,21 +241,21 @@ VOID PECO_vTask( PVOID arg ) if( u32Flags & EVENT_TIMER_UPDATE ) { - if (VARH_uGetVariableData(VARH_eMode).u32Val == PECO_eConstTemp) + if ( VARH_u32GetVariableData( VARH_eMode ) == PECO_eConstTemp ) { // TODO: check the measurements, everything ok? // PID Regelung - FLOAT kp = VARH_uGetVariableData(VARH_ePID_kp).flVal; - FLOAT ki = VARH_uGetVariableData(VARH_ePID_ki).flVal; - FLOAT kd = VARH_uGetVariableData(VARH_ePID_kd).flVal; - FLOAT max = VARH_uGetVariableData(VARH_ePID_Max).flVal; - FLOAT min = VARH_uGetVariableData(VARH_ePID_Min).flVal; + FLOAT kp = VARH_flGetVariableData( VARH_ePID_kp ); + FLOAT ki = VARH_flGetVariableData( VARH_ePID_ki ); + FLOAT kd = VARH_flGetVariableData( VARH_ePID_kd ); + FLOAT max = VARH_flGetVariableData( VARH_ePID_Max ); + FLOAT min = VARH_flGetVariableData( VARH_ePID_Min ); - FLOAT Tnow = VARH_uGetVariableData(VARH_eTemp_C).flVal; - FLOAT Tset = VARH_uGetVariableData(VARH_ePID_Temp).flVal; + FLOAT Tnow = VARH_flGetVariableData( VARH_eTemp_C ); + FLOAT Tset = VARH_flGetVariableData( VARH_ePID_Temp ); // -error FLOAT error = Tnow - Tset; @@ -268,24 +268,24 @@ VOID PECO_vTask( PVOID arg ) FLOAT I = ki * integral; // derivative term - FLOAT D = kd * (error - last_error) / dT; + FLOAT D = kd * ( error - last_error ) / dT; last_error = error; // total FLOAT output = P + I + D; // limitter - if (output > max){ + if ( output > max ){ output = max; - } else if (output < min){ + } else if ( output < min ){ output = min; } - boSetPeltierVoltage(output); // set the output + boSetPeltierVoltage( output ); // set the output - } else if (VARH_uGetVariableData(VARH_eMode).u32Val == PECO_eConst_Voltage) + } else if ( VARH_u32GetVariableData( VARH_eMode ) == PECO_eConst_Voltage ) { - boSetPeltierVoltage(VARH_uGetVariableData(VARH_eControlVoltage).flVal); // set the output + boSetPeltierVoltage( VARH_flGetVariableData( VARH_eControlVoltage ) ); // set the output } } @@ -307,7 +307,7 @@ BOOL boSetPeltierVoltage( FLOAT Voltage ){ if( Voltage > 12 ) Voltage = 12; if( Voltage < -3 ) Voltage = -3; - ANPO_boSetVoltage( (((FLOAT)Voltage) + 20.088) / 34.103 ); + ANPO_boSetVoltage( ( ( (FLOAT)Voltage ) + 20.088) / 34.103 ); return( boOK ); } diff --git a/Core/Drivers/SPID_SpiDriver.c b/Core/Drivers/SPID_SpiDriver.c index 783288a..52988e5 100644 --- a/Core/Drivers/SPID_SpiDriver.c +++ b/Core/Drivers/SPID_SpiDriver.c @@ -197,7 +197,7 @@ BOOL SPID_boSend( SPID_StHandle* pstHandle ) u32Flags = osEventFlagsWait( m_pstEventID, m_astSPI[pstHandle->enSPI].u32SPICompleteFlag | m_astSPI[pstHandle->enSPI].u32SPIErrorFlag, osFlagsWaitAny, osWaitForever ); } - boOK &= (u32Flags & m_astSPI[pstHandle->enSPI].u32SPIErrorFlag) ? FALSE : TRUE; + boOK &= ( u32Flags & m_astSPI[pstHandle->enSPI].u32SPIErrorFlag ) ? FALSE : TRUE; osMutexRelease( m_astSPI[pstHandle->enSPI].pstMutexID ); @@ -238,7 +238,7 @@ BOOL SPID_boSendReceive( SPID_StHandle* pstHandle ) u32Flags = osEventFlagsWait( m_pstEventID, m_astSPI[pstHandle->enSPI].u32SPICompleteFlag | m_astSPI[pstHandle->enSPI].u32SPIErrorFlag, osFlagsWaitAny, osWaitForever ); } - boOK &= (u32Flags & m_astSPI[pstHandle->enSPI].u32SPIErrorFlag) ? FALSE : TRUE; + boOK &= ( u32Flags & m_astSPI[pstHandle->enSPI].u32SPIErrorFlag ) ? FALSE : TRUE; osMutexRelease( m_astSPI[pstHandle->enSPI].pstMutexID ); diff --git a/Core/Drivers/TEMP_Temperature.c b/Core/Drivers/TEMP_Temperature.c index d4e3b19..73cd02f 100644 --- a/Core/Drivers/TEMP_Temperature.c +++ b/Core/Drivers/TEMP_Temperature.c @@ -73,7 +73,7 @@ //================================================================================================= PRIVATE FLOAT flConvertADCData( U16 dbRTemp ); -PRIVATE VOID vTempTask( PVOID arg ); +PRIVATE VOID vTask( PVOID arg ); //================================================================================================= // Section: LOCAL CONSTANTS @@ -126,7 +126,7 @@ BOOL TEMP_boInitializeModule( VOID ) { BOOL boOK = TRUE; - boOK &= ((m_pstThreadID = osThreadNew( vTempTask, NULL, &stTaskAttribute )) == NULL ) ? FALSE : TRUE; + boOK &= ((m_pstThreadID = osThreadNew( vTask, NULL, &stTaskAttribute )) == NULL ) ? FALSE : TRUE; return( boOK ); } @@ -142,7 +142,7 @@ BOOL TEMP_boInitializeModule( VOID ) // Parameters: None // Returns: None //------------------------------------------------------------------------------------------------- -PRIVATE VOID vTempTask( PVOID arg ) +PRIVATE VOID vTask( PVOID arg ) { UNUSED( arg ); U32 u32Flags; @@ -156,15 +156,15 @@ PRIVATE VOID vTempTask( PVOID arg ) while( TRUE ) { - boOK &= ADCD_boReadData(ADCD_eHot, &error, &u16ADC_data[ADCD_eHot]); - boOK &= ADCD_boReadData(ADCD_eCold, &error, &u16ADC_data[ADCD_eCold]); + boOK &= ADCD_boReadData( ADCD_eHot, &error, &u16ADC_data[ADCD_eHot] ); + boOK &= ADCD_boReadData( ADCD_eCold, &error, &u16ADC_data[ADCD_eCold] ); if( boOK ) { flTempData[ADCD_eHot] = flConvertADCData( u16ADC_data[ADCD_eHot] ); flTempData[ADCD_eCold] = flConvertADCData( u16ADC_data[ADCD_eCold] ); - VARH_vSetVariableDataFromSystem( VARH_eTemp_H, (VARH_UVariable)flTempData[ADCD_eHot] ); - VARH_vSetVariableDataFromSystem( VARH_eTemp_C, (VARH_UVariable)flTempData[ADCD_eCold] ); - VARH_vSetVariableDataFromSystem( VARH_eTemp_Diff, (VARH_UVariable)(flTempData[ADCD_eHot] - flTempData[ADCD_eCold]) ); + VARH_vSetVariableDataFromSystemFloat( VARH_eTemp_H, flTempData[ADCD_eHot] ); + VARH_vSetVariableDataFromSystemFloat( VARH_eTemp_C, flTempData[ADCD_eCold] ); + VARH_vSetVariableDataFromSystemFloat( VARH_eTemp_Diff, flTempData[ADCD_eHot] - flTempData[ADCD_eCold] ); } diff --git a/Core/Drivers/USFL_UserFlash.c b/Core/Drivers/USFL_UserFlash.c index 7a10f0e..eb05154 100644 --- a/Core/Drivers/USFL_UserFlash.c +++ b/Core/Drivers/USFL_UserFlash.c @@ -35,7 +35,7 @@ // *(.user_data) // . = ALIGN(4); // } > DATA*/ -// +// ... //=================================================================================================