Index: firmware/App/Controllers/SyringePump.c =================================================================== diff -u -rcf7f4d116efb36b993fd9b27af677d9da468c50e -r7de21ac8b699cafdfeaefbf2c062c3e21bcc956d --- firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision cf7f4d116efb36b993fd9b27af677d9da468c50e) +++ firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision 7de21ac8b699cafdfeaefbf2c062c3e21bcc956d) @@ -91,6 +91,7 @@ /// Expected position of empty in relation to home position. #define SYRINGE_PUMP_EMPTY_POS ( SYRINGE_ENCODER_COUNTS_PER_ML * 10.84F ) + /// Margin of error for empty position determination. #define SYRINGE_PUMP_EMPTY_POS_MARGIN ( SYRINGE_ENCODER_COUNTS_PER_ML * 0.5F ) /// Minimum retract position. @@ -154,8 +155,10 @@ #define SYRINGE_PUMP_STALL_SPEED_THRESHOLD 0.05F ///< Minimum syringe pump speed to be considered not stalled. #define SYRINGE_PUMP_ADC_FPGA_ERROR_TIMEOUT_MS ( 2 * MS_PER_SECOND ) ///< Syringe pump ADC FPGA error timeout in milliseconds. + #define SYRINGE_PUMP_DAC_MAX_RETRIES 5 ///< Syringe pump DAC retries to write. #define SYRINGE_PUMP_DAC_TIMER ( 200 / TASK_PRIORITY_INTERVAL ) ///< Syringe pump DAC timer between retries. + /// Defined states for the syringe pump control state machine. typedef enum SyringePump_States {