Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -r55a6adaf81175d25c1d9cc4c96d7dfda84eede16 -ra4236a98b2de7d007173862dfe6b114bce08f90f --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision 55a6adaf81175d25c1d9cc4c96d7dfda84eede16) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision a4236a98b2de7d007173862dfe6b114bce08f90f) @@ -35,43 +35,43 @@ /// Defined states for the pressure and occlusion monitor state machine typedef enum PresOccl_States { - PRESSURE_INIT_STATE = 0, /// Initialization state - PRESSURE_CONTINUOUS_READ_STATE, /// Continuous read sensors state + PRESSURE_INIT_STATE = 0, ///< Initialization state + PRESSURE_CONTINUOUS_READ_STATE, ///< Continuous read sensors state NUM_OF_PRESSURE_STATES } PRESSURE_STATE_T; /// Defined states for the pressure and occlusion self test state machine typedef enum PresOccl_Self_Test_States { - PRESSURE_SELF_TEST_STATE_START = 0, /// Self test start state - PRESSURE_TEST_STATE_IN_PROGRESS, /// Self test in progress state - PRESSURE_TEST_STATE_COMPLETE, /// Self test completed state + PRESSURE_SELF_TEST_STATE_START = 0, ///< Self test start state + PRESSURE_TEST_STATE_IN_PROGRESS, ///< Self test in progress state + PRESSURE_TEST_STATE_COMPLETE, ///< Self test completed state NUM_OF_PRESSURE_SELF_TEST_STATES } PRESSURE_SELF_TEST_STATE_T; // ********** private data ********** -static PRESSURE_STATE_T presOcclState = PRESSURE_INIT_STATE; /// current state of pressure monitor state machine -static U32 presOcclDataPublicationTimerCounter = 0; /// used to schedule pressure data publication to CAN bus +static PRESSURE_STATE_T presOcclState = PRESSURE_INIT_STATE; ///< current state of pressure monitor state machine +static U32 presOcclDataPublicationTimerCounter = 0; ///< used to schedule pressure data publication to CAN bus -DATA_DECL( U32, PresOcclDataPub, presOcclDataPublishInterval, PRES_OCCL_DATA_PUB_INTERVAL, PRES_OCCL_DATA_PUB_INTERVAL ); /// interval (in ms) at which to publish pressure/occlusion data to CAN bus -DATA_DECL( F32, ArterialPressure, arterialPressure, 0, 0 ); /// measured arterial pressure -DATA_DECL( F32, VenousPressure, venousPressure, 0.0, 0.0 ); /// measured venous pressure -DATA_DECL( F32, BloodPumpOcclusion, bloodPumpOcclusion, 0.0, 0.0 ); /// measured blood pump occlusion pressure -DATA_DECL( F32, DialInPumpOcclusion, dialInPumpOcclusion, 0.0, 0.0 ); /// measured dialysate inlet pump occlusion pressure -DATA_DECL( F32, DialOutPumpOcclusion, dialOutPumpOcclusion, 0.0, 0.0 ); /// measured dialysate outlet pump occlusion pressure +DATA_DECL( U32, PresOcclDataPub, presOcclDataPublishInterval, PRES_OCCL_DATA_PUB_INTERVAL, PRES_OCCL_DATA_PUB_INTERVAL ); ///< interval (in ms) at which to publish pressure/occlusion data to CAN bus +DATA_DECL( F32, ArterialPressure, arterialPressure, 0, 0 ); ///< measured arterial pressure +DATA_DECL( F32, VenousPressure, venousPressure, 0.0, 0.0 ); ///< measured venous pressure +DATA_DECL( F32, BloodPumpOcclusion, bloodPumpOcclusion, 0.0, 0.0 ); ///< measured blood pump occlusion pressure +DATA_DECL( F32, DialInPumpOcclusion, dialInPumpOcclusion, 0.0, 0.0 ); ///< measured dialysate inlet pump occlusion pressure +DATA_DECL( F32, DialOutPumpOcclusion, dialOutPumpOcclusion, 0.0, 0.0 ); ///< measured dialysate outlet pump occlusion pressure -static PRESSURE_SELF_TEST_STATE_T presOcclSelfTestState = PRESSURE_SELF_TEST_STATE_START; /// current pressure self test state -static U32 bloodPumpSelfTestTimerCount = 0; /// timer counter for pressure self test +static PRESSURE_SELF_TEST_STATE_T presOcclSelfTestState = PRESSURE_SELF_TEST_STATE_START; ///< current pressure self test state +static U32 bloodPumpSelfTestTimerCount = 0; ///< timer counter for pressure self test -static F32 arterialPressureLowLimitmmHG = 0.0; /// lower alarm limit for arterial pressure -static F32 arterialPressureHighLimitmmHG = 0.0; /// upper alarm limit for arterial pressure -static F32 venousPressureLowLimitmmHG = 0.0; /// lower alarm limit for venous pressure -static F32 venousPressureHighLimitmmHG = 0.0; /// upper alarm limit for venous pressure +static F32 arterialPressureLowLimitmmHG = 0.0; ///< lower alarm limit for arterial pressure +static F32 arterialPressureHighLimitmmHG = 0.0; ///< upper alarm limit for arterial pressure +static F32 venousPressureLowLimitmmHG = 0.0; ///< lower alarm limit for venous pressure +static F32 venousPressureHighLimitmmHG = 0.0; ///< upper alarm limit for venous pressure // TODO - set thresholds for occlusions -static F32 bloodPumpOcclusionPressureThresholdmmHG = 50.0; /// pressure threshold for blood pump occlusion -static F32 dialInPumpOcclusionPressureThresholdmmHG = 50.0; /// pressure threshold for dialysate inlet pump occlusion -static F32 dialOutPumpOcclusionPressureThresholdmmHG = 50.0; /// pressure threshold for dialysate outlet pump occlusion +static F32 bloodPumpOcclusionPressureThresholdmmHG = 50.0; ///< pressure threshold for blood pump occlusion +static F32 dialInPumpOcclusionPressureThresholdmmHG = 50.0; ///< pressure threshold for dialysate inlet pump occlusion +static F32 dialOutPumpOcclusionPressureThresholdmmHG = 50.0; ///< pressure threshold for dialysate outlet pump occlusion // ********** private function prototypes ********** Index: firmware/App/Controllers/PresOccl.h =================================================================== diff -u -r55a6adaf81175d25c1d9cc4c96d7dfda84eede16 -ra4236a98b2de7d007173862dfe6b114bce08f90f --- firmware/App/Controllers/PresOccl.h (.../PresOccl.h) (revision 55a6adaf81175d25c1d9cc4c96d7dfda84eede16) +++ firmware/App/Controllers/PresOccl.h (.../PresOccl.h) (revision a4236a98b2de7d007173862dfe6b114bce08f90f) @@ -30,20 +30,20 @@ // ********** public definitions ********** -// Pressure sensors monitored by this module +/// Pressure sensors monitored by this module typedef enum PressureSensors { - PRESSURE_SENSOR_ARTERIAL = 0, /// arterial blood line pressure sensor - PRESSURE_SENSOR_VENOUS, /// vensous blood line pressure sensor + PRESSURE_SENSOR_ARTERIAL = 0, ///< arterial blood line pressure sensor + PRESSURE_SENSOR_VENOUS, ///< vensous blood line pressure sensor NUM_OF_PRESSURE_SENSORS } PRESSURE_SENSORS_T; -// Occlusion sensors monitored by this module +/// Occlusion sensors monitored by this module typedef enum OcclusionSensors { - OCCLUSION_SENSOR_BLOOD_PUMP = 0, /// blood pump occlusion sensor - OCCLUSION_SENSOR_DIAL_IN_PUMP, /// dialysate inlet pump occlusion sensor - OCCLUSION_SENSOR_DIAL_OUT_PUMP, /// dialysate outlet pump occlusion sensor + OCCLUSION_SENSOR_BLOOD_PUMP = 0, ///< blood pump occlusion sensor + OCCLUSION_SENSOR_DIAL_IN_PUMP, ///< dialysate inlet pump occlusion sensor + OCCLUSION_SENSOR_DIAL_OUT_PUMP, ///< dialysate outlet pump occlusion sensor NUM_OF_OCCLUSION_SENSORS } OCCLUSION_SENSORS_T; Index: firmware/App/Services/PIControllers.c =================================================================== diff -u -r55a6adaf81175d25c1d9cc4c96d7dfda84eede16 -ra4236a98b2de7d007173862dfe6b114bce08f90f --- firmware/App/Services/PIControllers.c (.../PIControllers.c) (revision 55a6adaf81175d25c1d9cc4c96d7dfda84eede16) +++ firmware/App/Services/PIControllers.c (.../PIControllers.c) (revision a4236a98b2de7d007173862dfe6b114bce08f90f) @@ -34,20 +34,20 @@ /// record for PI controller typedef struct { // -- PI's parameters -- - F32 Kp; /// Proportional Value - F32 Ki; /// Integral Value - F32 uMax; /// Maximum control signal - F32 uMin; /// Minimum control signal + F32 Kp; ///< Proportional Value + F32 Ki; ///< Integral Value + F32 uMax; ///< Maximum control signal + F32 uMin; ///< Minimum control signal // -- PI's signals -- - F32 referenceSignal; /// reference signal - F32 measuredSignal; /// measured signal - F32 errorSignal; /// reference - measured signal - F32 errorSumBeforeWindUp; /// error signal before windup correction - F32 errorSum; /// error integral after windup correction - F32 controlSignal; /// actual control signal + F32 referenceSignal; ///< reference signal + F32 measuredSignal; ///< measured signal + F32 errorSignal; ///< reference - measured signal + F32 errorSumBeforeWindUp; ///< error signal before windup correction + F32 errorSum; ///< error integral after windup correction + F32 controlSignal; ///< actual control signal } PI_CONTROLLER_T; -#define SET_CONTROLLER( c, id ) ((c) = &piControllers[id]) /// macro to set a local controller pointer to a given piController +#define SET_CONTROLLER( c, id ) ((c) = &piControllers[id]) ///< macro to set a local controller pointer to a given piController // ********** private data ********** Index: firmware/App/Services/PIControllers.h =================================================================== diff -u -rd830f37cf6a42a16399c87985bd51dfd9312ced3 -ra4236a98b2de7d007173862dfe6b114bce08f90f --- firmware/App/Services/PIControllers.h (.../PIControllers.h) (revision d830f37cf6a42a16399c87985bd51dfd9312ced3) +++ firmware/App/Services/PIControllers.h (.../PIControllers.h) (revision a4236a98b2de7d007173862dfe6b114bce08f90f) @@ -32,23 +32,23 @@ /// Enumeration of PI controllers typedef enum ControllerList { - PI_CONTROLLER_ID_LOAD_CELL = 0, /// Load cell controller for dialysate outlet pump - PI_CONTROLLER_ID_BLOOD_FLOW, /// Flow controller for blood pump - PI_CONTROLLER_ID_DIALYSATE_FLOW, /// Flow controller for dialysate inlet pump + PI_CONTROLLER_ID_LOAD_CELL = 0, ///< Load cell controller for dialysate outlet pump + PI_CONTROLLER_ID_BLOOD_FLOW, ///< Flow controller for blood pump + PI_CONTROLLER_ID_DIALYSATE_FLOW, ///< Flow controller for dialysate inlet pump NUM_OF_PI_CONTROLLERS_IDS } PI_CONTROLLER_ID_T; /// Enumeration of PI controller signals typedef enum ControllerSignals { - CONTROLLER_SIGNAL_REFERENCE = 0, /// Reference value - CONTROLLER_SIGNAL_MEASURED, /// Measured value - CONTROLLER_SIGNAL_ERROR, /// Error value - CONTROLLER_SIGNAL_ERROR_SUM, /// Error sum before anti-windup - CONTROLLER_SIGNAL_ERROR_SUM_AFTER_WINDUP, /// Error sum after anti-windup - CONTROLLER_SIGNAL_PROPORTIONAL_OUTPUT, /// P portion of controller output signal - CONTROLLER_SIGNAL_INTEGRAL_OUTPUT, /// I portion of controller output signal - CONTROLLER_SIGNAL_CONTROL, /// Controller output signal + CONTROLLER_SIGNAL_REFERENCE = 0, ///< Reference value + CONTROLLER_SIGNAL_MEASURED, ///< Measured value + CONTROLLER_SIGNAL_ERROR, ///< Error value + CONTROLLER_SIGNAL_ERROR_SUM, ///< Error sum before anti-windup + CONTROLLER_SIGNAL_ERROR_SUM_AFTER_WINDUP, ///< Error sum after anti-windup + CONTROLLER_SIGNAL_PROPORTIONAL_OUTPUT, ///< P portion of controller output signal + CONTROLLER_SIGNAL_INTEGRAL_OUTPUT, ///< I portion of controller output signal + CONTROLLER_SIGNAL_CONTROL, ///< Controller output signal NUM_OF_CONTROLLER_SIGNAL } PI_CONTROLLER_SIGNALS_ID;