diff options
Diffstat (limited to 'src/wiring/io.h')
-rw-r--r-- | src/wiring/io.h | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/src/wiring/io.h b/src/wiring/io.h index a313b2b..9f6aa4a 100644 --- a/src/wiring/io.h +++ b/src/wiring/io.h @@ -27,6 +27,8 @@ #define _IO_H #include <inttypes.h> +#include "gpio.h" +#include "adc.h" #ifdef __cplusplus extern "C"{ @@ -75,23 +77,6 @@ extern "C"{ #define D38 38 #define D39 39 -#define A0 D14 -#define A1 D15 -#define A2 D16 -#define A3 D17 -#define A4 D18 -#define A5 D19 -#define A6 D0 -#define A7 D1 -#define A8 D2 -#define A9 D3 -#define A10 D10 -#define A11 D11 -#define A12 D12 -#define A13 D13 -#define A14 D26 -#define A15 D11 - typedef enum WiringPinMode { OUTPUT, OUTPUT_OPEN_DRAIN, @@ -103,6 +88,16 @@ typedef enum WiringPinMode { PWM } WiringPinMode; +typedef struct PinMapping { + GPIO_Port *port; + uint32 pin; + uint32 adc; + TimerCCR timer_channel; +} PinMapping; + +#define ADC_INVALID 0xFFFFFFFF +#define TIMER_INVALID (TimerCCR)0xFFFFFFFF + /* Set pin to mode * pinMode(pin, mode): * pin -> {0-38, D0-D39, A0-16} |