mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-19 23:22:16 +03:00
Save 16 bytes RAM by placing esp8266_gpioToFn (core_esp8266_wiring_digital.cpp) array in PROGMEM (#6703)
* Save 16 bytes RAM by placing the array in PROGMEM. * Reduce runtime computation at expense of switching from uint8_t[16] to uint32_t*[16]
This commit is contained in:
parent
60c8975feb
commit
d14419efa2
@ -30,7 +30,7 @@
|
||||
|
||||
extern "C" {
|
||||
|
||||
uint8_t esp8266_gpioToFn[16] = {0x34, 0x18, 0x38, 0x14, 0x3C, 0x40, 0x1C, 0x20, 0x24, 0x28, 0x2C, 0x30, 0x04, 0x08, 0x0C, 0x10};
|
||||
volatile uint32_t* const esp8266_gpioToFn[16] PROGMEM = { &GPF0, &GPF1, &GPF2, &GPF3, &GPF4, &GPF5, &GPF6, &GPF7, &GPF8, &GPF9, &GPF10, &GPF11, &GPF12, &GPF13, &GPF14, &GPF15 };
|
||||
|
||||
extern void __pinMode(uint8_t pin, uint8_t mode) {
|
||||
if(pin < 16){
|
||||
|
@ -102,8 +102,8 @@
|
||||
#define GPF14 ESP8266_REG(0x80C)
|
||||
#define GPF15 ESP8266_REG(0x810)
|
||||
|
||||
extern uint8_t esp8266_gpioToFn[16];
|
||||
#define GPF(p) ESP8266_REG(0x800 + esp8266_gpioToFn[(p & 0xF)])
|
||||
extern volatile uint32_t* const esp8266_gpioToFn[16];
|
||||
#define GPF(p) (*esp8266_gpioToFn[(p & 0xF)])
|
||||
|
||||
//GPIO (0-15) PIN Function Bits
|
||||
#define GPFSOE 0 //Sleep OE
|
||||
|
Loading…
x
Reference in New Issue
Block a user