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
64
65
66
67
68
69
70
71
72
|
/*
* Valve.h
*
* Created on: Apr 29, 2018
* Author: avi
*/
#ifndef DRIVERS_VALVES_VALVE_H_
#define DRIVERS_VALVES_VALVE_H_
#define MAX_IDS_UNITS 8
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_8, //MIDTANK2MANIF4_VALVE_2 // C - Cartridge //
VALVE_2W_MID_AIR_4, //MIDTANK2MANIF4_VALVE_1 // L - Left //
VALVE_2W_MID_AIR_7, //MIDTANK2MANIF3_VALVE_2 // R - Right //
VALVE_2W_MID_AIR_3, //MIDTANK2MANIF3_VALVE_1 // F - Front //
VALVE_2W_MID_AIR_6, //MIDTANK2MANIF2_VALVE_2 // B - Back //
VALVE_2W_MID_AIR_2, //MIDTANK2MANIF2_VALVE_1 // M - Middle //
VALVE_2W_MID_AIR_5, //MIDTANK2MANIF1_VALVE_2 // -------------------- //
VALVE_2W_MID_AIR_1, //MIDTANK2MANIF1_VALVE_1 // A [7] A [8] //
// C [7] C [8] //
// //
// A [5] A [6] //
//Cartridge - Middle Tank // C [5] C [6] //
VALVE_2W_CART_MID_8, //CART2MIDTANK4_VALVE_2 // //
VALVE_2W_CART_MID_4, //CART2MIDTANK4_VALVE_1 // A [3] A [4] //
VALVE_2W_CART_MID_7, //CART2MIDTANK3_VALVE_2 // C [3] C [4] //
VALVE_2W_CART_MID_3, //CART2MIDTANK3_VALVE_1 // //
VALVE_2W_CART_MID_6, //CART2MIDTANK2_VALVE_2 // A [1] A [2] //
VALVE_2W_CART_MID_2, //CART2MIDTANK2_VALVE_1 // C [1] C [2] //
VALVE_2W_CART_MID_5, //CART2MIDTANK1_VALVE_2 // //
VALVE_2W_CART_MID_1, //CART2MIDTANK1_VALVE_1 // FRONT //
//---------------------------------------------------------------------------//
// Waste Valves
VALVE_WASTE_TANK,
VALVE_MIXCHIP_WASTECH,
NUM_OF_VALVES,
} Valves_t;
extern Valves_t IDS_Id_to_AirValve[MAX_IDS_UNITS];
extern Valves_t IDS_Id_to_CartrideValve[MAX_IDS_UNITS];
extern bool IgnoreMidTank;
extern bool MidTankMitigation;
extern int MidTankMitigationOn,MidTankMitigationOff;
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
uint8_t Lubricant_2Way_Valve(bool Direction);
bool GetLubricantState(void);
#endif /* DRIVERS_VALVES_VALVE_H_ */
|