annotate include/matrix_gpio_mapping.h @ 17:85e8b08a7471 matrix_gpio

- added example project matrix_gpio_demo - added defines for GPIO_HIGH and GPIO_LOW
author Giulio Moro <giuliomoro@yahoo.it>
date Mon, 27 Apr 2015 18:27:04 +0100
parents 670be80463a3
children
rev   line source
giuliomoro@16 1 #ifndef MATRIX_GPIO_MAPPING_H
giuliomoro@16 2 #define MATRIX_GPIO_MAPPING_H
giuliomoro@16 3
giuliomoro@16 4 #define NUM_MATRIX_GPIOS 16
giuliomoro@16 5 extern short int matrixGpioPins[NUM_MATRIX_GPIOS];
giuliomoro@16 6 //GPIO_INPUT and GPIO_OUTPUT values when calling the setDigitalDirection() macro.
giuliomoro@16 7 //TODO: these are inverted with respect to INPUT_PIN and OUTPUT_PIN defined in GPIOcontrol.h,
giuliomoro@16 8 //which might lead to unexpected results in case someone uses those in place of these or viceversa
giuliomoro@16 9 #define GPIO_INPUT 1
giuliomoro@16 10 #define GPIO_OUTPUT 0
giuliomoro@17 11 #define GPIO_HIGH 1
giuliomoro@17 12 #define GPIO_LOW 0
giuliomoro@16 13 //mapping GPIO numbers to header pins
giuliomoro@16 14 //if you want to use different pins/ordering, define here new pins. The ordering here is NOT binding
giuliomoro@16 15 #define P8_07_GPIO_NO 66
giuliomoro@16 16 #define P8_08_GPIO_NO 67
giuliomoro@16 17 #define P8_09_GPIO_NO 69
giuliomoro@16 18 #define P8_10_GPIO_NO 68
giuliomoro@16 19 #define P8_11_GPIO_NO 45
giuliomoro@16 20 #define P8_12_GPIO_NO 44
giuliomoro@16 21 #define P9_12_GPIO_NO 60
giuliomoro@16 22 #define P9_14_GPIO_NO 50
giuliomoro@16 23 #define P8_15_GPIO_NO 47
giuliomoro@16 24 #define P8_16_GPIO_NO 46
giuliomoro@16 25 #define P9_16_GPIO_NO 51
giuliomoro@16 26 #define P8_18_GPIO_NO 65
giuliomoro@16 27 #define P8_27_GPIO_NO 86
giuliomoro@16 28 #define P8_28_GPIO_NO 88
giuliomoro@16 29 #define P8_29_GPIO_NO 87
giuliomoro@16 30 #define P8_30_GPIO_NO 89
giuliomoro@16 31
giuliomoro@16 32 //mapping pin headers to bits in the matrixGpio word.
giuliomoro@16 33 //used in the declaration of short int matrixGpioPins[NUM_MATRIX_GPIOS] below, which is used in PRU::prepareGPIO to export the pins
giuliomoro@16 34 //if you want to use different pins, declare them above and use them here
giuliomoro@16 35 //The ordering here is NOT binding, but if you want to use a different ordering, please change it here as well as below and in the PRU, for consistency
giuliomoro@16 36 #define GPIO_NO_BIT_0 P8_07_GPIO_NO
giuliomoro@16 37 #define GPIO_NO_BIT_1 P8_08_GPIO_NO
giuliomoro@16 38 #define GPIO_NO_BIT_2 P8_09_GPIO_NO
giuliomoro@16 39 #define GPIO_NO_BIT_3 P8_10_GPIO_NO
giuliomoro@16 40 #define GPIO_NO_BIT_4 P8_11_GPIO_NO
giuliomoro@16 41 #define GPIO_NO_BIT_5 P8_12_GPIO_NO
giuliomoro@16 42 #define GPIO_NO_BIT_6 P9_12_GPIO_NO
giuliomoro@16 43 #define GPIO_NO_BIT_7 P9_14_GPIO_NO
giuliomoro@16 44 #define GPIO_NO_BIT_8 P8_15_GPIO_NO
giuliomoro@16 45 #define GPIO_NO_BIT_9 P8_16_GPIO_NO
giuliomoro@16 46 #define GPIO_NO_BIT_10 P9_16_GPIO_NO
giuliomoro@16 47 #define GPIO_NO_BIT_11 P8_18_GPIO_NO
giuliomoro@16 48 #define GPIO_NO_BIT_12 P8_27_GPIO_NO
giuliomoro@16 49 #define GPIO_NO_BIT_13 P8_28_GPIO_NO
giuliomoro@16 50 #define GPIO_NO_BIT_14 P8_29_GPIO_NO
giuliomoro@16 51 #define GPIO_NO_BIT_15 P8_30_GPIO_NO
giuliomoro@16 52
giuliomoro@16 53 //mapping bits in the matrixGpio word to pin headers, so that pin header name can be used instead of but number
giuliomoro@16 54 //The ordering here IS binding. If you want to use different pins/ordering, please do it above as well as here and in the PRU, for consistency
giuliomoro@16 55 #define P8_07 0
giuliomoro@16 56 #define P8_08 1
giuliomoro@16 57 #define P8_09 2
giuliomoro@16 58 #define P8_10 3
giuliomoro@16 59 #define P8_11 4
giuliomoro@16 60 #define P8_12 5
giuliomoro@16 61 #define P9_12 6
giuliomoro@16 62 #define P9_14 7
giuliomoro@16 63 #define P8_15 8
giuliomoro@16 64 #define P8_16 9
giuliomoro@16 65 #define P9_16 10
giuliomoro@16 66 #define P8_18 11
giuliomoro@16 67 #define P8_27 12
giuliomoro@16 68 #define P8_28 13
giuliomoro@16 69 #define P8_29 14
giuliomoro@16 70 #define P8_30 15
giuliomoro@16 71
giuliomoro@16 72 #endif