1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
/*
* Valve.h
*
* Created on: Apr 29, 2018
* Author: avi
*/
#ifndef DRIVERS_VALVES_VALVE_H_
#define DRIVERS_VALVES_VALVE_H_
typedef enum
{
//Dispenser Valves
// must be from index 0-7 in order to use Valve3WayModuleCallback and Valve3WayControlId as array of 8 !
VALVE_DISPENSER_1,
VALVE_DISPENSER_2,
VALVE_DISPENSER_3,
VALVE_DISPENSER_4,
VALVE_DISPENSER_5,
VALVE_DISPENSER_6,
VALVE_DISPENSER_7,
VALVE_DISPENSER_8,
//---------------------------------------------------------------------------//
//Dry Air - Middle Tank // A - Air //
VALVE_2W_MID_AIR_LF, //MIDTANK2MANIF4_VALVE_2 // C - Cartridge //
VALVE_2W_MID_AIR_RF, //MIDTANK2MANIF4_VALVE_1 // L - Left //
VALVE_2W_MID_AIR_LMF, //MIDTANK2MANIF3_VALVE_2 // R - Right //
VALVE_2W_MID_AIR_RMF, //MIDTANK2MANIF3_VALVE_1 // F - Front //
VALVE_2W_MID_AIR_LMB, //MIDTANK2MANIF2_VALVE_2 // B - Back //
VALVE_2W_MID_AIR_RMB, //MIDTANK2MANIF2_VALVE_1 // M - Middle //
VALVE_2W_MID_AIR_LB, //MIDTANK2MANIF1_VALVE_2 // -------------------- //
VALVE_2W_MID_AIR_RB, //MIDTANK2MANIF1_VALVE_1 // A [LB] A [RB] //
// C [LB] C [RB] //
// //
// A [LMB] A [RMB] //
//Cartridge - Middle Tank // C [LMB] C [RMB] //
VALVE_2W_CART_MID_LF, //CART2MIDTANK4_VALVE_2 // //
VALVE_2W_CART_MID_RF, //CART2MIDTANK4_VALVE_1 // A [LMF] A [RMF] //
VALVE_2W_CART_MID_LMF, //CART2MIDTANK3_VALVE_2 // C [LMF] C [RMF] //
VALVE_2W_CART_MID_RMF, //CART2MIDTANK3_VALVE_1 // //
VALVE_2W_CART_MID_LMB, //CART2MIDTANK2_VALVE_2 // A [LF] A [RF] //
VALVE_2W_CART_MID_RMB, //CART2MIDTANK2_VALVE_1 // C [LF] C [RF] //
VALVE_2W_CART_MID_LB, //CART2MIDTANK1_VALVE_2 // //
VALVE_2W_CART_MID_RB, //CART2MIDTANK1_VALVE_1 // FRONT //
//---------------------------------------------------------------------------//
// Waste Valves
VALVE_WASTE_TANK,
VALVE_MIXCHIP_WASTECH,
NUM_OF_VALVES,
} Valves_t;
void Valve_Command(Valves_t Valve_Id);
void Valve_Set(Valves_t Valve_Id, bool Direction);
void SetAllDispensersValves(bool Direction);
uint32_t FPGA_GetDispenserValveBusyOCD(uint32_t ValveId, uint32_t dummy);
void FPGA_GetAllDispensersValveBusyOCD(); // MillisecLoop // OCD - Over Current Detection
uint32_t Control3WayValvesWithCallback (Valves_t _ValveId, bool direction, callback_fptr callback); //direction: MidTank_Dispenser or Dispenser_Mixer
#endif /* DRIVERS_VALVES_VALVE_H_ */
|