ovencontroller.h 1.11 KB
#ifndef OVENCONTROLLER_H
#define OVENCONTROLLER_H

#include "oven.h"
#include "../../app-prime-modbus/include/all_share.h"
#include "udphandler.h"

class OvenController : public OvenInterface
{
    Q_OBJECT

    Oven *oven;
    UdpHandler *udp;
    oven_control_t control;
    oven_state_t state;

public:
    OvenController(QObject *parent = 0, Oven *oven = 0);

    void setUdpHandler(UdpHandler *udp);
    int currentTemp();
    int currentHumidity();
    int currentInterTemp();
    bool door();

public slots:
    void setMode(Define::Mode mode);
    void setHumidity(int percentage);
    void setTemp(int celsius);
    void setTime(int secs);
    void setInterTemp(int celsius);
    void setFan(int rpm);
    void startCooking();
    void stopCooking();
    void startPreheating();
    void stopPreheating();
    void startCooldown();
    void stopCooldown();
    void startHumidification();
    void stopHumidification();
    void startWashing();
    void stopWashing();

    void openDamper();
    void closeDamper();

    void onDataChanged();

signals:
    void doorOpened();
    void doorClosed();
};


#endif // OVENCONTROLLER_H