aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.h
blob: dd1d2ddfbdeddd0352b4a5130a9efe1718df0e23 (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
/*
 * InitSequence.h
 *
 *  Created on: Feb 12, 2019
 *      Author: shlomo
 */

#ifndef STATEMACHINES_INITIALIZATION_INITSEQUENCE_H_
#define STATEMACHINES_INITIALIZATION_INITSEQUENCE_H_

    typedef enum
    {
        MACHINE_STATE_INIT,
        MACHINE_STATE_NO_CFG_FILE,
        MACHINE_STATE_HW_CONFIG,
        MACHINE_STATE_HW_CONFIG_FAILED,
        MACHINE_STATE_BUILT_IN_FAILED,
        MACHINE_STATE_BUILT_IN_TEST,
        MACHINE_STATE_INITIAL_BLOWER_ACTIVATION,
        MACHINE_STATE_INITIAL_BLOWER_FAILED,
        MACHINE_STATE_WAIT_FOR_COOLER,
        MACHINE_STATE_DISPENSER_PRESSURE_BUILDUP_TEST,
        MACHINE_STATE_DISPENSER_PRESSURE_BUILDUP_FAILED,
        MACHINE_STATE_THREAD_DETECTION,
        MACHINE_STATE_NO_THREAD_DETECTED,
        MACHINE_STATE_NO_PROCESS_PARAMS,
        MACHINE_STATE_HEATING_STARTED,
        MACHINE_STATE_MACHINE_READY_TO_DYE,
        MACHINE_STATE_MAX,
    }MACHINE_STATE_STAGES_ENUM;

extern char PowerUpToken[36+1];

uint32_t Start_InitSequence(void);
void StopInitSequence(void);
MACHINE_STATE_STAGES_ENUM GetMachineState(void);
void SetMachineState(MACHINE_STATE_STAGES_ENUM);
void InitSequenceSetStartHeating(bool StartHeating);
double GetZone2RMSCurrent(double VAC);
double GetZone1RMSCurrent(double VAC);

uint32_t PowerUpUpdateFunc(MessageContainer* requestContainer);
uint32_t AbortPowerUpFunc(MessageContainer* requestContainer);
void PowerUpStopReporting(void);


#endif /* STATEMACHINES_INITIALIZATION_INITSEQUENCE_H_ */