Updated NeoPixel handling
This commit is contained in:
		
							parent
							
								
									b3b7425c0a
								
							
						
					
					
						commit
						a99c78a68c
					
				
							
								
								
									
										47
									
								
								Config.h
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								Config.h
									
									
									
									
									
								
							@ -4,7 +4,7 @@
 | 
				
			|||||||
	#define CONFIG_H
 | 
						#define CONFIG_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	#define MAJ_VERS  0x01
 | 
						#define MAJ_VERS  0x01
 | 
				
			||||||
	#define MIN_VERS  0x34
 | 
						#define MIN_VERS  0x35
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	#define PLATFORM_AVR   0x90
 | 
						#define PLATFORM_AVR   0x90
 | 
				
			||||||
    #define PLATFORM_ESP32 0x80
 | 
					    #define PLATFORM_ESP32 0x80
 | 
				
			||||||
@ -67,6 +67,7 @@
 | 
				
			|||||||
    #define HAS_DISPLAY false
 | 
					    #define HAS_DISPLAY false
 | 
				
			||||||
    #define HAS_BLUETOOTH false
 | 
					    #define HAS_BLUETOOTH false
 | 
				
			||||||
    #define HAS_PMU false
 | 
					    #define HAS_PMU false
 | 
				
			||||||
 | 
					    #define HAS_NP false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	#if MCU_VARIANT == MCU_1284P
 | 
						#if MCU_VARIANT == MCU_1284P
 | 
				
			||||||
		const int pin_cs = 4;
 | 
							const int pin_cs = 4;
 | 
				
			||||||
@ -173,32 +174,40 @@
 | 
				
			|||||||
            #define HAS_DISPLAY true
 | 
					            #define HAS_DISPLAY true
 | 
				
			||||||
			#define HAS_BLUETOOTH true
 | 
								#define HAS_BLUETOOTH true
 | 
				
			||||||
		#elif BOARD_MODEL == BOARD_RNODE_NG_20
 | 
							#elif BOARD_MODEL == BOARD_RNODE_NG_20
 | 
				
			||||||
 | 
					            #define HAS_DISPLAY true
 | 
				
			||||||
 | 
					            #define HAS_BLUETOOTH true
 | 
				
			||||||
 | 
								#define HAS_NP true
 | 
				
			||||||
			const int pin_cs = 18;
 | 
								const int pin_cs = 18;
 | 
				
			||||||
			const int pin_reset = 12;
 | 
								const int pin_reset = 12;
 | 
				
			||||||
			const int pin_dio = 26;
 | 
								const int pin_dio = 26;
 | 
				
			||||||
			#if defined(EXTERNAL_LEDS)
 | 
								const int pin_np = 4;
 | 
				
			||||||
				const int pin_led_rx = 2;
 | 
								#if HAS_NP == false
 | 
				
			||||||
				const int pin_led_tx = 0;
 | 
									#if defined(EXTERNAL_LEDS)
 | 
				
			||||||
			#else
 | 
										const int pin_led_rx = 2;
 | 
				
			||||||
				const int pin_led_rx = 22;
 | 
										const int pin_led_tx = 0;
 | 
				
			||||||
				const int pin_led_tx = 22;
 | 
									#else
 | 
				
			||||||
 | 
										const int pin_led_rx = 22;
 | 
				
			||||||
 | 
										const int pin_led_tx = 22;
 | 
				
			||||||
 | 
									#endif
 | 
				
			||||||
			#endif
 | 
								#endif
 | 
				
			||||||
            #define HAS_DISPLAY true
 | 
					 | 
				
			||||||
            #define HAS_BLUETOOTH true
 | 
					 | 
				
			||||||
		#elif BOARD_MODEL == BOARD_RNODE_NG_21
 | 
							#elif BOARD_MODEL == BOARD_RNODE_NG_21
 | 
				
			||||||
			const int pin_cs = 18;
 | 
					 | 
				
			||||||
			const int pin_reset = 23;
 | 
					 | 
				
			||||||
			const int pin_dio = 26;
 | 
					 | 
				
			||||||
			#if defined(EXTERNAL_LEDS)
 | 
					 | 
				
			||||||
				const int pin_led_rx = 15;
 | 
					 | 
				
			||||||
				const int pin_led_tx = 4;
 | 
					 | 
				
			||||||
			#else
 | 
					 | 
				
			||||||
				const int pin_led_rx = 25;
 | 
					 | 
				
			||||||
				const int pin_led_tx = 25;
 | 
					 | 
				
			||||||
			#endif
 | 
					 | 
				
			||||||
            #define HAS_DISPLAY true
 | 
					            #define HAS_DISPLAY true
 | 
				
			||||||
            #define HAS_BLUETOOTH true
 | 
					            #define HAS_BLUETOOTH true
 | 
				
			||||||
            #define HAS_PMU true
 | 
					            #define HAS_PMU true
 | 
				
			||||||
 | 
								#define HAS_NP true
 | 
				
			||||||
 | 
								const int pin_cs = 18;
 | 
				
			||||||
 | 
								const int pin_reset = 23;
 | 
				
			||||||
 | 
								const int pin_dio = 26;
 | 
				
			||||||
 | 
								const int pin_np = 15;
 | 
				
			||||||
 | 
								#if HAS_NP == false
 | 
				
			||||||
 | 
									#if defined(EXTERNAL_LEDS)
 | 
				
			||||||
 | 
										const int pin_led_rx = 15;
 | 
				
			||||||
 | 
										const int pin_led_tx = 4;
 | 
				
			||||||
 | 
									#else
 | 
				
			||||||
 | 
										const int pin_led_rx = 25;
 | 
				
			||||||
 | 
										const int pin_led_tx = 25;
 | 
				
			||||||
 | 
									#endif
 | 
				
			||||||
 | 
								#endif
 | 
				
			||||||
		#else
 | 
							#else
 | 
				
			||||||
			#error An unsupported board was selected. Cannot compile RNode firmware.
 | 
								#error An unsupported board was selected. Cannot compile RNode firmware.
 | 
				
			||||||
		#endif
 | 
							#endif
 | 
				
			||||||
 | 
				
			|||||||
