4848#define RAD_TO_DEG 57.295779513082320876798154814105
4949#define EULER 2.718281828459045235360287471352
5050
51- #define SERIAL 0x0
51+ #define SERIAL 0x0
5252#define DISPLAY 0x1
5353
5454#define LSBFIRST 0
5555#define MSBFIRST 1
5656
5757// Interrupt Modes
58- #define RISING 0x01
59- #define FALLING 0x02
60- #define CHANGE 0x03
61- #define ONLOW 0x04
62- #define ONHIGH 0x05
63- #define ONLOW_WE 0x0C
58+ #define RISING 0x01
59+ #define FALLING 0x02
60+ #define CHANGE 0x03
61+ #define ONLOW 0x04
62+ #define ONHIGH 0x05
63+ #define ONLOW_WE 0x0C
6464#define ONHIGH_WE 0x0D
6565
6666#define DEFAULT 1
7171#endif
7272
7373// can't define max() / min() because of conflicts with C++
74- #define _min (a,b ) ((a)< (b)? (a): (b))
75- #define _max (a,b ) ((a)> (b)? (a): (b))
76- #define _abs (x ) ((x)> 0 ? (x): -(x)) // abs() comes from STL
77- #define constrain (amt,low,high ) ((amt)< (low)? (low): ((amt)> (high)? (high): (amt)))
78- #define _round (x ) ((x)>= 0 ? (long )((x)+ 0.5 ): (long )((x)-0.5 )) // round() comes from STL
74+ #define _min (a, b ) ((a) < (b) ? (a) : (b))
75+ #define _max (a, b ) ((a) > (b) ? (a) : (b))
76+ #define _abs (x ) ((x) > 0 ? (x) : -(x)) // abs() comes from STL
77+ #define constrain (amt, low, high ) ((amt) < (low) ? (low) : ((amt) > (high) ? (high) : (amt)))
78+ #define _round (x ) ((x) >= 0 ? (long )((x) + 0.5 ) : (long )((x)-0.5 )) // round() comes from STL
7979#define radians (deg ) ((deg)*DEG_TO_RAD)
8080#define degrees (rad ) ((rad)*RAD_TO_DEG)
81- #define sq (x ) ((x)* (x))
81+ #define sq (x ) ((x) * (x))
8282
8383// ESP32xx runs FreeRTOS... disabling interrupts can lead to issues, such as Watchdog Timeout
8484#define sei () portENABLE_INTERRUPTS()
8585#define cli () portDISABLE_INTERRUPTS()
8686#define interrupts () sei()
8787#define noInterrupts () cli()
8888
89- #define clockCyclesPerMicrosecond () ( (long int )getCpuFrequencyMhz() )
90- #define clockCyclesToMicroseconds (a ) ( (a) / clockCyclesPerMicrosecond() )
91- #define microsecondsToClockCycles (a ) ( (a) * clockCyclesPerMicrosecond () )
89+ #define clockCyclesPerMicrosecond () ((long int )getCpuFrequencyMhz())
90+ #define clockCyclesToMicroseconds (a ) ((a) / clockCyclesPerMicrosecond())
91+ #define microsecondsToClockCycles (a ) ((a)* clockCyclesPerMicrosecond ())
9292
93- #define lowByte (w ) ((uint8_t ) ((w) & 0xff ))
94- #define highByte (w ) ((uint8_t ) ((w) >> 8 ))
93+ #define lowByte (w ) ((uint8_t )((w)& 0xff ))
94+ #define highByte (w ) ((uint8_t )((w) >> 8 ))
9595
9696#define bitRead (value, bit ) (((value) >> (bit)) & 0x01 )
9797#define bitSet (value, bit ) ((value) |= (1UL << (bit)))
101101
102102// avr-libc defines _NOP() since 1.6.2
103103#ifndef _NOP
104- #define _NOP () do { __asm__ volatile (" nop" ); } while (0 )
104+ #define _NOP () \
105+ do { __asm__ volatile (" nop" ); } while (0 )
105106#endif
106107
107108#define bit (b ) (1UL << (b))
108109#define _BV (b ) (1UL << (b))
109110
110- #define digitalPinToTimer (pin ) (0 )
111- #define analogInPinToBit (P ) (P)
111+ #define digitalPinToTimer (pin ) (0 )
112+ #define analogInPinToBit (P ) (P)
112113#if SOC_GPIO_PIN_COUNT <= 32
113- #define digitalPinToPort (pin ) (0 )
114- #define digitalPinToBitMask (pin ) (1UL << digitalPinToGPIONumber(pin))
115- #define portOutputRegister (port ) ((volatile uint32_t *)GPIO_OUT_REG)
116- #define portInputRegister (port ) ((volatile uint32_t *)GPIO_IN_REG)
117- #define portModeRegister (port ) ((volatile uint32_t *)GPIO_ENABLE_REG)
114+ #define digitalPinToPort (pin ) (0 )
115+ #define digitalPinToBitMask (pin ) (1UL << digitalPinToGPIONumber(pin))
116+ #define portOutputRegister (port ) ((volatile uint32_t *)GPIO_OUT_REG)
117+ #define portInputRegister (port ) ((volatile uint32_t *)GPIO_IN_REG)
118+ #define portModeRegister (port ) ((volatile uint32_t *)GPIO_ENABLE_REG)
118119#elif SOC_GPIO_PIN_COUNT <= 64
119- #define digitalPinToPort (pin ) ((digitalPinToGPIONumber(pin)> 31 )? 1 : 0 )
120- #define digitalPinToBitMask (pin ) (1UL << (digitalPinToGPIONumber(pin)& 31 ))
121- #define portOutputRegister (port ) ((volatile uint32_t *)((port)? GPIO_OUT1_REG: GPIO_OUT_REG))
122- #define portInputRegister (port ) ((volatile uint32_t *)((port)? GPIO_IN1_REG: GPIO_IN_REG))
123- #define portModeRegister (port ) ((volatile uint32_t *)((port)? GPIO_ENABLE1_REG: GPIO_ENABLE_REG))
120+ #define digitalPinToPort (pin ) ((digitalPinToGPIONumber(pin) > 31 ) ? 1 : 0 )
121+ #define digitalPinToBitMask (pin ) (1UL << (digitalPinToGPIONumber(pin) & 31 ))
122+ #define portOutputRegister (port ) ((volatile uint32_t *)((port) ? GPIO_OUT1_REG : GPIO_OUT_REG))
123+ #define portInputRegister (port ) ((volatile uint32_t *)((port) ? GPIO_IN1_REG : GPIO_IN_REG))
124+ #define portModeRegister (port ) ((volatile uint32_t *)((port) ? GPIO_ENABLE1_REG : GPIO_ENABLE_REG))
124125#else
125126#error SOC_GPIO_PIN_COUNT > 64 not implemented
126127#endif
131132#define NOT_ON_TIMER 0
132133
133134// some defines generic for all SoC moved from variants/board_name/pins_arduino.h
134- #define NUM_DIGITAL_PINS SOC_GPIO_PIN_COUNT // All GPIOs
135+ #define NUM_DIGITAL_PINS SOC_GPIO_PIN_COUNT // All GPIOs
135136#if SOC_ADC_PERIPH_NUM == 1
136- #define NUM_ANALOG_INPUTS (SOC_ADC_CHANNEL_NUM(0 )) // Depends on the SoC (ESP32C6, ESP32H2, ESP32C2, ESP32P4)
137+ #define NUM_ANALOG_INPUTS (SOC_ADC_CHANNEL_NUM(0 )) // Depends on the SoC (ESP32C6, ESP32H2, ESP32C2, ESP32P4)
137138#elif SOC_ADC_PERIPH_NUM == 2
138- #define NUM_ANALOG_INPUTS (SOC_ADC_CHANNEL_NUM(0 )+ SOC_ADC_CHANNEL_NUM(1 )) // Depends on the SoC (ESP32, ESP32S2, ESP32S3, ESP32C3)
139+ #define NUM_ANALOG_INPUTS (SOC_ADC_CHANNEL_NUM(0 ) + SOC_ADC_CHANNEL_NUM(1 )) // Depends on the SoC (ESP32, ESP32S2, ESP32S3, ESP32C3)
139140#endif
140- #define EXTERNAL_NUM_INTERRUPTS NUM_DIGITAL_PINS // All GPIOs
141- #define analogInputToDigitalPin (p ) (((p)< NUM_ANALOG_INPUTS)? (analogChannelToDigitalPin(p)): -1 )
142- #define digitalPinToInterrupt (p ) ((((uint8_t )digitalPinToGPIONumber(p))< NUM_DIGITAL_PINS)? digitalPinToGPIONumber(p): NOT_AN_INTERRUPT)
143- #define digitalPinHasPWM (p ) (((uint8_t )digitalPinToGPIONumber(p))< NUM_DIGITAL_PINS)
141+ #define EXTERNAL_NUM_INTERRUPTS NUM_DIGITAL_PINS // All GPIOs
142+ #define analogInputToDigitalPin (p ) (((p) < NUM_ANALOG_INPUTS) ? (analogChannelToDigitalPin(p)) : -1 )
143+ #define digitalPinToInterrupt (p ) ((((uint8_t )digitalPinToGPIONumber(p)) < NUM_DIGITAL_PINS) ? digitalPinToGPIONumber(p) : NOT_AN_INTERRUPT)
144+ #define digitalPinHasPWM (p ) (((uint8_t )digitalPinToGPIONumber(p)) < NUM_DIGITAL_PINS)
144145
145146typedef bool boolean;
146147typedef uint8_t byte;
@@ -150,7 +151,7 @@ typedef unsigned int word;
150151void setup (void );
151152void loop (void );
152153
153- // The default is using Real Hardware random number generator
154+ // The default is using Real Hardware random number generator
154155// But when randomSeed() is called, it turns to Psedo random
155156// generator, exactly as done in Arduino mainstream
156157long random (long );
@@ -169,15 +170,15 @@ long map(long, long, long, long, long);
169170extern " C" {
170171#endif
171172
172- void init (void );
173- void initVariant (void );
174- void initArduino (void );
173+ void init (void );
174+ void initVariant (void );
175+ void initArduino (void );
175176
176- unsigned long pulseIn (uint8_t pin, uint8_t state, unsigned long timeout);
177- unsigned long pulseInLong (uint8_t pin, uint8_t state, unsigned long timeout);
177+ unsigned long pulseIn (uint8_t pin, uint8_t state, unsigned long timeout);
178+ unsigned long pulseInLong (uint8_t pin, uint8_t state, unsigned long timeout);
178179
179- uint8_t shiftIn (uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder);
180- void shiftOut (uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);
180+ uint8_t shiftIn (uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder);
181+ void shiftOut (uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);
181182
182183#ifdef __cplusplus
183184}
@@ -211,23 +212,29 @@ uint16_t makeWord(uint8_t h, uint8_t l);
211212#define word (...) makeWord(__VA_ARGS__)
212213
213214size_t getArduinoLoopTaskStackSize (void );
214- #define SET_LOOP_TASK_STACK_SIZE (sz ) size_t getArduinoLoopTaskStackSize () { return sz;}
215+ #define SET_LOOP_TASK_STACK_SIZE (sz ) \
216+ size_t getArduinoLoopTaskStackSize () { return sz; }
215217
216218bool shouldPrintChipDebugReport (void );
217- #define ENABLE_CHIP_DEBUG_REPORT bool shouldPrintChipDebugReport (void ){return true ;}
219+ #define ENABLE_CHIP_DEBUG_REPORT \
220+ bool shouldPrintChipDebugReport (void ) { return true ; }
218221
219222// allows user to bypass esp_spiram_test()
220223bool esp_psram_extram_test (void );
221- #define BYPASS_SPIRAM_TEST (bypass ) bool testSPIRAM (void ) { if (bypass) return true ; else return esp_psram_extram_test (); }
224+ #define BYPASS_SPIRAM_TEST (bypass ) \
225+ bool testSPIRAM (void ) { \
226+ if (bypass) return true ; \
227+ else return esp_psram_extram_test (); \
228+ }
222229
223230unsigned long pulseIn (uint8_t pin, uint8_t state, unsigned long timeout = 1000000L );
224231unsigned long pulseInLong (uint8_t pin, uint8_t state, unsigned long timeout = 1000000L );
225232
226- extern " C" bool getLocalTime (struct tm * info, uint32_t ms = 5000 );
233+ extern " C" bool getLocalTime (struct tm * info, uint32_t ms = 5000 );
227234extern " C" void configTime (long gmtOffset_sec, int daylightOffset_sec,
228- const char * server1, const char * server2 = nullptr , const char * server3 = nullptr );
235+ const char * server1, const char * server2 = nullptr , const char * server3 = nullptr );
229236extern " C" void configTzTime (const char * tz,
230- const char * server1, const char * server2 = nullptr , const char * server3 = nullptr );
237+ const char * server1, const char * server2 = nullptr , const char * server3 = nullptr );
231238
232239void setToneChannel (uint8_t channel = 0 );
233240void tone (uint8_t _pin, unsigned int frequency, unsigned long duration = 0 );
0 commit comments