diff --git a/src/platform/nrf52/main-nrf52.cpp b/src/platform/nrf52/main-nrf52.cpp index 73780b6eb..46a1d5c58 100644 --- a/src/platform/nrf52/main-nrf52.cpp +++ b/src/platform/nrf52/main-nrf52.cpp @@ -497,6 +497,9 @@ void cpuDeepSleep(uint32_t msecToWake) ; #endif +#ifdef POWER_ON_OFF + digitalWrite(POWER_ON_OFF, HIGH); +#endif auto ok = sd_power_system_off(); if (ok != NRF_SUCCESS) { LOG_ERROR("FIXME: Ignoring soft device (EasyDMA pending?) and forcing system-off!"); diff --git a/variants/nrf52840/makerfabs_pucky/rfswitch.h b/variants/nrf52840/makerfabs_pucky/rfswitch.h index d1106b7f3..ee811b63a 100644 --- a/variants/nrf52840/makerfabs_pucky/rfswitch.h +++ b/variants/nrf52840/makerfabs_pucky/rfswitch.h @@ -7,12 +7,12 @@ static const uint32_t rfswitch_dio_pins[] = { static const Module::RfSwitchMode_t rfswitch_table[] = { // mode DIO5 DIO6 // DIO7 - {LR11x0::MODE_STBY, {LOW, LOW}}, // { LR11x0::MODE_STBY, { LOW, LOW, LOW } }, - {LR11x0::MODE_RX, {HIGH, LOW}}, // { LR11x0::MODE_RX, { HIGH, LOW, LOW } }, - {LR11x0::MODE_TX, {HIGH, HIGH}}, // { LR11x0::MODE_TX, { HIGH, HIGH, LOW } }, - {LR11x0::MODE_TX_HP, {LOW, HIGH}}, // { LR11x0::MODE_TX_HP, { LOW, HIGH, HIGH } }, - {LR11x0::MODE_TX_HF, {HIGH, HIGH}}, // { LR11x0::MODE_TX_HF, { LOW, LOW, HIGH } }, - {LR11x0::MODE_GNSS, {LOW, LOW}}, // { LR11x0::MODE_GNSS, { LOW, LOW, LOW } }, - {LR11x0::MODE_WIFI, {LOW, LOW}}, // { LR11x0::MODE_WIFI, { LOW, LOW, LOW } }, + {LR11x0::MODE_STBY, {LOW, LOW}}, // { LR11x0::MODE_STBY, { LOW, LOW, LOW } }, + {LR11x0::MODE_RX, {HIGH, LOW}}, // { LR11x0::MODE_RX, { HIGH, LOW, LOW } }, + {LR11x0::MODE_TX, {HIGH, HIGH}}, // { LR11x0::MODE_TX, { HIGH, HIGH, LOW } }, + {LR11x0::MODE_TX_HP, {LOW, HIGH}}, // { LR11x0::MODE_TX_HP, { LOW, HIGH, HIGH } }, + {LR11x0::MODE_TX_HF, {LOW, LOW}}, // { LR11x0::MODE_TX_HF, { LOW, LOW, HIGH } }, + {LR11x0::MODE_GNSS, {LOW, LOW}}, // { LR11x0::MODE_GNSS, { LOW, LOW, LOW } }, + {LR11x0::MODE_WIFI, {LOW, LOW}}, // { LR11x0::MODE_WIFI, { LOW, LOW, LOW } }, END_OF_MODE_TABLE, }; diff --git a/variants/nrf52840/makerfabs_pucky/variant.cpp b/variants/nrf52840/makerfabs_pucky/variant.cpp index 880f7a1ec..f711d2f3c 100644 --- a/variants/nrf52840/makerfabs_pucky/variant.cpp +++ b/variants/nrf52840/makerfabs_pucky/variant.cpp @@ -36,4 +36,8 @@ void initVariant() // 3V3 Power Rail pinMode(PIN_3V3_EN, OUTPUT); digitalWrite(PIN_3V3_EN, HIGH); + + // Power latch + pinMode(POWER_ON_OFF, OUTPUT); + digitalWrite(POWER_ON_OFF, HIGH); } diff --git a/variants/nrf52840/makerfabs_pucky/variant.h b/variants/nrf52840/makerfabs_pucky/variant.h index 88cbb81c3..95967713a 100644 --- a/variants/nrf52840/makerfabs_pucky/variant.h +++ b/variants/nrf52840/makerfabs_pucky/variant.h @@ -119,7 +119,7 @@ static const uint8_t SCK = PIN_SPI_SCK; #define LR1121_SPI_SCK_PIN PIN_SPI_SCK #define LR1121_SPI_MOSI_PIN PIN_SPI_MOSI #define LR1121_SPI_MISO_PIN PIN_SPI_MISO -#define LR11X0_DIO3_TCXO_VOLTAGE 1.8 +#define LR11X0_DIO3_TCXO_VOLTAGE 3.3 // #define LR11X0_DIO_AS_RF_SWITCH /* @@ -134,8 +134,7 @@ static const uint8_t SCK = PIN_SPI_SCK; /* * Power Switches */ -#define V_RFSW (13) -#define POWER_ON_OFF (30) +#define POWER_ON_OFF (30) // P0.30 Power latch control, set high to keep power on, set low to turn off #define PIN_3V3_EN (16) #define HAS_GPS 1