8000 Interrupts almost done · EmbeddedMan/Arduino_Apollo3@5e0f284 · GitHub
[go: up one dir, main page]

Skip to content

Commit 5e0f284

Browse files
committed
Interrupts almost done
Need a way to non-destructively modify pin configurations. Will continue work tonight
1 parent bcf1dec commit 5e0f284

File tree

8 files changed

+469
-98
lines changed

8 files changed

+469
-98
lines changed

cores/arduino/ard_sup/Arduino_defines.h

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,12 @@
33

44

55
// Constants
6-
#define LOW (0x0)
7-
#define HIGH (0x1)
6+
#define LOW (0x0)
7+
#define HIGH (0x1)
8+
9+
#define CHANGE (0x02)
10+
#define FALLING (0x03)
11+
#define RISING (0x04)
812

913
#define PI 3.1415926535897932384626433832795
1014
#define HALF_PI 1.5707963267948966192313216916398
@@ -39,3 +43,4 @@
3943

4044
#define bit(b) (1UL << (b))
4145

46+
#define digitalPinToInterrupt(P) (P) // all apollo3 pads are interrupt capable

cores/arduino/ard_sup/ap3_gpio.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ extern ap3_gpio_pad_t ap3_gpio_pin2pad(ap3_gpio_pin_t pin);
5353
inline bool ap3_gpio_is_valid(ap3_gpio_pad_t pad){ return AP3_GPIO_IS_VALID(pad); }
5454
inline bool ap3_gpio_has_gpio(ap3_gpio_pad_t pad){ return AP3_GPIO_IS_VALID(pad); }
5555

56+
// Frankenstein HAL GPIO config OR function
57+
uint32_t ap3_gpio_pinconfig_ORnot(uint32_t ui32Pin, am_hal_gpio_pincfg_t bfGpioCfg, bool ORnot);
58+
5659
void padMode(uint8_t pad, am_hal_gpio_pincfg_t mode);
5760
void padMode(uint8_t pad, am_hal_gpio_pincfg_t mode, ap3_err_t* retval);
5861

@@ -61,8 +64,8 @@ void pinMode(uint8_t pin, am_hal_gpio_pincfg_t mode, ap3_err_t* retval);
6164
void digitalWrite(uint8_t pin, uint8_t val);
6265
int digitalRead(uint8_t pin);
6366

64-
void attachInterrupt(uint8_t pin, void (*)(void), int mode);
65-
void attachInterruptArg(uint8_t pin, void (*)(void*), void * arg, int mode);
67+
void attachInterrupt(uint8_t pin, voidFuncPtr callback, int mode);
68+
void attachInterruptArg(uint8_t pin, voidFuncPtrArgs callbackArgs, void * arg, int mode);
6669
void detachInterrupt(uint8_t pin);
6770

6871

cores/arduino/ard_sup/ap3_types.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,7 @@ enum BitOrder
6262
MSBFIRST = 1
6363
};
6464

65+
typedef void (*voidFuncPtr)(void);
66+
typedef void (*voidFuncPtrArgs)(void*);
67+
6568
#endif // _AP3_TYPES_H_

0 commit comments

Comments
 (0)
0