mbed project met ethernet communicatie (UDP) Master/slave

Dependencies:   EthernetInterface LM75B mbed-rtos mbed

Hey

H_files/slave.h

Committer:
RobinMechele
Date:
2018-03-23
Revision:
8:556a5738c2fa
Parent:
slave.h@ 7:2de256f902c8

File content as of revision 8:556a5738c2fa:

#ifndef slave_h
#define slave_h
#include "EthernetInterface.h"
#include "mbed.h"
#include "temperature.h"
#include "potentiometer.h"
#include "lcdcontrol.h"
#include "led.h"
#include "buzzer.h"

class Slave
{
public:  
    Slave(); //Constructor
    
    /**
     * @param ip char array (const)
     * @param id int
     *
     * Deze methode is de Slave Run. Eenmaal in deze methode kan je er niet meer uit.
     * Je geeft het ip address mee, alsook het ID.
     * Deze methode zal eerst constant luisteren op het commando van de master mbed.
     * Wanneer deze methode iets binnenkrijgt, dan zal hij dit bericht verwerken aan de hand van andere methoden.
     * Als de slave het bericht heeft verwerkt, dan zal hij het juiste ACK bericht terugsturen naar de master.
     */ 
    void slaveRun(const char*, int);
    
    /**
     * @param fullbuffer char array
     *
     * Deze methode zal het volledig gekregen bericht opsplitsen in verschillende delen, om zo naar de juiste reactie te gaan.
     * In deze methode wordt er gecontroleerd ofdat er een GET of PUT wordt gevraagd.
     * Als er een GET of PUT wordt herkent, dan wordt de rest van het bericht doorgestuurd naar de juiste methode.
     * (getRequest, putRequest)
     */ 
    void actionSlave(const char*);
    
    /**
     * @param action char array
     * 
     * Deze methode zal de andere helft van het GET request behandelen.
     * Kan "/potentiometer" en "/temperature" correct behandelen (hoofdlettergevoelig).
     */ 
    void getRequest(char*);
    
    /**
     * @param action char array
     *
     * Deze methode zal de andere helft van het PUT request behandelen.
     * Kan "/LED", "/LCD" en "/buzzer" correct behandelen. (hoofdlettergevoelig)
     * Als er een fout argument meegegeven wordt met bovenstaande putrequests, dan wordt de
     * foutboodschap teruggestuurd naar de slave.
     */ 
    void putRequest(char*);
    
    /**
     * @param append char array
     *
     * Met deze methode kan je een character array toevoegen aan het antwoord van de slave.
     * De werking kan je vergelijken met een "string.append()".
     */ 
    void answerAppend(char*);
    
    /**
     * Deze methode zal het antwoord van de slave resetten, zodat hij een nieuw
     * antwoord kan vormen bij het volgende bericht.
     * Er worden geen parameters meegegeven bij deze methode.
     */ 
    void answerReset();
private:
    char answer [512];
    char id[4];
    const char* IP;
    Temperature temperature;
    Potentiometer potentiometer;
    LcdControl screen;
    Led led;
    Buzzer buzzer;
};

#endif