use neopixel on heltec t114

This commit is contained in:
liamcottle 2025-01-02 23:39:54 +13:00
parent 6a43bf51ef
commit abde6561b5
2 changed files with 26 additions and 7 deletions

View File

@ -623,7 +623,7 @@
#define HAS_BLE true #define HAS_BLE true
#define HAS_CONSOLE false #define HAS_CONSOLE false
#define HAS_PMU false #define HAS_PMU false
#define HAS_NP false #define HAS_NP true
#define HAS_SD false #define HAS_SD false
#define HAS_TCXO true #define HAS_TCXO true
#define HAS_BUSY true #define HAS_BUSY true
@ -646,6 +646,8 @@
// LED // LED
#define LED_T114_GREEN 3 #define LED_T114_GREEN 3
#define PIN_T114_LED 14 #define PIN_T114_LED 14
#define NP_M 1
const int pin_np = PIN_T114_LED;
// SPI // SPI
#define PIN_T114_MOSI 22 #define PIN_T114_MOSI 22
@ -722,4 +724,8 @@
#define OCP_TUNED 0x38 #define OCP_TUNED 0x38
#endif #endif
#ifndef NP_M
#define NP_M 0.15
#endif
#endif #endif

View File

@ -106,7 +106,6 @@ uint8_t boot_vector = 0x00;
#if HAS_NP == true #if HAS_NP == true
#include <Adafruit_NeoPixel.h> #include <Adafruit_NeoPixel.h>
#define NUMPIXELS 1 #define NUMPIXELS 1
#define NP_M 0.15
Adafruit_NeoPixel pixels(NUMPIXELS, pin_np, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixels(NUMPIXELS, pin_np, NEO_GRB + NEO_KHZ800);
uint8_t npr = 0; uint8_t npr = 0;
@ -120,10 +119,17 @@ uint8_t boot_vector = 0x00;
} }
void led_init() { void led_init() {
if (EEPROM.read(eeprom_addr(ADDR_CONF_PSET)) == CONF_OK_BYTE) { #if MCU_VARIANT == MCU_NRF52
uint8_t int_val = EEPROM.read(eeprom_addr(ADDR_CONF_PINT)); if (eeprom_read(eeprom_addr(ADDR_CONF_PSET)) == CONF_OK_BYTE) {
led_set_intensity(int_val); uint8_t int_val = eeprom_read(eeprom_addr(ADDR_CONF_PINT));
} led_set_intensity(int_val);
}
#else
if (EEPROM.read(eeprom_addr(ADDR_CONF_PSET)) == CONF_OK_BYTE) {
uint8_t int_val = EEPROM.read(eeprom_addr(ADDR_CONF_PINT));
led_set_intensity(int_val);
}
#endif
} }
void npset(uint8_t r, uint8_t g, uint8_t b) { void npset(uint8_t r, uint8_t g, uint8_t b) {
@ -253,7 +259,12 @@ uint8_t boot_vector = 0x00;
void led_tx_off() { digitalWrite(pin_led_tx, LOW); } void led_tx_off() { digitalWrite(pin_led_tx, LOW); }
#endif #endif
#elif MCU_VARIANT == MCU_NRF52 #elif MCU_VARIANT == MCU_NRF52
#if BOARD_MODEL == BOARD_RAK4631 #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_RAK4631
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, HIGH); } void led_tx_on() { digitalWrite(pin_led_tx, HIGH); }
@ -469,6 +480,8 @@ unsigned long led_standby_ticks = 0;
#endif #endif
#elif MCU_VARIANT == MCU_NRF52 #elif MCU_VARIANT == MCU_NRF52
int led_standby_lng = 200;
int led_standby_cut = 100;
uint8_t led_standby_min = 200; uint8_t led_standby_min = 200;
uint8_t led_standby_max = 255; uint8_t led_standby_max = 255;
uint8_t led_notready_min = 0; uint8_t led_notready_min = 0;