Implement OTA updating
This commit is contained in:
		
							parent
							
								
									bf39499cdb
								
							
						
					
					
						commit
						b6c04fad6b
					
				| 
						 | 
				
			
			@ -25,5 +25,5 @@ framework = arduino
 | 
			
		|||
lib_deps = tzapu/WiFiManager@^0.16.0
 | 
			
		||||
upload_speed = 115200
 | 
			
		||||
monitor_speed = 115200
 | 
			
		||||
upload_port = COM5
 | 
			
		||||
monitor_port = COM5
 | 
			
		||||
;upload_protocol = espota
 | 
			
		||||
;upload_port = 192.168.2.238
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										28
									
								
								src/main.cpp
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								src/main.cpp
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -2,6 +2,7 @@
 | 
			
		|||
#include <ESP8266WiFi.h>
 | 
			
		||||
#include <WiFiUdp.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <ArduinoOTA.h>
 | 
			
		||||
 | 
			
		||||
#include <DNSServer.h>
 | 
			
		||||
#include <ESP8266WebServer.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -16,7 +17,8 @@
 | 
			
		|||
// Commands sent to target ID 0 (zero) will be executed by ALL targets
 | 
			
		||||
#define TARGET_ID_FIXED 1
 | 
			
		||||
 | 
			
		||||
// If a 4-position dip switch is present and tied to 4 GPIO pins, set ID_SWITCHED to true and put the pin numbers in the ID_BIT_? settings
 | 
			
		||||
// If a 4-position dip switch is present and tied to 4 GPIO pins,
 | 
			
		||||
// set ID_SWITCHED to true and put the pin numbers in the ID_BIT_? settings
 | 
			
		||||
#define ID_SWITCHED true
 | 
			
		||||
#define ID_BIT_0 16
 | 
			
		||||
#define ID_BIT_1 14
 | 
			
		||||
| 
						 | 
				
			
			@ -153,6 +155,26 @@ void setup() {
 | 
			
		|||
   timer0_write(ESP.getCycleCount() + 1000);
 | 
			
		||||
   interrupts();
 | 
			
		||||
   wifiManager.autoConnect("JaJLEDController");
 | 
			
		||||
   ArduinoOTA.onStart([]() {
 | 
			
		||||
      String type;
 | 
			
		||||
      if ( ArduinoOTA.getCommand() == U_FLASH )
 | 
			
		||||
        type = "sketch";
 | 
			
		||||
      else // U_SPIFFS
 | 
			
		||||
        type = "filesystem";
 | 
			
		||||
      Serial.println("Start OTA updating " + type);
 | 
			
		||||
   });
 | 
			
		||||
   ArduinoOTA.onEnd([]() {
 | 
			
		||||
      Serial.println("\nOTA Update Completed");
 | 
			
		||||
   });
 | 
			
		||||
   ArduinoOTA.onError([](ota_error_t error) {
 | 
			
		||||
      Serial.printf("OTA Update Error[%u]: ", error);
 | 
			
		||||
      if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");
 | 
			
		||||
      else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");
 | 
			
		||||
      else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");
 | 
			
		||||
      else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
 | 
			
		||||
      else if (error == OTA_END_ERROR) Serial.println("End Failed");
 | 
			
		||||
   });
 | 
			
		||||
   ArduinoOTA.begin();
 | 
			
		||||
 | 
			
		||||
   // Show our ID!
 | 
			
		||||
   Serial.println();
 | 
			
		||||
| 
						 | 
				
			
			@ -215,7 +237,7 @@ bool processMessage() {
 | 
			
		|||
   if ( DEBUG ) Serial.println("Got UDP packet!");
 | 
			
		||||
 | 
			
		||||
   // Clear out the global autoColors[] array
 | 
			
		||||
   memset(autoColors, 0, sizeof(autoColors));
 | 
			
		||||
   memset((void *)&autoColors, 0, sizeof(autoColors));
 | 
			
		||||
 | 
			
		||||
   // If we get a CMD_SETLEVELS then disable autoMode, set the new static values and ramp to that color
 | 
			
		||||
   if ( command == CMD_SETLEVELS ) {
 | 
			
		||||
| 
						 | 
				
			
			@ -466,7 +488,7 @@ void loop() {
 | 
			
		|||
      }
 | 
			
		||||
      nextDIPSample = nowMillis + 10000; // Sample the DIP switches every 10 seconds
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   ArduinoOTA.handle();
 | 
			
		||||
   yield();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user