電子ペーパーで所在を表示しておくプレートのプログラムです
Dependencies: SDFileSystem mbed
main.cpp@2:3ca92c70070c, 2017-05-23 (annotated)
- Committer:
- kohacraft
- Date:
- Tue May 23 22:37:09 2017 +0000
- Revision:
- 2:3ca92c70070c
- Parent:
- 1:bd1c3875fb64
????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kohacraft | 1:bd1c3875fb64 | 1 | /* 電子ペーパー実験セットの実験プログラムです */ |
kohacraft | 1:bd1c3875fb64 | 2 | |
kohacraft | 0:eca549a6e38d | 3 | #include "mbed.h" |
kohacraft | 0:eca549a6e38d | 4 | #include "eink.h" |
kohacraft | 0:eca549a6e38d | 5 | |
kohacraft | 1:bd1c3875fb64 | 6 | //SDにアクセスするための設定 |
kohacraft | 0:eca549a6e38d | 7 | #include "SDFileSystem.h" |
kohacraft | 0:eca549a6e38d | 8 | #define SD_MOSI dp2 |
kohacraft | 0:eca549a6e38d | 9 | #define SD_MISO dp1 |
kohacraft | 0:eca549a6e38d | 10 | #define SD_SCLK dp6 |
kohacraft | 0:eca549a6e38d | 11 | #define SD_CS dp4 |
kohacraft | 0:eca549a6e38d | 12 | SDFileSystem sd(SD_MOSI, SD_MISO, SD_SCLK, SD_CS, "sd"); // mosi, miso, sclk, cs, name (HW modification candidate) |
kohacraft | 0:eca549a6e38d | 13 | |
kohacraft | 0:eca549a6e38d | 14 | |
kohacraft | 0:eca549a6e38d | 15 | DigitalIn key1(dp28); //キー入力1 |
kohacraft | 0:eca549a6e38d | 16 | DigitalIn key2(dp25); //キー入力2 |
kohacraft | 0:eca549a6e38d | 17 | DigitalIn key3(dp18); //キー入力3 |
kohacraft | 0:eca549a6e38d | 18 | DigitalIn key4(dp15); //キー入力4 |
kohacraft | 0:eca549a6e38d | 19 | |
kohacraft | 0:eca549a6e38d | 20 | int main() { |
kohacraft | 0:eca549a6e38d | 21 | |
kohacraft | 0:eca549a6e38d | 22 | initPort(); //IOの初期化 |
kohacraft | 2:3ca92c70070c | 23 | |
kohacraft | 2:3ca92c70070c | 24 | //電子ペーパーの電源を入れる |
kohacraft | 2:3ca92c70070c | 25 | powerOn(); |
kohacraft | 0:eca549a6e38d | 26 | |
kohacraft | 0:eca549a6e38d | 27 | FILE *fp; |
kohacraft | 0:eca549a6e38d | 28 | char filePath[32] = ""; |
kohacraft | 0:eca549a6e38d | 29 | int fileNum = 0; |
kohacraft | 0:eca549a6e38d | 30 | |
kohacraft | 0:eca549a6e38d | 31 | |
kohacraft | 1:bd1c3875fb64 | 32 | //キーが押されるまでループし続ける |
kohacraft | 0:eca549a6e38d | 33 | while( fileNum == 0 ) |
kohacraft | 0:eca549a6e38d | 34 | { |
kohacraft | 0:eca549a6e38d | 35 | if( key1 == 1 ) |
kohacraft | 0:eca549a6e38d | 36 | fileNum = 1; |
kohacraft | 0:eca549a6e38d | 37 | if( key2 == 1 ) |
kohacraft | 0:eca549a6e38d | 38 | fileNum = 2; |
kohacraft | 0:eca549a6e38d | 39 | if( key3 == 1 ) |
kohacraft | 0:eca549a6e38d | 40 | fileNum = 3; |
kohacraft | 0:eca549a6e38d | 41 | if( key4 == 1 ) |
kohacraft | 0:eca549a6e38d | 42 | fileNum = 4; |
kohacraft | 0:eca549a6e38d | 43 | } |
kohacraft | 1:bd1c3875fb64 | 44 | |
kohacraft | 1:bd1c3875fb64 | 45 | //ファイルのオープン |
kohacraft | 0:eca549a6e38d | 46 | sprintf( filePath , "/sd/%d.bmp" , fileNum); |
kohacraft | 0:eca549a6e38d | 47 | fp = fopen(filePath, "r"); |
kohacraft | 1:bd1c3875fb64 | 48 | |
kohacraft | 1:bd1c3875fb64 | 49 | /* -------------------------------------- */ |
kohacraft | 1:bd1c3875fb64 | 50 | /* 描画モードはお手元の電子ペーパーに合わせて */ |
kohacraft | 1:bd1c3875fb64 | 51 | /* 以下の3つのモードから、 */ |
kohacraft | 1:bd1c3875fb64 | 52 | /* 一番きれいに描画されるモードを1つお選び、 */ |
kohacraft | 1:bd1c3875fb64 | 53 | /* 他のモードをコメントアウトしてください */ |
kohacraft | 1:bd1c3875fb64 | 54 | /* -------------------------------------- */ |
kohacraft | 1:bd1c3875fb64 | 55 | |
kohacraft | 1:bd1c3875fb64 | 56 | //描画モード1 黒でクリアし、白の部分を描画する |
kohacraft | 1:bd1c3875fb64 | 57 | //電子ペーパー ED060SC4(LF)H2向け |
kohacraft | 1:bd1c3875fb64 | 58 | clrDisp(EDP_BLACK); //黒でクリアする |
kohacraft | 1:bd1c3875fb64 | 59 | clrDisp(EDP_BLACK); //何度かクリアするときれいに消えます |
kohacraft | 1:bd1c3875fb64 | 60 | dispBmp( fp , EDP_WHITE ); //ファイルポインタで指定したbmpファイルを表示する |
kohacraft | 1:bd1c3875fb64 | 61 | dispBmp( fp , EDP_WHITE ); //複数回描くと白がきれいになる |
kohacraft | 1:bd1c3875fb64 | 62 | |
kohacraft | 1:bd1c3875fb64 | 63 | //描画モード2 白でクリアし、黒の部分を描画する |
kohacraft | 1:bd1c3875fb64 | 64 | //電子ペーパー ED060SC4(LF)H2-00向け |
kohacraft | 1:bd1c3875fb64 | 65 | // ED060SC4(LF)H1向け |
kohacraft | 1:bd1c3875fb64 | 66 | clrDisp(EDP_WHITE); //白でクリアする |
kohacraft | 1:bd1c3875fb64 | 67 | clrDisp(EDP_WHITE); |
kohacraft | 1:bd1c3875fb64 | 68 | dispBmp( fp , EDP_BLACK ); |
kohacraft | 1:bd1c3875fb64 | 69 | dispBmp( fp , EDP_BLACK ); |
kohacraft | 1:bd1c3875fb64 | 70 | |
kohacraft | 1:bd1c3875fb64 | 71 | //描画モード3 白でクリアし、白黒両方を描画する |
kohacraft | 1:bd1c3875fb64 | 72 | //電子ペーパー ED060SC4(LF)向け |
kohacraft | 1:bd1c3875fb64 | 73 | clrDisp(EDP_WHITE); //白でクリアする |
kohacraft | 1:bd1c3875fb64 | 74 | clrDisp(EDP_WHITE); |
kohacraft | 1:bd1c3875fb64 | 75 | dispBmp( fp , EDP_BLACK_WHITE ); |
kohacraft | 1:bd1c3875fb64 | 76 | dispBmp( fp , EDP_BLACK_WHITE ); |
kohacraft | 1:bd1c3875fb64 | 77 | |
kohacraft | 1:bd1c3875fb64 | 78 | //ファイルのクローズ |
kohacraft | 0:eca549a6e38d | 79 | fclose( fp ); |
kohacraft | 0:eca549a6e38d | 80 | free(fp); |
kohacraft | 0:eca549a6e38d | 81 | |
kohacraft | 1:bd1c3875fb64 | 82 | //電子ペーパーの電源を切る |
kohacraft | 0:eca549a6e38d | 83 | powerOff(); |
kohacraft | 0:eca549a6e38d | 84 | |
kohacraft | 0:eca549a6e38d | 85 | //電源OFF待ち |
kohacraft | 0:eca549a6e38d | 86 | while(1) |
kohacraft | 0:eca549a6e38d | 87 | { |
kohacraft | 0:eca549a6e38d | 88 | wait(1); |
kohacraft | 0:eca549a6e38d | 89 | } |
kohacraft | 0:eca549a6e38d | 90 | } |