/**
* Anatole SCHRAMM-HENRY
* Tim THUREL
* Projet température de la ruche GROUPE 3
* Objet PayloadFormatter permettant de générer les trames contenants les températures, la date et les numéros de trames
*
* Tout droits réservés
*/

#ifndef PAYLOADFORMATTER_H
#define PAYLOADFORMATTER_H
#include <math.h>
#include "RTClib.h" //Nécessaire afin d'utiliser l'object DateTime

class PayloadFormatter
{
  public:
    PayloadFormatter(uint8_t numOfRow, uint8_t numOfColumn);
    ~PayloadFormatter();

    int16_t buildPayload(uint8_t **buffer, DateTime *dateTime, double externTemp, double *tempArray, uint8_t numOfRow = -1, uint8_t numOfColumn = -1);
    void startSession(uint8_t totalPackets);
    boolean endSession();
    
  protected:
  private:
  
    uint8_t _totalPayloads;
    uint8_t _currentPayload;
    uint8_t _numOfRow;
    uint8_t _numOfColumn;
    uint8_t *_payload;
    uint8_t _length;
};

#endif //PAYLOADFOMATTER_H
