Index: firmware/App/Controllers/SyringePump.c =================================================================== diff -u -r2f4f66fcceb986cc592693b08f1b57767cb1c515 -r50086215a9c8977c977f836dcd4c454dd4d7d712 --- firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision 2f4f66fcceb986cc592693b08f1b57767cb1c515) +++ firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision 50086215a9c8977c977f836dcd4c454dd4d7d712) @@ -93,6 +93,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. @@ -156,8 +157,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 {