ProDevelopTeam#MasterRace / Mbed 2 deprecated ArtnetDMX

Dependencies:   mbed DMX TextLCD mbed-rtos

ArtNet.h

Committer:
Ayrton_L
Date:
2016-03-14
Revision:
23:2ed8390eaf32
Parent:
22:b4af2cbd3148
Child:
27:1bd34c90e0a9

File content as of revision 23:2ed8390eaf32:

#ifndef ARTNET_H
#define ARTNET_H

#include "mbed.h"
#include "EthernetInterface.h"
#include "string"

using namespace std;

#define ArtNetID "Art-Net"
#define ArtNetOPCode 0x5000
#define ArtNetPV 14
#define ArtNetPoort 6454

static const char*          mbedIp       = "2.0.0.100";  //IP
static const char*          mbedMask     = "255.0.0.0";  // Mask
static const char*          mbedGateway  = "2.0.0.1";    //Gateway 

void V_ArtNet();

void V_ArtNet()
{
    EthernetInterface eth;
    eth.init(mbedIp, mbedMask, mbedGateway);
    eth.connect();
    UDPSocket ArtNetSocket;
    ArtNetSocket.bind(ArtNetPoort);
    uint8_t I8_Values[512] = {0};
    Endpoint Client;
    char buffer[600];
    //uint8_t I8_Channels[512][3];
    
   while (true) 
   {
        int n = ArtNetSocket.receiveFrom(Client, buffer, sizeof(buffer));
        buffer[n] = '\0';
        
        string S_DataString(buffer);
        if (S_DataString.find("Art-Net") != string::npos) 
        {
            size_t pos = S_DataString.find("Art-Net")+ 8;
            string S_Data = S_DataString.substr(pos);
            uint32_t I32_Universe =  S_Data[12] |  S_Data[13] << 8;
            int i = 0;
            for ( i =0; i <512; i++)
            {
                I8_Values[i] = S_Data[i+17];
            }
        } 
    }
        
}


#endif