/* * coffee.h * * Created on: Sep 25, 2017 * Author: sebastian */ #ifndef COFFEE_H_ #define COFFEE_H_ #include //define status #define STATE_OFF 0 #define STATE_HEATING 1 #define STATE_INITALHEATING 2 #define STATE_IDLE 3 #define STATE_BREW 4 #define STATE_BREWMANUAL 5 #define STATE_CLEANING 6 #define STATE_ERROR 7 #define AMOUNT_PREINFUSION 3 //Preinfusion amount in ml #define TIME_SOAK 3000//Time between preinfusion and infusion in ms #define TIME_INFUSION 25000 //Infusion time in ms #define AMOUNT_DBLESPRESSO 25.0 //Size of a double espresso in ml void *coffeeThread(void *threadid); void coffeeHandler (int signum, siginfo_t *siginfo, void *context); int getSigValue(void); bool SigValueEmpty(void); void changeState(int newState); int getState(void); void brewTimeHandler (void); void coffeeTerminate(void); void coffeeBrew(void); void coffeeIncreaseBrewCounter(void); void coffeeIncreaseHeatingTime(uint64_t heatingTime); #endif /* COFFEE_H_ */