Alexandre Lemay / Mbed 2 deprecated APP4_FunTimes

Dependencies:   mbed mbed-rtos

Receiver.h

Committer:
ThierryLeonard
Date:
2017-10-24
Revision:
7:332766fb3114
Parent:
6:ac7c0ccf9b5d
Child:
8:7c56fb1ed8c0

File content as of revision 7:332766fb3114:

#ifndef RECEIVER_H
#define RECEIVER_H

#include "mbed.h"
#include "rtos.h"

#include <vector>


#include "defines.h"
namespace BitData
{
    enum
    {
        zero,
        one,
        timeout
    };
};

class Receiver
{
public:

    Receiver();
    void resetTimer(){time.reset();}
    char getNext();
    
    
    
private:
    void pushData( char bitData );
    void edgeFunction(char mode);
    void rise();
    void fall();

private:
static const int size = 8 * 90 *3;

    Timer time;
    Semaphore dataReady;
    char data[size];


    int lastTime;
    bool timedOut;
    
    int currentData;
    int endData;
};

class ManchesterReceiver
{
public:
    void getMessages();
    
private:    
    bool getByte(unsigned char &val);
    
    bool getMessage( vector<unsigned char> &message, int &crc);
    
private:  
    Receiver r;
    
    bool possiblePreamble;
};


    
    
#endif