Increased max. UDP leds from 341 to 490
MQTT now publishes state on connect
This commit is contained in:
parent
5e6b1e8175
commit
81c810eba4
Binary file not shown.
@ -237,7 +237,7 @@ Send notifications twice: <input type="checkbox" name="S2"><br>
|
||||
Receive UDP realtime: <input type="checkbox" name="RD"><br><br>
|
||||
<i>E1.31 (sACN)</i><br>
|
||||
Use E1.31 multicast: <input type="checkbox" name="EM"><br>
|
||||
E1.31 universe: <input name="EU" type="number" min="1" max="63999" required><br>
|
||||
E1.31 start universe: <input name="EU" type="number" min="1" max="63999" required><br>
|
||||
<i>Reboot required.</i> Check out <a href="https://github.com/ahodges9/LedFx" target="_blank">LedFx</a>!<br><br>
|
||||
Timeout: <input name="ET" type="number" min="1" max="65000" required> ms<br>
|
||||
Force max brightness: <input type="checkbox" name="FB"><br>
|
||||
|
@ -63,7 +63,7 @@
|
||||
|
||||
|
||||
//version code in format yymmddb (b = daily build)
|
||||
#define VERSION 1811011
|
||||
#define VERSION 1811012
|
||||
char versionString[] = "0.8.1";
|
||||
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
*/
|
||||
|
||||
#define WLEDPACKETSIZE 24
|
||||
#define UDP_IN_MAXSIZE 1472
|
||||
|
||||
void notify(byte callMode, bool followUp=false)
|
||||
{
|
||||
@ -124,16 +125,16 @@ void handleNotifications()
|
||||
if (!packetSize && udpRgbConnected) {
|
||||
packetSize = rgbUdp.parsePacket();
|
||||
if (!receiveDirect) return;
|
||||
if (packetSize > 1026 || packetSize < 3) return;
|
||||
if (packetSize > UDP_IN_MAXSIZE || packetSize < 3) return;
|
||||
realtimeIP = rgbUdp.remoteIP();
|
||||
DEBUG_PRINTLN(rgbUdp.remoteIP());
|
||||
byte udpIn[packetSize];
|
||||
rgbUdp.read(udpIn, packetSize);
|
||||
olen = 0;
|
||||
rgbUdp.read(obuf, packetSize);
|
||||
arlsLock(realtimeTimeoutMs);
|
||||
uint16_t id = 0;
|
||||
for (uint16_t i = 0; i < packetSize -2; i += 3)
|
||||
{
|
||||
setRealtimePixel(id, udpIn[i], udpIn[i+1], udpIn[i+2], 0);
|
||||
setRealtimePixel(id, obuf[i], obuf[i+1], obuf[i+2], 0);
|
||||
|
||||
id++; if (id >= ledCount) break;
|
||||
}
|
||||
@ -141,11 +142,13 @@ void handleNotifications()
|
||||
return;
|
||||
}
|
||||
|
||||
if (packetSize > 1026) return;
|
||||
if (packetSize > UDP_IN_MAXSIZE) return;
|
||||
if(packetSize && notifierUdp.remoteIP() != WiFi.localIP()) //don't process broadcasts we send ourselves
|
||||
{
|
||||
byte udpIn[packetSize];
|
||||
notifierUdp.read(udpIn, packetSize);
|
||||
olen = 0;
|
||||
notifierUdp.read(obuf, packetSize);
|
||||
char* udpIn = obuf;
|
||||
|
||||
if (udpIn[0] == 0 && !realtimeActive && receiveNotifications) //wled notifier, block if realtime packets active
|
||||
{
|
||||
if (receiveNotificationColor)
|
||||
|
@ -93,6 +93,8 @@ bool reconnectMQTT()
|
||||
strcat(subuf, "/api");
|
||||
mqtt->subscribe(subuf);
|
||||
}
|
||||
|
||||
publishMQTT();
|
||||
}
|
||||
return mqtt->connected();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user