@ -48,8 +48,10 @@ void setup() {
 | 
				
			|||||||
  serial_interrupt_init();
 | 
					  serial_interrupt_init();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Configure input and output pins
 | 
					  // Configure input and output pins
 | 
				
			||||||
  pinMode(pin_led_rx, OUTPUT);
 | 
					  #if HAS_NP == false
 | 
				
			||||||
  pinMode(pin_led_tx, OUTPUT);
 | 
					    pinMode(pin_led_rx, OUTPUT);
 | 
				
			||||||
 | 
					    pinMode(pin_led_tx, OUTPUT);
 | 
				
			||||||
 | 
					  #endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Initialise buffers
 | 
					  // Initialise buffers
 | 
				
			||||||
  memset(pbuf, 0, sizeof(pbuf));
 | 
					  memset(pbuf, 0, sizeof(pbuf));
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										46
									
								
								Utilities.h
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								Utilities.h
									
									
									
									
									
								
							@ -43,12 +43,11 @@ uint8_t boot_vector = 0x00;
 | 
				
			|||||||
	// TODO: Get ESP32 boot flags
 | 
						// TODO: Get ESP32 boot flags
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if BOARD_MODEL == BOARD_RNODE_NG_20 || BOARD_RNODE_NG_21
 | 
					#if HAS_NP == true
 | 
				
			||||||
	#include <Adafruit_NeoPixel.h>
 | 
						#include <Adafruit_NeoPixel.h>
 | 
				
			||||||
	#define NP_PIN 4
 | 
					 | 
				
			||||||
	#define NUMPIXELS 1
 | 
						#define NUMPIXELS 1
 | 
				
			||||||
	#define NP_M 0.15
 | 
						#define NP_M 0.15
 | 
				
			||||||
	Adafruit_NeoPixel pixels(NUMPIXELS, NP_PIN, NEO_GRB + NEO_KHZ800);
 | 
						Adafruit_NeoPixel pixels(NUMPIXELS, pin_np, NEO_GRB + NEO_KHZ800);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	uint8_t npr = 0;
 | 
						uint8_t npr = 0;
 | 
				
			||||||
  uint8_t npg = 0;
 | 
					  uint8_t npg = 0;
 | 
				
			||||||
@ -88,7 +87,22 @@ uint8_t boot_vector = 0x00;
 | 
				
			|||||||
	void led_tx_on()  { digitalWrite(pin_led_tx, HIGH); }
 | 
						void led_tx_on()  { digitalWrite(pin_led_tx, HIGH); }
 | 
				
			||||||
	void led_tx_off() { digitalWrite(pin_led_tx, LOW); }
 | 
						void led_tx_off() { digitalWrite(pin_led_tx, LOW); }
 | 
				
			||||||
#elif MCU_VARIANT == MCU_ESP32
 | 
					#elif MCU_VARIANT == MCU_ESP32
 | 
				
			||||||
	#if BOARD_MODEL == BOARD_TBEAM
 | 
						#if HAS_NP == true
 | 
				
			||||||
 | 
							void led_rx_on()  { npset(0, 0, 0xFF); }
 | 
				
			||||||
 | 
							void led_rx_off() {	npset(0, 0, 0); }
 | 
				
			||||||
 | 
							void led_tx_on()  { npset(0xFF, 0x50, 0x00); }
 | 
				
			||||||
 | 
							void led_tx_off() { npset(0, 0, 0); }
 | 
				
			||||||
 | 
						#elif BOARD_MODEL == BOARD_RNODE_NG_20
 | 
				
			||||||
 | 
							void led_rx_on()  { digitalWrite(pin_led_rx, HIGH); }
 | 
				
			||||||
 | 
							void led_rx_off() {	digitalWrite(pin_led_rx, LOW); }
 | 
				
			||||||
 | 
							void led_tx_on()  { digitalWrite(pin_led_tx, HIGH); }
 | 
				
			||||||
 | 
							void led_tx_off() { digitalWrite(pin_led_tx, LOW); }
 | 
				
			||||||
 | 
						#elif BOARD_MODEL == BOARD_RNODE_NG_21
 | 
				
			||||||
 | 
							void led_rx_on()  { digitalWrite(pin_led_rx, HIGH); }
 | 
				
			||||||
 | 
							void led_rx_off() {	digitalWrite(pin_led_rx, LOW); }
 | 
				
			||||||
 | 
							void led_tx_on()  { digitalWrite(pin_led_tx, HIGH); }
 | 
				
			||||||
 | 
							void led_tx_off() { digitalWrite(pin_led_tx, LOW); }
 | 
				
			||||||
 | 
						#elif BOARD_MODEL == BOARD_TBEAM
 | 
				
			||||||
		void led_rx_on()  { digitalWrite(pin_led_rx, HIGH); }
 | 
							void led_rx_on()  { digitalWrite(pin_led_rx, HIGH); }
 | 
				
			||||||
		void led_rx_off() {	digitalWrite(pin_led_rx, LOW); }
 | 
							void led_rx_off() {	digitalWrite(pin_led_rx, LOW); }
 | 
				
			||||||
		void led_tx_on()  { digitalWrite(pin_led_tx, LOW); }
 | 
							void led_tx_on()  { digitalWrite(pin_led_tx, LOW); }
 | 
				
			||||||
@ -122,16 +136,6 @@ uint8_t boot_vector = 0x00;
 | 
				
			|||||||
		void led_rx_off() {	digitalWrite(pin_led_rx, LOW); }
 | 
							void led_rx_off() {	digitalWrite(pin_led_rx, LOW); }
 | 
				
			||||||
		void led_tx_on()  { digitalWrite(pin_led_tx, HIGH); }
 | 
							void led_tx_on()  { digitalWrite(pin_led_tx, HIGH); }
 | 
				
			||||||
		void led_tx_off() { digitalWrite(pin_led_tx, LOW); }
 | 
							void led_tx_off() { digitalWrite(pin_led_tx, LOW); }
 | 
				
			||||||
	#elif BOARD_MODEL == BOARD_RNODE_NG_20
 | 
					 | 
				
			||||||
		void led_rx_on()  { npset(0, 0, 0xFF); }
 | 
					 | 
				
			||||||
		void led_rx_off() {	npset(0, 0, 0); }
 | 
					 | 
				
			||||||
		void led_tx_on()  { npset(0xFF, 0x50, 0x00); }
 | 
					 | 
				
			||||||
		void led_tx_off() { npset(0, 0, 0); }
 | 
					 | 
				
			||||||
	#elif BOARD_MODEL == BOARD_RNODE_NG_21
 | 
					 | 
				
			||||||
		void led_rx_on()  { digitalWrite(pin_led_rx, HIGH); }
 | 
					 | 
				
			||||||
		void led_rx_off() {	digitalWrite(pin_led_rx, LOW); }
 | 
					 | 
				
			||||||
		void led_tx_on()  { digitalWrite(pin_led_tx, HIGH); }
 | 
					 | 
				
			||||||
		void led_tx_off() { digitalWrite(pin_led_tx, LOW); }
 | 
					 | 
				
			||||||
	#elif BOARD_MODEL == BOARD_HUZZAH32
 | 
						#elif BOARD_MODEL == BOARD_HUZZAH32
 | 
				
			||||||
		void led_rx_on()  { digitalWrite(pin_led_rx, HIGH); }
 | 
							void led_rx_on()  { digitalWrite(pin_led_rx, HIGH); }
 | 
				
			||||||
		void led_rx_off() {	digitalWrite(pin_led_rx, LOW); }
 | 
							void led_rx_off() {	digitalWrite(pin_led_rx, LOW); }
 | 
				
			||||||
@ -158,7 +162,7 @@ void hard_reset(void) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// LED Indication: Error
 | 
					// LED Indication: Error
 | 
				
			||||||
void led_indicate_error(int cycles) {
 | 
					void led_indicate_error(int cycles) {
 | 
				
			||||||
	#if BOARD_MODEL == BOARD_RNODE_NG_20
 | 
						#if HAS_NP == true
 | 
				
			||||||
		bool forever = (cycles == 0) ? true : false;
 | 
							bool forever = (cycles == 0) ? true : false;
 | 
				
			||||||
		cycles = forever ? 1 : cycles;
 | 
							cycles = forever ? 1 : cycles;
 | 
				
			||||||
		while(cycles > 0) {
 | 
							while(cycles > 0) {
 | 
				
			||||||
@ -188,7 +192,7 @@ void led_indicate_error(int cycles) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// LED Indication: Boot Error
 | 
					// LED Indication: Boot Error
 | 
				
			||||||
void led_indicate_boot_error() {
 | 
					void led_indicate_boot_error() {
 | 
				
			||||||
	#if BOARD_MODEL == BOARD_RNODE_NG_20
 | 
						#if HAS_NP == true
 | 
				
			||||||
		while(true) {
 | 
							while(true) {
 | 
				
			||||||
			npset(0xFF, 0xFF, 0xFF);
 | 
								npset(0xFF, 0xFF, 0xFF);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@ -206,7 +210,7 @@ void led_indicate_boot_error() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// LED Indication: Warning
 | 
					// LED Indication: Warning
 | 
				
			||||||
void led_indicate_warning(int cycles) {
 | 
					void led_indicate_warning(int cycles) {
 | 
				
			||||||
	#if BOARD_MODEL == BOARD_RNODE_NG_20
 | 
						#if HAS_NP == true
 | 
				
			||||||
		bool forever = (cycles == 0) ? true : false;
 | 
							bool forever = (cycles == 0) ? true : false;
 | 
				
			||||||
		cycles = forever ? 1 : cycles;
 | 
							cycles = forever ? 1 : cycles;
 | 
				
			||||||
		while(cycles > 0) {
 | 
							while(cycles > 0) {
 | 
				
			||||||
@ -247,7 +251,7 @@ void led_indicate_warning(int cycles) {
 | 
				
			|||||||
	  led_rx_off();
 | 
						  led_rx_off();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
#elif MCU_VARIANT == MCU_ESP32
 | 
					#elif MCU_VARIANT == MCU_ESP32
 | 
				
			||||||
	#if BOARD_MODEL == BOARD_RNODE_NG_20
 | 
						#if HAS_NP == true
 | 
				
			||||||
		void led_indicate_info(int cycles) {
 | 
							void led_indicate_info(int cycles) {
 | 
				
			||||||
			bool forever = (cycles == 0) ? true : false;
 | 
								bool forever = (cycles == 0) ? true : false;
 | 
				
			||||||
			cycles = forever ? 1 : cycles;
 | 
								cycles = forever ? 1 : cycles;
 | 
				
			||||||
@ -357,7 +361,7 @@ int8_t  led_standby_direction = 0;
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#elif MCU_VARIANT == MCU_ESP32
 | 
					#elif MCU_VARIANT == MCU_ESP32
 | 
				
			||||||
	#if BOARD_MODEL == BOARD_RNODE_NG_20
 | 
						#if HAS_NP == true
 | 
				
			||||||
		void led_indicate_standby() {
 | 
							void led_indicate_standby() {
 | 
				
			||||||
			led_standby_ticks++;
 | 
								led_standby_ticks++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -431,7 +435,7 @@ int8_t  led_standby_direction = 0;
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
#elif MCU_VARIANT == MCU_ESP32
 | 
					#elif MCU_VARIANT == MCU_ESP32
 | 
				
			||||||
	#if BOARD_MODEL == BOARD_RNODE_NG_20 || BOARD_MODEL == BOARD_RNODE_NG_21
 | 
						#if HAS_NP == true
 | 
				
			||||||
    void led_indicate_not_ready() {
 | 
					    void led_indicate_not_ready() {
 | 
				
			||||||
    	led_standby_ticks++;
 | 
					    	led_standby_ticks++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -797,7 +801,7 @@ void set_implicit_length(uint8_t len) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void setTXPower() {
 | 
					void setTXPower() {
 | 
				
			||||||
	if (radio_online) {
 | 
						if (radio_online) {
 | 
				
			||||||
		if (model == MODEL_A2) LoRa.setTxPower(lora_txp, PA_OUTPUT_RFO_PIN);
 | 
							if (model == MODEL_A2) LoRa.setTxPower(lora_txp, PA_OUTPUT_PA_BOOST_PIN);
 | 
				
			||||||
		if (model == MODEL_A3) LoRa.setTxPower(lora_txp, PA_OUTPUT_RFO_PIN);
 | 
							if (model == MODEL_A3) LoRa.setTxPower(lora_txp, PA_OUTPUT_RFO_PIN);
 | 
				
			||||||
		if (model == MODEL_A4) LoRa.setTxPower(lora_txp, PA_OUTPUT_RFO_PIN);
 | 
							if (model == MODEL_A4) LoRa.setTxPower(lora_txp, PA_OUTPUT_RFO_PIN);
 | 
				
			||||||
		if (model == MODEL_A7) LoRa.setTxPower(lora_txp, PA_OUTPUT_PA_BOOST_PIN);
 | 
							if (model == MODEL_A7) LoRa.setTxPower(lora_txp, PA_OUTPUT_PA_BOOST_PIN);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user