mirror of
https://github.com/wled/WLED.git
synced 2025-07-23 10:46:33 +00:00
Compiling for ESP8266.
This commit is contained in:
parent
8a60d4cf2f
commit
7de492caa7
@ -576,7 +576,7 @@ uint8_t realtimeBroadcast(uint8_t type, IPAddress client, uint16_t length, uint8
|
|||||||
for (uint16_t currentPacket = 0; currentPacket < packetCount; currentPacket++) {
|
for (uint16_t currentPacket = 0; currentPacket < packetCount; currentPacket++) {
|
||||||
if (sequenceNumber > 15) sequenceNumber = 0;
|
if (sequenceNumber > 15) sequenceNumber = 0;
|
||||||
|
|
||||||
if (!ddpUdp.beginPacket(client, DDP_PORT)) {
|
if (!ddpUdp.beginPacket(client, DDP_DEFAULT_PORT)) { // port defined in ESPAsyncE131.h
|
||||||
DEBUG_PRINTLN(F("WiFiUDP.beginPacket returned an error"));
|
DEBUG_PRINTLN(F("WiFiUDP.beginPacket returned an error"));
|
||||||
return 1; // problem
|
return 1; // problem
|
||||||
}
|
}
|
||||||
|
93
wled00/udp.h
93
wled00/udp.h
@ -1,93 +0,0 @@
|
|||||||
#ifndef UDP_H
|
|
||||||
#define UDP_H
|
|
||||||
|
|
||||||
// expected to be included from wled.h where other dependencies are loaded first
|
|
||||||
|
|
||||||
void notify(byte callMode, bool followUp);
|
|
||||||
void realtimeLock(uint32_t timeoutMs, byte md);
|
|
||||||
void sendTPM2Ack();
|
|
||||||
void handleNotifications();
|
|
||||||
void setRealtimePixel(uint16_t i, byte r, byte g, byte b, byte w);
|
|
||||||
|
|
||||||
/*********************************************************************************************\
|
|
||||||
Refresh aging for remote units, drop if too old...
|
|
||||||
\*********************************************************************************************/
|
|
||||||
void refreshNodeList();
|
|
||||||
|
|
||||||
/*********************************************************************************************\
|
|
||||||
Broadcast system info to other nodes. (to update node lists)
|
|
||||||
\*********************************************************************************************/
|
|
||||||
void sendSysInfoUDP();
|
|
||||||
|
|
||||||
/*********************************************************************************************\
|
|
||||||
* Art-Net, DDP, E131 output - work in progress
|
|
||||||
\*********************************************************************************************/
|
|
||||||
|
|
||||||
// Send real time DDP UDP updates to the specified client
|
|
||||||
//
|
|
||||||
// client - the IP address to send to
|
|
||||||
// buffer - a buffer of at least length*3 or length*4 bytes long
|
|
||||||
// length - the number of pixels
|
|
||||||
// isRGBW - true if the buffer contains 4 components per pixel
|
|
||||||
uint8_t realtimeBroadcast(IPAddress client, uint16_t length, uint8_t *buffer, bool isRGBW);
|
|
||||||
|
|
||||||
#define DDP_PORT 4048
|
|
||||||
|
|
||||||
#define DDP_PUSH_FLAG 0x01
|
|
||||||
#define DDP_TIMECODE_FLAG 0x10
|
|
||||||
|
|
||||||
#ifdef UPD_OUTPUT // just disable out for now
|
|
||||||
// Base class for all UDP output types.
|
|
||||||
class UDPOutputData {
|
|
||||||
public:
|
|
||||||
UDPOutputData(const JsonDocument& config);
|
|
||||||
virtual ~UDPOutputData();
|
|
||||||
|
|
||||||
virtual bool IsPingable() = 0;
|
|
||||||
|
|
||||||
virtual void PrepareData(unsigned char* channelData /*,UDPOutputMessages& msgs*/) = 0;
|
|
||||||
virtual void PostPrepareData(unsigned char* channelData /*,UDPOutputMessages& msgs*/) { }
|
|
||||||
|
|
||||||
int startChannel;
|
|
||||||
int channelCount;
|
|
||||||
IPAddress ipAddress;
|
|
||||||
|
|
||||||
UDPOutputData(UDPOutputData const&) = delete;
|
|
||||||
void operator=(UDPOutputData const& x) = delete;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
// functions and settings to detect duplicate frames to avoid sending the same data as last time
|
|
||||||
void SaveFrame(unsigned char* channelData, int len);
|
|
||||||
bool NeedToOutputFrame(unsigned char* channelData, int startChannel, int savedIdx, int count);
|
|
||||||
bool deDuplicate = false;
|
|
||||||
int skippedFrames;
|
|
||||||
unsigned char* lastData;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Art-Net - https://en.wikipedia.org/wiki/Art-Net
|
|
||||||
class ArtNetOutputData : public UDPOutputData {
|
|
||||||
// TODO
|
|
||||||
};
|
|
||||||
|
|
||||||
// Distributed Display Protocol (DDP)
|
|
||||||
class DDPOutputData : public UDPOutputData {
|
|
||||||
public:
|
|
||||||
explicit DDPOutputData(const JsonDocument& config);
|
|
||||||
virtual ~DDPOutputData();
|
|
||||||
|
|
||||||
virtual bool IsPingable() override { return true; }
|
|
||||||
virtual void PrepareData(unsigned char* channelData /*,UDPOutputMessages& msgs*/) override;
|
|
||||||
};
|
|
||||||
|
|
||||||
// E1.31 (Streaming-ACN) Protocol
|
|
||||||
class E131OutputData : public UDPOutputData {
|
|
||||||
// TODO
|
|
||||||
};
|
|
||||||
|
|
||||||
class UDPOutput {
|
|
||||||
public:
|
|
||||||
void AddOutput(UDPOutputData*);
|
|
||||||
};
|
|
||||||
#endif // UPD_OUTPUT
|
|
||||||
|
|
||||||
#endif
|
|
@ -149,7 +149,6 @@ using PSRAMDynamicJsonDocument = BasicJsonDocument<PSRAM_Allocator>;
|
|||||||
#include "NodeStruct.h"
|
#include "NodeStruct.h"
|
||||||
#include "pin_manager.h"
|
#include "pin_manager.h"
|
||||||
#include "bus_manager.h"
|
#include "bus_manager.h"
|
||||||
#include "udp.h"
|
|
||||||
|
|
||||||
#ifndef CLIENT_SSID
|
#ifndef CLIENT_SSID
|
||||||
#define CLIENT_SSID DEFAULT_CLIENT_SSID
|
#define CLIENT_SSID DEFAULT_CLIENT_SSID
|
||||||
|
Loading…
x
Reference in New Issue
Block a user