Arduino to Peripheral Module adapter library
This library assigns the proper pins for an Arduino compatible board with the ard2pmd adapter board.
- mux I2C pins
mux(D14, D15)
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 | D0 | RX |
1 | D1 | TX |
2 | D2 | D3 |
3 | D3 | D4 |
4 | D4 | PB1 |
5 | D5 | PB2 |
6 | D6 | PB3 |
7 | D7 | PB4 |
8 | D8 | D8 |
9 | D9 | D9 |
10 | D10 | PA1 |
11 | D11 | PA2 |
12 | D12 | PA3 |
13 | D13 | PA4 |
14 | D14 | SDA |
15 | D15 | 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 | D10 | PA1 |
1 | D11 | PA2 |
2 | D12 | PA3 |
3 | D13 | PA4 |
4 | D4 | PB1 |
5 | D5 | PB2 |
6 | D6 | PB3 |
7 | D7 | PB4 |
8 | na | 0 |
ARD2PMD.cpp@4:f016a009708c, 2014-05-10 (annotated)
- Committer:
- gsteiert
- Date:
- Sat May 10 04:22:17 2014 +0000
- Revision:
- 4:f016a009708c
- Parent:
- 3:18ae8990f74b
Cleaned up example in comments.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gsteiert | 0:d42cfc64e43e | 1 | /* ARD2PMD Board Driver Library |
gsteiert | 0:d42cfc64e43e | 2 | * |
gsteiert | 0:d42cfc64e43e | 3 | */ |
gsteiert | 0:d42cfc64e43e | 4 | |
gsteiert | 0:d42cfc64e43e | 5 | #include "ARD2PMD.h" |
gsteiert | 0:d42cfc64e43e | 6 | #include "mbed.h" |
gsteiert | 0:d42cfc64e43e | 7 | |
gsteiert | 3:18ae8990f74b | 8 | ARD2PMD::ARD2PMD() : |
gsteiert | 3:18ae8990f74b | 9 | pa1(D10), pa2(D11), pa3(D12), pa4(D13), |
gsteiert | 3:18ae8990f74b | 10 | pb1(D4), pb2(D5), pb3(D6), pb4(D7), |
gsteiert | 3:18ae8990f74b | 11 | mux(D14, D15) |
gsteiert | 0:d42cfc64e43e | 12 | { |
gsteiert | 0:d42cfc64e43e | 13 | } |
gsteiert | 0:d42cfc64e43e | 14 | |
gsteiert | 0:d42cfc64e43e | 15 | ARD2PMD::~ARD2PMD() |
gsteiert | 0:d42cfc64e43e | 16 | { |
gsteiert | 0:d42cfc64e43e | 17 | } |
gsteiert | 0:d42cfc64e43e | 18 | |
gsteiert | 3:18ae8990f74b | 19 | const int ARD2PMD::mux_a[17] = {RX, TX, D2, D3, PB1, PB2, PB3, PB4, D8, D9, PA1, PA2, PA3, PA4, SDA, SCL, 0}; |
gsteiert | 3:18ae8990f74b | 20 | const int ARD2PMD::mux_p[9] = {PA1, PA2, PA3, PA4, PB1, PB2, PB3, PB4, 0}; |
gsteiert | 0:d42cfc64e43e | 21 | |
gsteiert | 3:18ae8990f74b | 22 | // Initialize Digital IO to inputs with no pullups |
gsteiert | 3:18ae8990f74b | 23 | void ARD2PMD::init() |
gsteiert | 0:d42cfc64e43e | 24 | { |
gsteiert | 3:18ae8990f74b | 25 | pmd[0] = &pa1; |
gsteiert | 3:18ae8990f74b | 26 | pmd[1] = &pa2; |
gsteiert | 3:18ae8990f74b | 27 | pmd[2] = &pa3; |
gsteiert | 3:18ae8990f74b | 28 | pmd[3] = &pa4; |
gsteiert | 3:18ae8990f74b | 29 | pmd[4] = &pb1; |
gsteiert | 3:18ae8990f74b | 30 | pmd[5] = &pb2; |
gsteiert | 3:18ae8990f74b | 31 | pmd[6] = &pb3; |
gsteiert | 3:18ae8990f74b | 32 | pmd[7] = &pb4; |
gsteiert | 3:18ae8990f74b | 33 | for (int i=0; i < 8; i++) { |
gsteiert | 3:18ae8990f74b | 34 | (*pmd[i]).mode(PullNone); |
gsteiert | 3:18ae8990f74b | 35 | (*pmd[i]).input(); |
gsteiert | 0:d42cfc64e43e | 36 | } |
gsteiert | 3:18ae8990f74b | 37 | } |