mbd2pmd Adapter Board Library

Dependents:   MBD2PMD_WebServer

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

IndexNamePmod
0pa11
1pa22
2pa33
3pa44
4pb17
5pb28
6pb39
7pb410

MAX14661 Multiplexer Abstraction

mux_a[17] is an array of integers representing the bit mask of a multiplexer switch arranged in Arduino order

IndexPinName
0p10RX
1p9TX
2p30RD
3p25PWM1
4p24PB1
5p23PB2
6p22PB3
7p21PB4
8p29TD
9p26PWM2
10p14PA1
11p11PA2
12p12PA3
13p13PA4
14p28SDA
15p27SCL
16na0

mux_p[9] is an array of integers representing the bit mask of a multiplexer switch arranged in Pmod order

IndexPinName
0p14PA1
1p11PA2
2p12PA3
3p13PA4
4p24PB1
5p23PB2
6p22PB3
7p21PB4
8na0
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?

UserRevisionLine numberNew 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