[core] Organize GCC compilation flags

This commit is contained in:
Kuba Szczodrzyński
2023-03-04 17:19:24 +01:00
parent 3113b387c3
commit 6b92aac1da
20 changed files with 102 additions and 143 deletions

View File

@@ -169,6 +169,7 @@ bool LibreTuya::otaSwitch(bool force) {
bool LibreTuya::wdtEnable(uint32_t timeout) {
wdt_ctrl(WCMD_SET_PERIOD, &timeout);
wdt_ctrl(WCMD_POWER_UP, NULL);
return true;
}
void LibreTuya::wdtDisable() {

View File

@@ -36,6 +36,7 @@ WiFiStatus eventTypeToStatus(uint8_t type) {
case RW_EVT_STA_DISCONNECTED:
return WL_DISCONNECTED;
}
return WL_IDLE_STATUS;
}
WiFiAuthMode securityTypeToAuthMode(uint8_t type) {

View File

@@ -54,6 +54,7 @@ size_t IPv6Address::printTo(Print &p) const {
}
return n; */
return 0;
}
String IPv6Address::toString() const {

View File

@@ -104,6 +104,7 @@ class UpdateClass {
public:
String md5String(void) {
// return _md5.toString();
return "";
}
void md5(uint8_t *result) {

View File

@@ -61,6 +61,7 @@ bool LwIPServer::begin(uint16_t port, bool reuseAddr) {
_active = true;
_noDelay = false;
_sockAccepted = -1;
return true;
}
void LwIPServer::end() {

View File

@@ -183,6 +183,7 @@ bool LibreTuya::otaSwitch(bool force) {
bool LibreTuya::wdtEnable(uint32_t timeout) {
watchdog_init(timeout);
watchdog_start();
return true;
}
void LibreTuya::wdtDisable() {

View File

@@ -179,7 +179,7 @@ void handleRtwEvent(uint16_t event, char *data, int len, int flags) {
if (len != 124)
return;
eventId = ARDUINO_EVENT_WIFI_AP_STACONNECTED;
memcpy(eventInfo.wifi_ap_staconnected.mac, (const char *)data[10], 6);
memcpy(eventInfo.wifi_ap_staconnected.mac, (const char *)data + 10, 6);
break;
case WIFI_EVENT_STA_DISASSOC:

View File

@@ -35,7 +35,7 @@ extern rtw_wifi_setting_t wifi_setting;
extern unsigned char sta_password[65];
extern unsigned char ap_password[65];
extern void reset_wifi_struct(void);
extern rtw_mode_t wifi_mode;
extern wifi_mode_t wifi_mode;
extern WiFiAuthMode securityTypeToAuthMode(uint8_t type);
// WiFiEvents.cpp
extern void startWifiTask();

View File

@@ -103,6 +103,7 @@ bool TwoWire::end() {
i2c_reset(_i2c);
delete _i2c;
_i2c = NULL;
return true;
}
bool TwoWire::setClock(uint32_t freq) {
@@ -110,6 +111,7 @@ bool TwoWire::setClock(uint32_t freq) {
i2c_frequency(_i2c, freq);
}
_freq = freq;
return true;
}
void TwoWire::beginTransmission(uint8_t address) {

View File

@@ -106,53 +106,3 @@ void analogWrite(pin_size_t pinNumber, int value) {
}
}
}
typedef struct _tone_argument {
uint32_t ulPin;
uint32_t timer_id;
};
void _tone_timer_handler(const void *argument) {
struct _tone_argument *arg = (struct _tone_argument *)argument;
uint32_t ulPin = (uint32_t)argument;
noTone(arg->ulPin);
os_timer_delete(arg->timer_id);
free((struct _tone_argument *)arg);
}
void _tone(uint32_t ulPin, unsigned int frequency, unsigned long duration) {
pwmout_t *obj;
if ((pinTable[ulPin].supported & PIN_PWM) != PIN_PWM) {
return;
}
if (pinTable[ulPin].enabled != PIN_PWM) {
if ((pinTable[ulPin].enabled == PIN_GPIO) || (pinTable[ulPin].enabled == PIN_IRQ)) {
pinRemoveMode(ulPin);
}
gpio_pin_struct[ulPin] = malloc(sizeof(pwmout_t));
pwmout_t *obj = (pwmout_t *)gpio_pin_struct[ulPin];
pwmout_init(obj, pinTable[ulPin].gpio);
pwmout_period(obj, 1.0 / frequency);
pwmout_pulsewidth(obj, 1.0 / (frequency * 2));
pinTable[ulPin].enabled = PIN_PWM;
} else {
// There is already a PWM configured
pwmout_t *obj = (pwmout_t *)gpio_pin_struct[ulPin];
pwmout_period(obj, 1.0 / frequency);
pwmout_pulsewidth(obj, 1.0 / (frequency * 2));
}
if (duration > 0) {
struct _tone_argument *arg = (struct _tone_argument *)malloc(sizeof(struct _tone_argument));
arg->ulPin = ulPin;
arg->timer_id = os_timer_create(_tone_timer_handler, 0, arg);
os_timer_start(arg->timer_id, duration);
}
}

View File

@@ -13,7 +13,7 @@ void pinRemoveMode(pin_size_t pinNumber) {
}
if (pinEnabled(pin, PIN_GPIO)) {
gpio_t *obj = (gpio_t *)gpio_pin_struct[pinNumber];
gpio_deinit(obj, pin->gpio);
gpio_deinit(obj);
free(obj);
}
if (pinEnabled(pin, PIN_IRQ)) {
@@ -107,9 +107,9 @@ void digitalWrite(pin_size_t pinNumber, PinStatus status) {
PinStatus digitalRead(pin_size_t pinNumber) {
PinInfo *pin = pinInfo(pinNumber);
if (!pin)
return;
return LOW;
if (pin->enabled != PIN_GPIO)
return;
return LOW;
gpio_t *gpio = (gpio_t *)gpio_pin_struct[pinNumber];
return gpio_read(gpio);

View File

@@ -18,7 +18,7 @@ static void gpioIrqHandler(uint32_t id, gpio_irq_event event) {
}
void attachInterrupt(pin_size_t interruptNumber, voidFuncPtr callback, PinStatus mode) {
attachInterruptParam(interruptNumber, callback, mode, NULL);
attachInterruptParam(interruptNumber, (voidFuncPtrParam)callback, mode, NULL);
}
void attachInterruptParam(pin_size_t interruptNumber, voidFuncPtrParam callback, PinStatus mode, void *param) {

View File

@@ -36,11 +36,13 @@ extern "C" {
#include <rtl8710c.h>
#endif
#include <gpio_api.h>
#undef MBED_GPIO_API_H // ..no comment
#include <gpio_ex_api.h>
#include <analogin_api.h>
#include <analogout_api.h>
#include <flash_api.h>
#include <gpio_api.h>
#include <gpio_ex_api.h>
#include <gpio_irq_api.h>
#include <gpio_irq_ex_api.h>
#include <i2c_api.h>

View File

@@ -8,4 +8,5 @@ __attribute__((weak)) uint32_t __get_IPSR()
{
uint32_t result;
asm volatile ("MRS %0, ipsr" : "=r" (result) );
return result;
}