aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.h
blob: 933c96815d0cc5951574f9435ca43776fddb71aa (plain)
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
/*
 * 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
    VALVE_MIDTANK_To_MANIF_8,//VALVE_MIDTANK_To_MANIF_4_2,
    VALVE_MIDTANK_To_MANIF_4,//VALVE_MIDTANK_To_MANIF_4_1,
    VALVE_MIDTANK_To_MANIF_7,//VALVE_MIDTANK_To_MANIF_3_2,
    VALVE_MIDTANK_To_MANIF_3,//VALVE_MIDTANK_To_MANIF_3_1,
    VALVE_MIDTANK_To_MANIF_6,//VALVE_MIDTANK_To_MANIF_2_2,
    VALVE_MIDTANK_To_MANIF_2,//VALVE_MIDTANK_To_MANIF_2_1,
    VALVE_MIDTANK_To_MANIF_5,//VALVE_MIDTANK_To_MANIF_1_2,
    VALVE_MIDTANK_To_MANIF_1,//VALVE_MIDTANK_To_MANIF_1_1,

    //Cartridge - Middle Tank
    VALVE_CART_To_MIDTANK_8,//VALVE_CART_To_MIDTANK_4_2,
    VALVE_CART_To_MIDTANK_4,//VALVE_CART_To_MIDTANK_4_1,
    VALVE_CART_To_MIDTANK_7,//VALVE_CART_To_MIDTANK_3_2,
    VALVE_CART_To_MIDTANK_3,//VALVE_CART_To_MIDTANK_3_1,
    VALVE_CART_To_MIDTANK_6,//VALVE_CART_To_MIDTANK_2_2,
    VALVE_CART_To_MIDTANK_2,//VALVE_CART_To_MIDTANK_2_1,
    VALVE_CART_To_MIDTANK_5,//VALVE_CART_To_MIDTANK_1_2,
    VALVE_CART_To_MIDTANK_1,//VALVE_CART_To_MIDTANK_1_1,

    // 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_ */