Compare commits
No commits in common. "d2de7da0e3d94d8e4d3b3e7e459b2d49b2bbd110" and "e081882ad7b8b6dc30db1db48fbcbb4cd724d70f" have entirely different histories.
d2de7da0e3
...
e081882ad7
|
|
@ -60,6 +60,7 @@ void AnalogMeasurementReadData(uint32 channel_u32, uint32 *adcValue_pu32)
|
||||||
{
|
{
|
||||||
return; /* Prevent dereferencing NULL pointer */
|
return; /* Prevent dereferencing NULL pointer */
|
||||||
}
|
}
|
||||||
|
__disable_irq();
|
||||||
switch (channel_u32)
|
switch (channel_u32)
|
||||||
{
|
{
|
||||||
case PS1_ADC_CHANNEL: *adcValue_pu32 = adcBuffer_u32[0]; break;
|
case PS1_ADC_CHANNEL: *adcValue_pu32 = adcBuffer_u32[0]; break;
|
||||||
|
|
@ -75,6 +76,7 @@ void AnalogMeasurementReadData(uint32 channel_u32, uint32 *adcValue_pu32)
|
||||||
case FM4_ADC_CHANNEL: *adcValue_pu32 = adcBuffer_u32[8]; break;
|
case FM4_ADC_CHANNEL: *adcValue_pu32 = adcBuffer_u32[8]; break;
|
||||||
default: *adcValue_pu32 = 0uL; break;
|
default: *adcValue_pu32 = 0uL; break;
|
||||||
}
|
}
|
||||||
|
__enable_irq();
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
|
|
|
||||||
|
|
@ -45,9 +45,9 @@ void GrundfosPmpEnable(uint8 state_u8)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
uint32 GrundfosPmpFeedback(uint8 channel_u8)
|
uint32 GrundfosPmpFeedbackSpeed(uint8 channel_u8)
|
||||||
{
|
{
|
||||||
uint32 feedbackSpeed_u32 = (GrundfosPmpReadVoltage(channel_u8)) * 360u;
|
uint32 feedbackSpeed_u32 = (GrundfosPmpReadVoltage(channel_u8)) * 360uL;
|
||||||
|
|
||||||
return feedbackSpeed_u32;
|
return feedbackSpeed_u32;
|
||||||
}
|
}
|
||||||
|
|
@ -93,10 +93,9 @@ bool GrundfosPmpSetSpeed(float32 setSpeed_f32)
|
||||||
static uint32 GrundfosPmpReadVoltage(uint8 channel_u8)
|
static uint32 GrundfosPmpReadVoltage(uint8 channel_u8)
|
||||||
{
|
{
|
||||||
/* Convert ADC value to voltage (assuming 12-bit resolution and 3.3V reference) */
|
/* Convert ADC value to voltage (assuming 12-bit resolution and 3.3V reference) */
|
||||||
float32 voltage_f32 = 0.0f;
|
|
||||||
uint32 adcVal_u32 = 0uL;
|
uint32 adcVal_u32 = 0uL;
|
||||||
AnalogMeasurementReadData(channel_u8, &adcVal_u32);
|
AnalogMeasurementReadData(channel_u8, &adcVal_u32);
|
||||||
voltage_f32 = adcVal_u32 * (uint32)(ANALOG_MEAS_ADC_REF_VOLTAGE / ANALOG_MEAS_ADC_RESOLUTION);
|
float32 voltage_f32 = (float32)adcVal_u32 * (ANALOG_MEAS_ADC_REF_VOLTAGE / ANALOG_MEAS_ADC_RESOLUTION);
|
||||||
|
|
||||||
return voltage_f32;
|
return voltage_f32;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ typedef struct
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Extern Function Declarations
|
* Extern Function Declarations
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
uint32 GrundfosPmpFeedback(uint8 channel_u8);
|
uint32 GrundfosPmpFeedbackSpeed(uint8 channel_u8);
|
||||||
void GrundfosPmpEnable(uint8_t state_u8);
|
void GrundfosPmpEnable(uint8_t state_u8);
|
||||||
bool GrundfosPmpSetSpeed(float setSpeed_f);
|
bool GrundfosPmpSetSpeed(float setSpeed_f);
|
||||||
#endif /* GRUNDFOS_H_ */
|
#endif /* GRUNDFOS_H_ */
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,6 @@ static float PressureSensorReadVoltage(uint32 channel_u32);
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
void PressureSensorInit(PressureSensorMain_st *pressureSensor_pst)
|
void PressureSensorInit(PressureSensorMain_st *pressureSensor_pst)
|
||||||
{
|
{
|
||||||
pressureSensor_pst->rawT_f32 = 0.0f;
|
|
||||||
if (pressureSensor_pst == NULL)
|
if (pressureSensor_pst == NULL)
|
||||||
{
|
{
|
||||||
/* ERROR */
|
/* ERROR */
|
||||||
|
|
|
||||||
|
|
@ -30,19 +30,19 @@
|
||||||
#define PROCESS_BOARD_VALVE_POS_INDEX 0x6002
|
#define PROCESS_BOARD_VALVE_POS_INDEX 0x6002
|
||||||
#define PROCESS_BOARD_VALVE_FLOW_INDEX 0x6006
|
#define PROCESS_BOARD_VALVE_FLOW_INDEX 0x6006
|
||||||
#define PROCESS_BOARD_VALVE_PRESSURE_INDEX 0x6001
|
#define PROCESS_BOARD_VALVE_PRESSURE_INDEX 0x6001
|
||||||
|
|
||||||
#define PROCESS_BOARD_VALVE_SUB_INDEX 0x0
|
#define PROCESS_BOARD_VALVE_SUB_INDEX 0x0
|
||||||
|
|
||||||
#define PU_CANOPEN_SLAVE_LINE 0u
|
#define PU_CANOPEN_SLAVE_LINE 0u
|
||||||
#define PU_CANOPEN_MASTER_LINE 1u
|
#define PU_CANOPEN_MASTER_LINE 1u
|
||||||
|
|
||||||
|
|
||||||
#define PU_PUMP_SPEED_CHANGE_INTERVAL 900000uLL
|
#define PU_PUMP_SPEED_CHANGE_INTERVAL 900000uLL
|
||||||
#define PU_PUMP_MAX_SPEED 10u
|
#define PU_PUMP_MAX_SPEED 10u
|
||||||
#define PU_PUMP_MIN_SPEED 0u
|
#define PU_PUMP_MIN_SPEED 0u
|
||||||
|
|
||||||
#define PU_PMP_ENABLE 1u
|
#define PU_PMP_ENABLE 1u
|
||||||
#define PU_PMP_DISABLE 0u
|
#define PU_PMP_DISABLE 0u
|
||||||
#define PU_PMP_RATED_SPEED 3500uL
|
|
||||||
|
|
||||||
#define PU_MAX_PRESSURE 20u
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Global variables
|
* Global variables
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
@ -114,11 +114,6 @@ void ProcessBoardInit(void)
|
||||||
FlowmeterInit(&flowmeterFM2_gst);
|
FlowmeterInit(&flowmeterFM2_gst);
|
||||||
FlowmeterInit(&flowmeterFM3_gst);
|
FlowmeterInit(&flowmeterFM3_gst);
|
||||||
FlowmeterInit(&flowmeterFM4_gst);
|
FlowmeterInit(&flowmeterFM4_gst);
|
||||||
|
|
||||||
PressureSensorInit(&pressureSensorPS1_gst);
|
|
||||||
PressureSensorInit(&pressureSensorPS2_gst);
|
|
||||||
PressureSensorInit(&pressureSensorPS3_gst);
|
|
||||||
PressureSensorInit(&pressureSensorPS4_gst);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -178,9 +173,9 @@ void ProcessBoardRun(void)
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
static void ProcessBoardGrundfosPumpHandler(void)
|
static void ProcessBoardGrundfosPumpHandler(void)
|
||||||
{
|
{
|
||||||
static uint32 pmpSpeed_u32 = 0uL;
|
static uint32 pmpSpeed_u32 = 0uL;
|
||||||
static uint8 speed_u8 = 0u;
|
static uint8 speed_u8 = 0u;
|
||||||
static uint64 startTime_u64 = 0uLL;
|
static uint64 startTime_u64 = 0uLL;
|
||||||
uint64 currentTimeMs_u64;
|
uint64 currentTimeMs_u64;
|
||||||
|
|
||||||
HalSystemGetRunTimeMs(¤tTimeMs_u64);
|
HalSystemGetRunTimeMs(¤tTimeMs_u64);
|
||||||
|
|
@ -194,16 +189,7 @@ static void ProcessBoardGrundfosPumpHandler(void)
|
||||||
|
|
||||||
if ((currentTimeMs_u64 - startTime_u64) >= PU_PUMP_SPEED_CHANGE_INTERVAL)
|
if ((currentTimeMs_u64 - startTime_u64) >= PU_PUMP_SPEED_CHANGE_INTERVAL)
|
||||||
{
|
{
|
||||||
if (pressureSensorPS1_gst.rawT_f32 > PU_MAX_PRESSURE || pressureSensorPS2_gst.rawT_f32 > PU_MAX_PRESSURE ||
|
if (speed_u8 < PU_PUMP_MAX_SPEED)
|
||||||
pressureSensorPS3_gst.rawT_f32 > PU_MAX_PRESSURE || pressureSensorPS4_gst.rawT_f32 > PU_MAX_PRESSURE)
|
|
||||||
{
|
|
||||||
/* Decrease speed if pressure is too high */
|
|
||||||
if (speed_u8 > PU_PUMP_MIN_SPEED)
|
|
||||||
{
|
|
||||||
speed_u8 -= 2u;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (speed_u8 < PU_PUMP_MAX_SPEED)
|
|
||||||
{
|
{
|
||||||
speed_u8 += 2u;
|
speed_u8 += 2u;
|
||||||
}
|
}
|
||||||
|
|
@ -215,19 +201,19 @@ static void ProcessBoardGrundfosPumpHandler(void)
|
||||||
GrundfosPmpSetSpeed(speed_u8);
|
GrundfosPmpSetSpeed(speed_u8);
|
||||||
|
|
||||||
startTime_u64 = currentTimeMs_u64;
|
startTime_u64 = currentTimeMs_u64;
|
||||||
}
|
|
||||||
|
|
||||||
/* Grundfos Pump feedback speed OUT */
|
/* Grundfos Pump feedback speed OUT */
|
||||||
pmpSpeed_u32 = GrundfosPmpFeedback(PMP_ADC_CHANNEL);
|
pmpSpeed_u32 = GrundfosPmpFeedbackSpeed(PMP_ADC_CHANNEL);
|
||||||
|
|
||||||
if (pmpSpeed_u32 > PU_PMP_RATED_SPEED)
|
/* To be verified */
|
||||||
{
|
if (pmpSpeed_u32 > PU_PUMP_MAX_SPEED)
|
||||||
GrundfosPmpEnable(PU_PMP_DISABLE);
|
{
|
||||||
|
GrundfosPmpEnable(PU_PMP_DISABLE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void ProcessBoardTriggerMvPosCtrl(uint8 motorId_u8, uint8 posData_u8)
|
static void ProcessBoardTriggerMvPosCtrl(uint8 motorId_u8, uint8 posData_u8)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -129,7 +129,6 @@ void SdlInit(void)
|
||||||
{
|
{
|
||||||
testBenchStarted_b = false;
|
testBenchStarted_b = false;
|
||||||
SdlInitCanopen();
|
SdlInitCanopen();
|
||||||
ProcessBoardInit();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user