Index: firmware/App/Drivers/RotaryValve.h =================================================================== diff -u -re69d7ce1c9d88695e25e8ea94529dffdd8592434 -re24a98a344ba13ceb0663b415268a7e1dd5ce99e --- firmware/App/Drivers/RotaryValve.h (.../RotaryValve.h) (revision e69d7ce1c9d88695e25e8ea94529dffdd8592434) +++ firmware/App/Drivers/RotaryValve.h (.../RotaryValve.h) (revision e24a98a344ba13ceb0663b415268a7e1dd5ce99e) @@ -1,17 +1,17 @@ /************************************************************************** * -* Copyright (c) 2024-2024 Diality Inc. - All Rights Reserved. +* Copyright (c) 2024-2025 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file RotaryValve.h * -* @author (last) Sean -* @date (last) 03-Oct-2024 +* @author (last) Dara Navaei +* @date (last) 09-Nov-2025 * -* @author (original) Sean -* @date (original) 03-Oct-2024 +* @author (original) Sean Nash +* @date (original) 24-Oct-2024 * ***************************************************************************/ @@ -33,28 +33,33 @@ // ********** public definitions ********** -#define ROTARY_VALVE_MICROSTEP_FRACTION 32 ///< Rotary valve motors configured for 1/32 step microstepping. +#define ROTARY_VALVE_MICROSTEP_FRACTION 8 ///< Rotary valve motors configured for 1/8 step microstepping. #define ROTARY_VALVE_GEAR_RATIO 3.7F ///< Rotary valve motor gear ratio is 3.7:1. -#define ROTARY_VALVE_FULL_SWING_TRAVEL_DEG 200.0F ///< Rotary valve swing arm travel range is appx. 200 degrees. -#define ROTARY_VALVE_FULL_SWING_TRAVEL_COUNTS 2048 ///< Rotary valve swing arm travel range is appx. 2048 enconder counts. +#define ROTARY_VALVE_INIT_FULL_SWING_COUNTS 1880 ///< Rotary valve swing arm travel range is appx. micro steps. +#define ROTARY_VALVE_ENERGIZED_EDGE_MAX_COUNTS 1900 ///< Rotary valve energized edge maximum allowed counts. +#define ROTARY_VALVE_ENERGIZED_EDGE_MIN_COUNTS 1700 ///< Rotary valve energized edge minimum allowed counts. /// rotary pinch valve names typedef enum valveNames { - H1_VALV = 0, ///< Arterial rotary pinch valve - FIRST_VALVE = H1_VALV, ///< First valve - H19_VALV, ///< Venous rotary pinch valve - NUM_OF_VALVES ///< Number of valves + H1_VALV = 0, ///< Arterial rotary pinch valve + FIRST_VALVE = H1_VALV, ///< First valve + H19_VALV, ///< Venous rotary pinch valve + NUM_OF_VALVES ///< Number of valves } VALVE_T; // ********** public function prototypes ********** void initRotaryValvesDriver( void ); void readValves( void ); void setValveCmdChangePosition( VALVE_T valve, U16 mag, MOTOR_DIR_T dir ); -S16 getValveCmdTravel( VALVE_T valve ); S16 getValveEncoderPosition( VALVE_T valve ); +void resetValve( VALVE_T valve ); +void resetValveEncoder( VALVE_T valve ); +void enableValve( VALVE_T valve ); +void setValveZeroEncoderPosition( VALVE_T valve ); + BOOL testValveEncoderPositionOverride( MESSAGE_T *message ); BOOL testValveStatusOverride( MESSAGE_T *message ); BOOL testSetValve( MESSAGE_T *message );