Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: dm_bubbles dm_calc dm_paint dm_sdcard_with_adapter ... more
dm_platform.h@0:d6ff5fa503e8, 2014-05-13 (annotated)
- Committer:
- displaymodule
- Date:
- Tue May 13 09:31:24 2014 +0000
- Revision:
- 0:d6ff5fa503e8
- Child:
- 2:59be7fca4581
First version
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| displaymodule | 0:d6ff5fa503e8 | 1 | #ifndef DM_PLATFORM_h |
| displaymodule | 0:d6ff5fa503e8 | 2 | #define DM_PLATFORM_h |
| displaymodule | 0:d6ff5fa503e8 | 3 | |
| displaymodule | 0:d6ff5fa503e8 | 4 | // Determine type of system |
| displaymodule | 0:d6ff5fa503e8 | 5 | #if defined (__AVR__) |
| displaymodule | 0:d6ff5fa503e8 | 6 | #define DM_TOOLCHAIN_ARDUINO |
| displaymodule | 0:d6ff5fa503e8 | 7 | #elif defined(TOOLCHAIN_ARM) || defined(TOOLCHAIN_ARM_MICRO) |
| displaymodule | 0:d6ff5fa503e8 | 8 | #define DM_TOOLCHAIN_MBED |
| displaymodule | 0:d6ff5fa503e8 | 9 | #else |
| displaymodule | 0:d6ff5fa503e8 | 10 | #error Only Arduino and Mbed toolchains are supported |
| displaymodule | 0:d6ff5fa503e8 | 11 | #endif |
| displaymodule | 0:d6ff5fa503e8 | 12 | |
| displaymodule | 0:d6ff5fa503e8 | 13 | // Arduino |
| displaymodule | 0:d6ff5fa503e8 | 14 | #if defined (DM_TOOLCHAIN_ARDUINO) |
| displaymodule | 0:d6ff5fa503e8 | 15 | |
| displaymodule | 0:d6ff5fa503e8 | 16 | // Mandatory includes for Arduino |
| displaymodule | 0:d6ff5fa503e8 | 17 | #include <Arduino.h> |
| displaymodule | 0:d6ff5fa503e8 | 18 | #include <avr/pgmspace.h> |
| displaymodule | 0:d6ff5fa503e8 | 19 | #include <SPI.h> |
| displaymodule | 0:d6ff5fa503e8 | 20 | |
| displaymodule | 0:d6ff5fa503e8 | 21 | // Clear bit, Set bit, High pulse and Low pulse macros |
| displaymodule | 0:d6ff5fa503e8 | 22 | #define cbi(reg, _bitmask) *reg &= ~_bitmask |
| displaymodule | 0:d6ff5fa503e8 | 23 | #define sbi(reg, _bitmask) *reg |= _bitmask |
| displaymodule | 0:d6ff5fa503e8 | 24 | #define pulse_high(reg, _bitmask) sbi(reg, _bitmask); cbi(reg, _bitmask); |
| displaymodule | 0:d6ff5fa503e8 | 25 | #define pulse_low(reg, _bitmask) cbi(reg, _bitmask); sbi(reg, _bitmask); |
| displaymodule | 0:d6ff5fa503e8 | 26 | |
| displaymodule | 0:d6ff5fa503e8 | 27 | // Map of mandatory pin names, from Arduino names to D* and A* |
| displaymodule | 0:d6ff5fa503e8 | 28 | #define D2 2 |
| displaymodule | 0:d6ff5fa503e8 | 29 | #define D3 3 |
| displaymodule | 0:d6ff5fa503e8 | 30 | #define D4 4 |
| displaymodule | 0:d6ff5fa503e8 | 31 | #define D5 5 |
| displaymodule | 0:d6ff5fa503e8 | 32 | #define D6 6 |
| displaymodule | 0:d6ff5fa503e8 | 33 | #define D9 9 |
| displaymodule | 0:d6ff5fa503e8 | 34 | #define D10 10 |
| displaymodule | 0:d6ff5fa503e8 | 35 | #define A2 16 |
| displaymodule | 0:d6ff5fa503e8 | 36 | #define A3 17 |
| displaymodule | 0:d6ff5fa503e8 | 37 | #define A4 18 |
| displaymodule | 0:d6ff5fa503e8 | 38 | #define A5 19 |
| displaymodule | 0:d6ff5fa503e8 | 39 | |
| displaymodule | 0:d6ff5fa503e8 | 40 | // Needed typedefs, not normally present in the Arduino environment |
| displaymodule | 0:d6ff5fa503e8 | 41 | #ifndef uint8_t |
| displaymodule | 0:d6ff5fa503e8 | 42 | #define uint8_t unsigned char |
| displaymodule | 0:d6ff5fa503e8 | 43 | #endif |
| displaymodule | 0:d6ff5fa503e8 | 44 | #ifndef int8_t |
| displaymodule | 0:d6ff5fa503e8 | 45 | #define int8_t signed char |
| displaymodule | 0:d6ff5fa503e8 | 46 | #endif |
| displaymodule | 0:d6ff5fa503e8 | 47 | #ifndef uint16_t |
| displaymodule | 0:d6ff5fa503e8 | 48 | #define uint16_t unsigned short |
| displaymodule | 0:d6ff5fa503e8 | 49 | #endif |
| displaymodule | 0:d6ff5fa503e8 | 50 | #ifndef uint32_t |
| displaymodule | 0:d6ff5fa503e8 | 51 | #define uint32_t unsigned long |
| displaymodule | 0:d6ff5fa503e8 | 52 | #endif |
| displaymodule | 0:d6ff5fa503e8 | 53 | |
| displaymodule | 0:d6ff5fa503e8 | 54 | // Mbed |
| displaymodule | 0:d6ff5fa503e8 | 55 | #elif defined(DM_TOOLCHAIN_MBED) |
| displaymodule | 0:d6ff5fa503e8 | 56 | |
| displaymodule | 0:d6ff5fa503e8 | 57 | // Mandatory includes for Mbed |
| displaymodule | 0:d6ff5fa503e8 | 58 | #include "mbed.h" |
| displaymodule | 0:d6ff5fa503e8 | 59 | |
| displaymodule | 0:d6ff5fa503e8 | 60 | // Clear bit, Set bit, High pulse, Low pulse, Boundary limits and Delay macros |
| displaymodule | 0:d6ff5fa503e8 | 61 | #define sbi(reg, _bitmask) (*(reg) = 1) |
| displaymodule | 0:d6ff5fa503e8 | 62 | #define cbi(reg, _bitmask) (*(reg) = 0) |
| displaymodule | 0:d6ff5fa503e8 | 63 | #define pulse_high(reg, _bitmask) do { *(reg) = 1; *(reg) = 0; } while(0) |
| displaymodule | 0:d6ff5fa503e8 | 64 | #define pulse_low(reg, _bitmask) do { *(reg) = 0; *(reg) = 1; } while(0) |
| displaymodule | 0:d6ff5fa503e8 | 65 | #define constrain(amt,low,high) ((amt)<=(low)?(low):((amt)>(high)?(high):(amt))) |
| displaymodule | 0:d6ff5fa503e8 | 66 | #define delay(ms) wait_ms(ms) |
| displaymodule | 0:d6ff5fa503e8 | 67 | |
| displaymodule | 0:d6ff5fa503e8 | 68 | // Map of mandatory pin names, from Arduino names to D* and A* |
| displaymodule | 0:d6ff5fa503e8 | 69 | #if defined(__LPC407x_8x_177x_8x_H__) |
| displaymodule | 0:d6ff5fa503e8 | 70 | #define D0 p10 |
| displaymodule | 0:d6ff5fa503e8 | 71 | #define D1 p9 |
| displaymodule | 0:d6ff5fa503e8 | 72 | #define D2 p31 |
| displaymodule | 0:d6ff5fa503e8 | 73 | #define D3 p32 |
| displaymodule | 0:d6ff5fa503e8 | 74 | #define D4 p33 |
| displaymodule | 0:d6ff5fa503e8 | 75 | #define D5 p37 |
| displaymodule | 0:d6ff5fa503e8 | 76 | #define D6 p38 |
| displaymodule | 0:d6ff5fa503e8 | 77 | #define D7 p34 |
| displaymodule | 0:d6ff5fa503e8 | 78 | #define D8 p8 |
| displaymodule | 0:d6ff5fa503e8 | 79 | #define D9 p39 |
| displaymodule | 0:d6ff5fa503e8 | 80 | #define D10 p14 |
| displaymodule | 0:d6ff5fa503e8 | 81 | #define D11 p11 |
| displaymodule | 0:d6ff5fa503e8 | 82 | #define D12 p12 |
| displaymodule | 0:d6ff5fa503e8 | 83 | #define D13 p13 |
| displaymodule | 0:d6ff5fa503e8 | 84 | |
| displaymodule | 0:d6ff5fa503e8 | 85 | #define A0 p15 |
| displaymodule | 0:d6ff5fa503e8 | 86 | #define A1 p16 |
| displaymodule | 0:d6ff5fa503e8 | 87 | #define A2 p17 |
| displaymodule | 0:d6ff5fa503e8 | 88 | #define A3 p18 |
| displaymodule | 0:d6ff5fa503e8 | 89 | #define A4 p19 |
| displaymodule | 0:d6ff5fa503e8 | 90 | #define A5 p20 |
| displaymodule | 0:d6ff5fa503e8 | 91 | #endif |
| displaymodule | 0:d6ff5fa503e8 | 92 | // Special handling for the LPC1549 LPCXpresso board |
| displaymodule | 0:d6ff5fa503e8 | 93 | #ifdef LPC15XX_H |
| displaymodule | 0:d6ff5fa503e8 | 94 | #define D5 P0_11 |
| displaymodule | 0:d6ff5fa503e8 | 95 | #endif |
| displaymodule | 0:d6ff5fa503e8 | 96 | #endif |
| displaymodule | 0:d6ff5fa503e8 | 97 | |
| displaymodule | 0:d6ff5fa503e8 | 98 | #endif /* DM_PLATFORM_h */ |
| displaymodule | 0:d6ff5fa503e8 | 99 |
DisplayModule 1.8" TFT with SPI Interface
DisplayModule 2.2" TFT with 8-bit interface
DisplayModule 2.8" 240x320 Touch TFT with 8-bit Interface
DisplayModule 2.4" 240x320 Touch TFT with 8-bit Interface
DisplayModule 2.8" 240x320 TFT LCD With Resistive Touch - SPI, 4MB Flash
DisplayModule 3.5" 320x240 TFT LCD With Resistive Touch - SPI, 4MB Flash
DisplayModule 4.3" 480x272 Arduino TFT Shield With Touch And SPI Interface
DisplayModule 5.0" 800x480 Arduino TFT Shield With Touch And SPI Interface
DisplayModule 2.8" 240x320 TFT With Capacitive Touch