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.
gfx1.cpp@0:2052f61477b1, 2011-07-06 (annotated)
- Committer:
- fblanc
- Date:
- Wed Jul 06 12:06:40 2011 +0000
- Revision:
- 0:2052f61477b1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
fblanc | 0:2052f61477b1 | 1 | /** |
fblanc | 0:2052f61477b1 | 2 | * @file gfx1.cpp |
fblanc | 0:2052f61477b1 | 3 | * @brief library Lascar Electronics SP 5-GFX1 DISPLAY, LCD GRAPHIC, 128 X 64 DOTS |
fblanc | 0:2052f61477b1 | 4 | * @author Frederic BLANC |
fblanc | 0:2052f61477b1 | 5 | */ |
fblanc | 0:2052f61477b1 | 6 | #include "gfx1.h" |
fblanc | 0:2052f61477b1 | 7 | SPI spi1(p5, p6, p7); //definition BUS SPI |
fblanc | 0:2052f61477b1 | 8 | unsigned char gfx1[128][7]; //emulation memoire ecran |
fblanc | 0:2052f61477b1 | 9 | unsigned int gfx1_x,gfx1_y;//emulation memoire ecran |
fblanc | 0:2052f61477b1 | 10 | DigitalOut GFX1_CS1_PIN(p23); |
fblanc | 0:2052f61477b1 | 11 | DigitalOut GFX1_RST_PIN(p22); |
fblanc | 0:2052f61477b1 | 12 | DigitalOut GFX1_AOP_PIN(p21); |
fblanc | 0:2052f61477b1 | 13 | |
fblanc | 0:2052f61477b1 | 14 | /** |
fblanc | 0:2052f61477b1 | 15 | * @brief init hard SPI |
fblanc | 0:2052f61477b1 | 16 | * @date 20/06/2011 |
fblanc | 0:2052f61477b1 | 17 | * |
fblanc | 0:2052f61477b1 | 18 | */ |
fblanc | 0:2052f61477b1 | 19 | void gfx1_init(void) { |
fblanc | 0:2052f61477b1 | 20 | spi1.format(8, 2); //spi 8bits, mode10 |
fblanc | 0:2052f61477b1 | 21 | spi1.frequency(1000000); //1mhz |
fblanc | 0:2052f61477b1 | 22 | GFX1_CS1_PIN=0; |
fblanc | 0:2052f61477b1 | 23 | GFX1_RST_PIN=0; |
fblanc | 0:2052f61477b1 | 24 | wait_us(1); //1�s |
fblanc | 0:2052f61477b1 | 25 | GFX1_RST_PIN=1; |
fblanc | 0:2052f61477b1 | 26 | } |
fblanc | 0:2052f61477b1 | 27 | |
fblanc | 0:2052f61477b1 | 28 | |
fblanc | 0:2052f61477b1 | 29 | /** |
fblanc | 0:2052f61477b1 | 30 | * @brief Write command |
fblanc | 0:2052f61477b1 | 31 | * @param [in] command |
fblanc | 0:2052f61477b1 | 32 | * @date 20/06/2011 |
fblanc | 0:2052f61477b1 | 33 | * |
fblanc | 0:2052f61477b1 | 34 | */ |
fblanc | 0:2052f61477b1 | 35 | void gfx1_command (unsigned char data ) { |
fblanc | 0:2052f61477b1 | 36 | GFX1_AOP_PIN = 0; |
fblanc | 0:2052f61477b1 | 37 | spi1.write (data); |
fblanc | 0:2052f61477b1 | 38 | |
fblanc | 0:2052f61477b1 | 39 | } |
fblanc | 0:2052f61477b1 | 40 | |
fblanc | 0:2052f61477b1 | 41 | |
fblanc | 0:2052f61477b1 | 42 | /** |
fblanc | 0:2052f61477b1 | 43 | * @brief Write display data |
fblanc | 0:2052f61477b1 | 44 | * @param [in] data |
fblanc | 0:2052f61477b1 | 45 | * @date 20/06/2011 |
fblanc | 0:2052f61477b1 | 46 | * |
fblanc | 0:2052f61477b1 | 47 | */ |
fblanc | 0:2052f61477b1 | 48 | void gfx1_data (unsigned char data ) { |
fblanc | 0:2052f61477b1 | 49 | GFX1_AOP_PIN = 1; |
fblanc | 0:2052f61477b1 | 50 | spi1.write (data); |
fblanc | 0:2052f61477b1 | 51 | gfx1[gfx1_x][gfx1_y]=data; |
fblanc | 0:2052f61477b1 | 52 | gfx1_x++; //emulation memoire ecran |
fblanc | 0:2052f61477b1 | 53 | if(gfx1_x>=128) |
fblanc | 0:2052f61477b1 | 54 | { |
fblanc | 0:2052f61477b1 | 55 | gfx1_x=0; |
fblanc | 0:2052f61477b1 | 56 | gfx1_y++; |
fblanc | 0:2052f61477b1 | 57 | } |
fblanc | 0:2052f61477b1 | 58 | if(gfx1_y>=8) |
fblanc | 0:2052f61477b1 | 59 | gfx1_y=7; |
fblanc | 0:2052f61477b1 | 60 | } |
fblanc | 0:2052f61477b1 | 61 | |
fblanc | 0:2052f61477b1 | 62 | /** |
fblanc | 0:2052f61477b1 | 63 | * @brief Read display data |
fblanc | 0:2052f61477b1 | 64 | * @return data |
fblanc | 0:2052f61477b1 | 65 | * @date 20/06/2011 |
fblanc | 0:2052f61477b1 | 66 | * |
fblanc | 0:2052f61477b1 | 67 | */ |
fblanc | 0:2052f61477b1 | 68 | unsigned char gfx1_read(void) |
fblanc | 0:2052f61477b1 | 69 | { |
fblanc | 0:2052f61477b1 | 70 | unsigned char tmp; |
fblanc | 0:2052f61477b1 | 71 | tmp=gfx1[gfx1_x][gfx1_y]; //emulation memoire ecran |
fblanc | 0:2052f61477b1 | 72 | |
fblanc | 0:2052f61477b1 | 73 | return tmp; |
fblanc | 0:2052f61477b1 | 74 | } |