mbd2pmd Adapter Board Library
This library assigns the proper pins for the mbed LPC1768 with the mbd2pmd adapter board.
- microSD pins
sd(p5, p6, p7, p8 "sd")
- mux I2C pins
mux(p28, p27)
Digital I/O
pmd[8]
is an array of pointers to the DigitalInOut objects
Index | Name | Pmod |
---|---|---|
0 | pa1 | 1 |
1 | pa2 | 2 |
2 | pa3 | 3 |
3 | pa4 | 4 |
4 | pb1 | 7 |
5 | pb2 | 8 |
6 | pb3 | 9 |
7 | pb4 | 10 |
MAX14661 Multiplexer Abstraction
mux_a[17]
is an array of integers representing the bit mask of a multiplexer switch arranged in Arduino order
Index | Pin | Name |
---|---|---|
0 | p10 | RX |
1 | p9 | TX |
2 | p30 | RD |
3 | p25 | PWM1 |
4 | p24 | PB1 |
5 | p23 | PB2 |
6 | p22 | PB3 |
7 | p21 | PB4 |
8 | p29 | TD |
9 | p26 | PWM2 |
10 | p14 | PA1 |
11 | p11 | PA2 |
12 | p12 | PA3 |
13 | p13 | PA4 |
14 | p28 | SDA |
15 | p27 | SCL |
16 | na | 0 |
mux_p[9]
is an array of integers representing the bit mask of a multiplexer switch arranged in Pmod order
Index | Pin | Name |
---|---|---|
0 | p14 | PA1 |
1 | p11 | PA2 |
2 | p12 | PA3 |
3 | p13 | PA4 |
4 | p24 | PB1 |
5 | p23 | PB2 |
6 | p22 | PB3 |
7 | p21 | PB4 |
8 | na | 0 |
mbd2pmd.h@0:0b4eb5eb8c18, 2014-05-10 (annotated)
- Committer:
- gsteiert
- Date:
- Sat May 10 00:35:23 2014 +0000
- Revision:
- 0:0b4eb5eb8c18
mbd2pmd Adapter Board Library initial publication
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gsteiert | 0:0b4eb5eb8c18 | 1 | /* mbd2pmd Board Driver Library |
gsteiert | 0:0b4eb5eb8c18 | 2 | * |
gsteiert | 0:0b4eb5eb8c18 | 3 | */ |
gsteiert | 0:0b4eb5eb8c18 | 4 | |
gsteiert | 0:0b4eb5eb8c18 | 5 | #ifndef MBD2PMD_H |
gsteiert | 0:0b4eb5eb8c18 | 6 | #define MBD2PMD_H |
gsteiert | 0:0b4eb5eb8c18 | 7 | |
gsteiert | 0:0b4eb5eb8c18 | 8 | #include "mbed.h" |
gsteiert | 0:0b4eb5eb8c18 | 9 | #include "SDFileSystem.h" |
gsteiert | 0:0b4eb5eb8c18 | 10 | #include "MAX14661.h" |
gsteiert | 0:0b4eb5eb8c18 | 11 | |
gsteiert | 0:0b4eb5eb8c18 | 12 | /** mbd2pmd Library, Provides utilities for configuring the mbd2pmd Board |
gsteiert | 0:0b4eb5eb8c18 | 13 | * |
gsteiert | 0:0b4eb5eb8c18 | 14 | * Example: |
gsteiert | 0:0b4eb5eb8c18 | 15 | * @code |
gsteiert | 0:0b4eb5eb8c18 | 16 | * // Configure board to pass UART signals to peripheral connector. |
gsteiert | 0:0b4eb5eb8c18 | 17 | * |
gsteiert | 0:0b4eb5eb8c18 | 18 | * #include "mbd2pmd.h" |
gsteiert | 0:0b4eb5eb8c18 | 19 | * |
gsteiert | 0:0b4eb5eb8c18 | 20 | * mbd2pmd m2p; |
gsteiert | 0:0b4eb5eb8c18 | 21 | * |
gsteiert | 0:0b4eb5eb8c18 | 22 | * int main() { |
gsteiert | 0:0b4eb5eb8c18 | 23 | * m2p.mux.setAB((mbd2pmd::RX | mbd2pmd::PA3), (mbd2pmd::TX | mbd2pmd::PA2)); |
gsteiert | 0:0b4eb5eb8c18 | 24 | * } |
gsteiert | 0:0b4eb5eb8c18 | 25 | * @endcode |
gsteiert | 0:0b4eb5eb8c18 | 26 | */ |
gsteiert | 0:0b4eb5eb8c18 | 27 | class mbd2pmd |
gsteiert | 0:0b4eb5eb8c18 | 28 | { |
gsteiert | 0:0b4eb5eb8c18 | 29 | public: |
gsteiert | 0:0b4eb5eb8c18 | 30 | |
gsteiert | 0:0b4eb5eb8c18 | 31 | /** Create a mbd2pmd interface |
gsteiert | 0:0b4eb5eb8c18 | 32 | * |
gsteiert | 0:0b4eb5eb8c18 | 33 | */ |
gsteiert | 0:0b4eb5eb8c18 | 34 | mbd2pmd(); |
gsteiert | 0:0b4eb5eb8c18 | 35 | |
gsteiert | 0:0b4eb5eb8c18 | 36 | ~mbd2pmd(); |
gsteiert | 0:0b4eb5eb8c18 | 37 | |
gsteiert | 0:0b4eb5eb8c18 | 38 | /** Initialize the digital pins and PWM |
gsteiert | 0:0b4eb5eb8c18 | 39 | * |
gsteiert | 0:0b4eb5eb8c18 | 40 | */ |
gsteiert | 0:0b4eb5eb8c18 | 41 | void init(); |
gsteiert | 0:0b4eb5eb8c18 | 42 | |
gsteiert | 0:0b4eb5eb8c18 | 43 | /** mbd2pmd resources SD card, mux, digital IO |
gsteiert | 0:0b4eb5eb8c18 | 44 | */ |
gsteiert | 0:0b4eb5eb8c18 | 45 | SDFileSystem sd; |
gsteiert | 0:0b4eb5eb8c18 | 46 | MAX14661 mux; |
gsteiert | 0:0b4eb5eb8c18 | 47 | DigitalInOut pa1; |
gsteiert | 0:0b4eb5eb8c18 | 48 | DigitalInOut pa2; |
gsteiert | 0:0b4eb5eb8c18 | 49 | DigitalInOut pa3; |
gsteiert | 0:0b4eb5eb8c18 | 50 | DigitalInOut pa4; |
gsteiert | 0:0b4eb5eb8c18 | 51 | DigitalInOut pb1; |
gsteiert | 0:0b4eb5eb8c18 | 52 | DigitalInOut pb2; |
gsteiert | 0:0b4eb5eb8c18 | 53 | DigitalInOut pb3; |
gsteiert | 0:0b4eb5eb8c18 | 54 | DigitalInOut pb4; |
gsteiert | 0:0b4eb5eb8c18 | 55 | |
gsteiert | 0:0b4eb5eb8c18 | 56 | /** Array of pointers to the DIO pins |
gsteiert | 0:0b4eb5eb8c18 | 57 | */ |
gsteiert | 0:0b4eb5eb8c18 | 58 | DigitalInOut *pmd[8]; |
gsteiert | 0:0b4eb5eb8c18 | 59 | |
gsteiert | 0:0b4eb5eb8c18 | 60 | /** LUT for multiplexer micro connections |
gsteiert | 0:0b4eb5eb8c18 | 61 | */ |
gsteiert | 0:0b4eb5eb8c18 | 62 | static const int mux_a[17]; |
gsteiert | 0:0b4eb5eb8c18 | 63 | |
gsteiert | 0:0b4eb5eb8c18 | 64 | /** LUT for multiplexer PMOD connections |
gsteiert | 0:0b4eb5eb8c18 | 65 | */ |
gsteiert | 0:0b4eb5eb8c18 | 66 | static const int mux_p[9]; |
gsteiert | 0:0b4eb5eb8c18 | 67 | |
gsteiert | 0:0b4eb5eb8c18 | 68 | /** Name the multiplexer connections |
gsteiert | 0:0b4eb5eb8c18 | 69 | */ |
gsteiert | 0:0b4eb5eb8c18 | 70 | enum MUXsignals { |
gsteiert | 0:0b4eb5eb8c18 | 71 | PWM1 = MAX14661::SW01, /**< (1<<0) PWM */ |
gsteiert | 0:0b4eb5eb8c18 | 72 | PWM2 = MAX14661::SW02, /**< (1<<1) PWM */ |
gsteiert | 0:0b4eb5eb8c18 | 73 | SCL = MAX14661::SW03, /**< (1<<2) I2C Clock */ |
gsteiert | 0:0b4eb5eb8c18 | 74 | SDA = MAX14661::SW04, /**< (1<<3) I2C Data */ |
gsteiert | 0:0b4eb5eb8c18 | 75 | TD = MAX14661::SW05, /**< (1<<4) CAN Transmit */ |
gsteiert | 0:0b4eb5eb8c18 | 76 | RD = MAX14661::SW06, /**< (1<<5) CAN Receive */ |
gsteiert | 0:0b4eb5eb8c18 | 77 | TX = MAX14661::SW07, /**< (1<<6) UART Transmit */ |
gsteiert | 0:0b4eb5eb8c18 | 78 | RX = MAX14661::SW08, /**< (1<<7) UART Receive */ |
gsteiert | 0:0b4eb5eb8c18 | 79 | PA1 = MAX14661::SW09, /**< (1<<8) Pmd row A pin 1 */ |
gsteiert | 0:0b4eb5eb8c18 | 80 | PB1 = MAX14661::SW10, /**< (1<<9) Pmd row B pin 1 */ |
gsteiert | 0:0b4eb5eb8c18 | 81 | PA2 = MAX14661::SW11, /**< (1<<10) Pmd row A pin 2 */ |
gsteiert | 0:0b4eb5eb8c18 | 82 | PB2 = MAX14661::SW12, /**< (1<<11) Pmd row B pin 2 */ |
gsteiert | 0:0b4eb5eb8c18 | 83 | PA3 = MAX14661::SW13, /**< (1<<12) Pmd row A pin 3 */ |
gsteiert | 0:0b4eb5eb8c18 | 84 | PB3 = MAX14661::SW14, /**< (1<<13) Pmd row B pin 3 */ |
gsteiert | 0:0b4eb5eb8c18 | 85 | PA4 = MAX14661::SW15, /**< (1<<14) Pmd row A pin 4 */ |
gsteiert | 0:0b4eb5eb8c18 | 86 | PB4 = MAX14661::SW16 /**< (1<<15) Pmd row B pin 4 */ |
gsteiert | 0:0b4eb5eb8c18 | 87 | }; |
gsteiert | 0:0b4eb5eb8c18 | 88 | |
gsteiert | 0:0b4eb5eb8c18 | 89 | }; |
gsteiert | 0:0b4eb5eb8c18 | 90 | |
gsteiert | 0:0b4eb5eb8c18 | 91 | #endif |