DeviceID based default MAC for DUE, fix for artnet hungs w/o LAN fixed

This commit is contained in:
2019-02-09 12:51:34 +03:00
parent 064ef6f007
commit ecb11ce3a5
2 changed files with 10 additions and 5 deletions

View File

@@ -1339,11 +1339,17 @@ void publishStat(){
} }
void setupMacAddress() { void setupMacAddress() {
#if defined(__SAM3X8E__)
byte firmwareMacAddress[6];
firmwareMacAddress[0]=0xDE;
firmwareMacAddress[1]=0xAD;
for (byte b = 0 ; b < 4 ; b++)
firmwareMacAddress[b+2]=UniqueID [b] ;
#else
#ifdef DEFAULT_FIRMWARE_MAC #ifdef DEFAULT_FIRMWARE_MAC
byte firmwareMacAddress[6] = DEFAULT_FIRMWARE_MAC;//comma(,) separated hex-array, hard-coded byte firmwareMacAddress[6] = DEFAULT_FIRMWARE_MAC;//comma(,) separated hex-array, hard-coded
#endif #endif
#endif
#ifdef CUSTOM_FIRMWARE_MAC #ifdef CUSTOM_FIRMWARE_MAC
byte firmwareMacAddress[6]; byte firmwareMacAddress[6];
const char *macStr = QUOTE(CUSTOM_FIRMWARE_MAC);//colon(:) separated from build options const char *macStr = QUOTE(CUSTOM_FIRMWARE_MAC);//colon(:) separated from build options
@@ -1356,7 +1362,7 @@ void setupMacAddress() {
if (mac[i] != 0 && mac[i] != 0xff) isMacValid = true; if (mac[i] != 0 && mac[i] != 0xff) isMacValid = true;
} }
if (!isMacValid) { if (!isMacValid) {
debugSerial<<F("Invalid MAC: set firmware's MAC\n"); debugSerial<<F("No MAC configured: set firmware's MAC\n");
memcpy(mac, firmwareMacAddress, 6); memcpy(mac, firmwareMacAddress, 6);
} }
printMACAddress(); printMACAddress();
@@ -1424,7 +1430,7 @@ void loop_main() {
void owIdle(void) { void owIdle(void) {
#ifdef _artnet #ifdef _artnet
if (artnet) artnet->read(); if (artnet && (lanStatus>=HAVE_IP_ADDRESS)) artnet->read();
#endif #endif
wdt_res(); wdt_res();

View File

@@ -153,7 +153,6 @@ int sensors_loop(void) {
case 0x28: // Thermomerer case 0x28: // Thermomerer
t = sensors->getTempC(term[si]);//*10.0; t = sensors->getTempC(term[si]);//*10.0;
//Serial.println("o");
if (owChanged) owChanged(si, term[si], t); if (owChanged) owChanged(si, term[si], t);
sensors->requestTemperaturesByAddress(term[si]); sensors->requestTemperaturesByAddress(term[si]);
si++; si++;