From 42332fc46e838e83eb42c2cff50b23e092dfb7f1 Mon Sep 17 00:00:00 2001 From: Markus Sattler Date: Sat, 25 Jul 2015 09:22:37 +0200 Subject: [PATCH] allow user to run code in user_rf_pre_init. add void to "C" functions. example: extern "C" void __run_user_rf_pre_init(void) { system_phy_set_rfoption(2); } see: #515 and #413 --- cores/esp8266/Esp.h | 2 +- cores/esp8266/core_esp8266_phy.c | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/cores/esp8266/Esp.h b/cores/esp8266/Esp.h index 8e66f8f88..17349f688 100644 --- a/cores/esp8266/Esp.h +++ b/cores/esp8266/Esp.h @@ -68,7 +68,7 @@ enum ADCMode { ADC_VDD = 255 }; -#define ADC_MODE(mode) extern "C" int __get_adc_mode() { return (int) (mode); } +#define ADC_MODE(mode) extern "C" int __get_adc_mode(void) { return (int) (mode); } typedef enum { FM_QIO = 0x00, diff --git a/cores/esp8266/core_esp8266_phy.c b/cores/esp8266/core_esp8266_phy.c index cc624ade0..e24a933aa 100644 --- a/cores/esp8266/core_esp8266_phy.c +++ b/cores/esp8266/core_esp8266_phy.c @@ -247,18 +247,26 @@ void user_rf_pre_init() { rtc_reg[30] = 0; system_set_os_print(0); + __run_user_rf_pre_init(); } -extern int __get_rf_mode() __attribute__((weak)); -extern int __get_rf_mode() +extern int __get_rf_mode(void) __attribute__((weak)); +extern int __get_rf_mode(void) { return 0; // default mode } -extern int __get_adc_mode() __attribute__((weak)); -extern int __get_adc_mode() +extern int __get_adc_mode(void) __attribute__((weak)); +extern int __get_adc_mode(void) { return 33; // default ADC mode } +extern void __run_user_rf_pre_init(void) __attribute__((weak)); +extern void __run_user_rf_pre_init(void) +{ + return; // default do noting +} + +