MBED implementation of JAudioStream

JAudioStream.h

Committer:
ollie8
Date:
2015-08-12
Revision:
0:6f03883f9b43
Child:
1:b49a6e72f353

File content as of revision 0:6f03883f9b43:

#ifndef JAUDIO_STREAM_H
#define JAUDIO_STREAM_H

#include "mbed.h"
#include "EthernetNetIf.h"
#include "UDPSocket.h"

#define MAX_PACKT 24
#define MESSAGE_SIZE 8
#define MESSAGE_COMP_SIZE 4
#define REQUEST_RESPONSE_MODE 1
#define PORT 7777

class JAudioStream {
    private:
        // use DHCP
        EthernetNetIf eth;
        UDPSocket udp;
        char* remoteIp;
        short remotePort;
        volatile bool connected;
        volatile bool inTransmission;
        void buildMeassge(const char*, char, char*);
        void buildMeassge(const char*, char, char*, char*);
        void intTocharArr(char, char*);
        void send(char*, short);
        char* nowPlaying;
        void onUDPSocketEvent(UDPSocketEvent e);
    public:
        JAudioStream();
        void begin(char *, char *, short);
        bool connect(char *, short, char *);
        bool read(char*, short, short);
        bool isConnected();
        char* getNowPlaying();
        void request(char);
        void disconnect();
        bool available();
};

#endif