Tim Wöstemeier / Mbed 2 deprecated MotiV_ControlBox

Dependencies:   TextLCD MbedJSONValue libMotiv picojson mbed-rtos mbed

Fork of Mbed_MotiVControllerBox by Tim Wöstemeier

library/Controller.h

Committer:
TimWoo
Date:
2014-12-02
Revision:
2:ad4509a9d051
Parent:
1:d54aed10ddf3

File content as of revision 2:ad4509a9d051:

#ifndef MOTIV_CONTROLLER_H
#define MOTIV_CONTROLLER_H

//Controller
#include <string>
#include "mbed.h"
#include "MotiVAPI.h"
#include "Device.h"
#include "Flower.h"
#include "Table.h"
#include <stdlib.h>
#include <vector>

class Controller {
public:
    enum cStatus {
        READY,
        WAITING,
        BUSY,
        ERROR,
        INIT
    };
    Controller(TextLCD *lcd);
    cStatus getStatus();
    string statusString();
    void setStatus(cStatus);
    void displayStatus();
    
    void lcdWriteLine(int row, string str);
    void printDesc(int c);
    
    //DEMO PURPOSES
    void nextCommand(); 
    void prevCommand();
    void sendCommandDem();
    
    /**
        sendCommand() gets the first command from the command list and sends the command to the devices.
    */
    void sendCommand();
    
    TextLCD *lcd;
//    MotiVAPI *mapi;
    
private:
    cStatus status;
    
    Flower* flower;
//    std::vector<Device*> devices;
//    vector <Table>tables
    vector <Device::mCommand>commandList;
};

#endif