mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-22 21:23:07 +03:00
disabling RF (work-in-progress)
This commit is contained in:
parent
aaf1f7652d
commit
432198f178
@ -45,13 +45,22 @@ typedef enum {
|
|||||||
#define cli() ets_intr_lock() // IRQ Disable
|
#define cli() ets_intr_lock() // IRQ Disable
|
||||||
#define sei() ets_intr_unlock() // IRQ Enable
|
#define sei() ets_intr_unlock() // IRQ Enable
|
||||||
|
|
||||||
enum WakeMode {
|
enum RFMode {
|
||||||
WAKE_RF_DEFAULT = 0, // RF_CAL or not after deep-sleep wake up, depends on init data byte 108.
|
RF_DEFAULT = 0, // RF_CAL or not after deep-sleep wake up, depends on init data byte 108.
|
||||||
WAKE_RFCAL = 1, // RF_CAL after deep-sleep wake up, there will be large current.
|
RF_CAL = 1, // RF_CAL after deep-sleep wake up, there will be large current.
|
||||||
WAKE_NO_RFCAL = 2, // no RF_CAL after deep-sleep wake up, there will only be small current.
|
RF_NO_CAL = 2, // no RF_CAL after deep-sleep wake up, there will only be small current.
|
||||||
WAKE_RF_DISABLED = 4 // disable RF after deep-sleep wake up, just like modem sleep, there will be the smallest current.
|
RF_DISABLED = 4 // disable RF after deep-sleep wake up, just like modem sleep, there will be the smallest current.
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define RF_MODE(mode) extern "C" int __get_rf_mode() { return mode; }
|
||||||
|
|
||||||
|
// compatibility definitions
|
||||||
|
#define WakeMode RFMode
|
||||||
|
#define WAKE_RF_DEFAULT RF_DEFAULT
|
||||||
|
#define WAKE_RFCAL RF_CAL
|
||||||
|
#define WAKE_NO_RFCAL RF_NO_CAL
|
||||||
|
#define WAKE_RF_DISABLED RF_DISABLED
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
FM_QIO = 0x00,
|
FM_QIO = 0x00,
|
||||||
FM_QOUT = 0x01,
|
FM_QOUT = 0x01,
|
||||||
@ -72,7 +81,7 @@ class EspClass {
|
|||||||
void wdtDisable();
|
void wdtDisable();
|
||||||
void wdtFeed();
|
void wdtFeed();
|
||||||
|
|
||||||
void deepSleep(uint32_t time_us, WakeMode mode = WAKE_RF_DEFAULT);
|
void deepSleep(uint32_t time_us, RFMode mode = RF_DEFAULT);
|
||||||
|
|
||||||
void reset();
|
void reset();
|
||||||
void restart();
|
void restart();
|
||||||
|
@ -118,9 +118,15 @@ void init_done() {
|
|||||||
esp_schedule();
|
esp_schedule();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern "C" int __get_rf_mode() __attribute__((weak));
|
||||||
|
extern "C" int __get_rf_mode()
|
||||||
|
{
|
||||||
|
return 0; // default mode
|
||||||
|
}
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
void user_rf_pre_init() {
|
void user_rf_pre_init() {
|
||||||
|
system_phy_set_rfoption(__get_rf_mode());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user