電子ペーパーで所在を表示しておくプレートのプログラムです

Dependencies:   SDFileSystem mbed

Committer:
kohacraft
Date:
Tue May 23 22:37:09 2017 +0000
Revision:
2:3ca92c70070c
Parent:
1:bd1c3875fb64
????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kohacraft 1:bd1c3875fb64 1 /* 電子ペーパーを制御してbmpを表示します */
kohacraft 1:bd1c3875fb64 2
kohacraft 0:eca549a6e38d 3 #include "mbed.h"
kohacraft 0:eca549a6e38d 4 #include "extdio.h"
kohacraft 0:eca549a6e38d 5 #include "eink.h"
kohacraft 0:eca549a6e38d 6
kohacraft 1:bd1c3875fb64 7 int clPulseCount = 0; //CLパルスのカウント
kohacraft 0:eca549a6e38d 8
kohacraft 0:eca549a6e38d 9 //ポートの初期化
kohacraft 0:eca549a6e38d 10 void initPort()
kohacraft 0:eca549a6e38d 11 {
kohacraft 0:eca549a6e38d 12 setCL( 0 );
kohacraft 1:bd1c3875fb64 13 setContBus( LE , 0);
kohacraft 1:bd1c3875fb64 14 setContBus( OE , 0);
kohacraft 1:bd1c3875fb64 15 setContBus( NC10 , 1);
kohacraft 1:bd1c3875fb64 16 setContBus( SPH , 1);
kohacraft 0:eca549a6e38d 17
kohacraft 1:bd1c3875fb64 18 setContBus( GMODE , 0);
kohacraft 1:bd1c3875fb64 19 setContBus( SPV , 1);
kohacraft 1:bd1c3875fb64 20 setContBus( CKV , 0);
kohacraft 1:bd1c3875fb64 21 setContBus( EN , 0);
kohacraft 1:bd1c3875fb64 22
kohacraft 1:bd1c3875fb64 23 setDataBus( 0b00000001 );
kohacraft 1:bd1c3875fb64 24 setDataBus( 0b00000000 );
kohacraft 0:eca549a6e38d 25
kohacraft 1:bd1c3875fb64 26 return;
kohacraft 0:eca549a6e38d 27 }
kohacraft 0:eca549a6e38d 28
kohacraft 1:bd1c3875fb64 29 //ページの開始シーケンス
kohacraft 0:eca549a6e38d 30 void pageStart()
kohacraft 0:eca549a6e38d 31 {
kohacraft 0:eca549a6e38d 32
kohacraft 1:bd1c3875fb64 33 setContBus( GMODE , 1 );
kohacraft 1:bd1c3875fb64 34 setContBus( CKV , 1 );
kohacraft 0:eca549a6e38d 35 wait_us(11);
kohacraft 1:bd1c3875fb64 36 setContBus( SPV , 0 );
kohacraft 0:eca549a6e38d 37 wait_us(11);
kohacraft 1:bd1c3875fb64 38 setContBus( CKV , 0 );
kohacraft 0:eca549a6e38d 39 wait_us(10);
kohacraft 1:bd1c3875fb64 40 setContBus( CKV , 1 );
kohacraft 0:eca549a6e38d 41 wait_us(10);
kohacraft 1:bd1c3875fb64 42 setContBus( SPV , 1 );
kohacraft 0:eca549a6e38d 43 wait_us(12);
kohacraft 0:eca549a6e38d 44
kohacraft 1:bd1c3875fb64 45 setContBus( CKV , 0 );
kohacraft 0:eca549a6e38d 46 wait_us(10);
kohacraft 1:bd1c3875fb64 47 setContBus( CKV , 1 );
kohacraft 0:eca549a6e38d 48 wait_us(22);
kohacraft 1:bd1c3875fb64 49 setContBus( CKV , 0 );
kohacraft 0:eca549a6e38d 50 wait_us(10);
kohacraft 1:bd1c3875fb64 51 setContBus( CKV , 1 );
kohacraft 0:eca549a6e38d 52 wait_us(22);
kohacraft 1:bd1c3875fb64 53 setContBus( CKV , 0 );
kohacraft 0:eca549a6e38d 54 wait_us(10);
kohacraft 1:bd1c3875fb64 55 setContBus( CKV , 1 );
kohacraft 0:eca549a6e38d 56 wait_us(1);
kohacraft 1:bd1c3875fb64 57
kohacraft 1:bd1c3875fb64 58 return;
kohacraft 0:eca549a6e38d 59 }
kohacraft 0:eca549a6e38d 60
kohacraft 1:bd1c3875fb64 61 //行ごとの開始シーケンス
kohacraft 0:eca549a6e38d 62 void lineStart()
kohacraft 0:eca549a6e38d 63 {
kohacraft 0:eca549a6e38d 64
kohacraft 1:bd1c3875fb64 65 setContBus( LE , 0 );
kohacraft 1:bd1c3875fb64 66 setContBus( OE , 1 );
kohacraft 1:bd1c3875fb64 67 setContBus( SPH , 0 );
kohacraft 0:eca549a6e38d 68
kohacraft 1:bd1c3875fb64 69 clPulseCount = 0;
kohacraft 1:bd1c3875fb64 70
kohacraft 1:bd1c3875fb64 71 return;
kohacraft 1:bd1c3875fb64 72 }
kohacraft 0:eca549a6e38d 73
kohacraft 1:bd1c3875fb64 74 //1行の中央でのシーケンス
kohacraft 1:bd1c3875fb64 75 void changeSPH()
kohacraft 1:bd1c3875fb64 76 {
kohacraft 1:bd1c3875fb64 77 setContBus( SPH , 1 );
kohacraft 1:bd1c3875fb64 78 setContBus( NC10 , 0 );
kohacraft 0:eca549a6e38d 79
kohacraft 1:bd1c3875fb64 80 return;
kohacraft 1:bd1c3875fb64 81 }
kohacraft 0:eca549a6e38d 82
kohacraft 1:bd1c3875fb64 83 //4ピクセル分の描画データの転送シーケンス
kohacraft 1:bd1c3875fb64 84 void setDrawData( char data )
kohacraft 1:bd1c3875fb64 85 {
kohacraft 1:bd1c3875fb64 86 setDataBus( data );
kohacraft 0:eca549a6e38d 87 setCL( 1 );
kohacraft 0:eca549a6e38d 88 setCL( 0 );
kohacraft 1:bd1c3875fb64 89
kohacraft 1:bd1c3875fb64 90 //200パルス出力したらSPHを交代する
kohacraft 1:bd1c3875fb64 91 clPulseCount++;
kohacraft 1:bd1c3875fb64 92 if( clPulseCount == EDP_WIDTH/8 )
kohacraft 1:bd1c3875fb64 93 {
kohacraft 1:bd1c3875fb64 94 changeSPH();
kohacraft 1:bd1c3875fb64 95 }
kohacraft 1:bd1c3875fb64 96
kohacraft 1:bd1c3875fb64 97 return;
kohacraft 0:eca549a6e38d 98 }
kohacraft 0:eca549a6e38d 99
kohacraft 1:bd1c3875fb64 100 //行の終わりのシーケンス
kohacraft 0:eca549a6e38d 101 void lineEnd()
kohacraft 0:eca549a6e38d 102 {
kohacraft 1:bd1c3875fb64 103 setContBus( NC10 , 1 );
kohacraft 1:bd1c3875fb64 104 setContBus( CKV , 0 );
kohacraft 0:eca549a6e38d 105 wait_us(10);
kohacraft 0:eca549a6e38d 106
kohacraft 1:bd1c3875fb64 107 setContBus( OE , 0 );
kohacraft 1:bd1c3875fb64 108 setContBus( LE , 1 );
kohacraft 1:bd1c3875fb64 109 setContBus( CKV , 1 );
kohacraft 0:eca549a6e38d 110 wait_us(1);
kohacraft 0:eca549a6e38d 111 }
kohacraft 0:eca549a6e38d 112
kohacraft 1:bd1c3875fb64 113 //ページの終わりのシーケンス
kohacraft 0:eca549a6e38d 114 void pageEnd()
kohacraft 0:eca549a6e38d 115 {
kohacraft 1:bd1c3875fb64 116 setContBus( LE , 0 );
kohacraft 1:bd1c3875fb64 117 setContBus( OE , 1 );
kohacraft 0:eca549a6e38d 118
kohacraft 1:bd1c3875fb64 119 for( int i=0 ; i<EDP_WIDTH/4 ; i++ )
kohacraft 0:eca549a6e38d 120 {
kohacraft 0:eca549a6e38d 121 setCL( 1 );
kohacraft 0:eca549a6e38d 122 setCL( 0 );
kohacraft 0:eca549a6e38d 123 }
kohacraft 1:bd1c3875fb64 124 setContBus( CKV , 0 );
kohacraft 0:eca549a6e38d 125 wait_us(10);
kohacraft 1:bd1c3875fb64 126 setContBus( OE , 0 );
kohacraft 0:eca549a6e38d 127 wait_us(330);
kohacraft 1:bd1c3875fb64 128 setContBus( GMODE , 0 );
kohacraft 0:eca549a6e38d 129 wait_us(130);
kohacraft 0:eca549a6e38d 130
kohacraft 0:eca549a6e38d 131 }
kohacraft 0:eca549a6e38d 132
kohacraft 0:eca549a6e38d 133
kohacraft 0:eca549a6e38d 134 //電子ペーパーの回路の電源を切る
kohacraft 0:eca549a6e38d 135 void powerOff()
kohacraft 0:eca549a6e38d 136 {
kohacraft 1:bd1c3875fb64 137 setDataBus( 0b00000000 );
kohacraft 0:eca549a6e38d 138
kohacraft 0:eca549a6e38d 139 setCL( 0 );
kohacraft 1:bd1c3875fb64 140 setContBus( LE , 0);
kohacraft 1:bd1c3875fb64 141 setContBus( OE , 0);
kohacraft 1:bd1c3875fb64 142 setContBus( NC10 , 0);
kohacraft 1:bd1c3875fb64 143 setContBus( SPH , 0);
kohacraft 0:eca549a6e38d 144
kohacraft 1:bd1c3875fb64 145 setContBus( GMODE , 0);
kohacraft 1:bd1c3875fb64 146 setContBus( SPV , 0);
kohacraft 1:bd1c3875fb64 147 setContBus( CKV , 0);
kohacraft 0:eca549a6e38d 148
kohacraft 1:bd1c3875fb64 149 setContBus( EN , 1);
kohacraft 1:bd1c3875fb64 150
kohacraft 1:bd1c3875fb64 151 return;
kohacraft 0:eca549a6e38d 152
kohacraft 0:eca549a6e38d 153 }
kohacraft 0:eca549a6e38d 154
kohacraft 0:eca549a6e38d 155 //電子ペーパーの回路の電源を入れる
kohacraft 0:eca549a6e38d 156 void powerOn()
kohacraft 0:eca549a6e38d 157 {
kohacraft 1:bd1c3875fb64 158 setContBus( EN , 0);
kohacraft 1:bd1c3875fb64 159 wait_us(100);
kohacraft 1:bd1c3875fb64 160
kohacraft 1:bd1c3875fb64 161 return;
kohacraft 0:eca549a6e38d 162 }
kohacraft 0:eca549a6e38d 163
kohacraft 1:bd1c3875fb64 164 //画面をクリアする
kohacraft 1:bd1c3875fb64 165 //drawMode EDP_WHITE:白でクリア EDP_BLACK:黒でクリア
kohacraft 1:bd1c3875fb64 166 void clrDisp( char drawMode )
kohacraft 0:eca549a6e38d 167 {
kohacraft 1:bd1c3875fb64 168 char data;
kohacraft 1:bd1c3875fb64 169 if( drawMode == EDP_WHITE)
kohacraft 1:bd1c3875fb64 170 data = 0b01010101; //全てのピクセルを白にする
kohacraft 1:bd1c3875fb64 171 else
kohacraft 1:bd1c3875fb64 172 data = 0b10101010; //全てのピクセルを黒にする
kohacraft 1:bd1c3875fb64 173
kohacraft 0:eca549a6e38d 174 pageStart();
kohacraft 1:bd1c3875fb64 175 for( int j=0 ; j<EDP_HEIGHT ; j++)
kohacraft 0:eca549a6e38d 176 {
kohacraft 0:eca549a6e38d 177 lineStart();
kohacraft 1:bd1c3875fb64 178 for( int i=0 ; i<EDP_WIDTH ; i+=4 )
kohacraft 0:eca549a6e38d 179 {
kohacraft 1:bd1c3875fb64 180 setDrawData( data );
kohacraft 0:eca549a6e38d 181 }
kohacraft 0:eca549a6e38d 182 lineEnd();
kohacraft 0:eca549a6e38d 183
kohacraft 0:eca549a6e38d 184 }
kohacraft 0:eca549a6e38d 185 pageEnd();
kohacraft 1:bd1c3875fb64 186
kohacraft 1:bd1c3875fb64 187 return;
kohacraft 0:eca549a6e38d 188 }
kohacraft 0:eca549a6e38d 189
kohacraft 1:bd1c3875fb64 190 //bmp画像1バイト分(8ピクセル)のデータを描画
kohacraft 1:bd1c3875fb64 191 // data: 描画データ (MSB)b0A b0B b1A b1B b2A b2B b3A bB3(LSB)
kohacraft 1:bd1c3875fb64 192 // b0 b1 b2 b4:各ドットのデータ
kohacraft 1:bd1c3875fb64 193 // AB: 10:黒 01:白 00:透明
kohacraft 1:bd1c3875fb64 194 // drawMode: EDP_BLACK黒の部分を黒で,白の部分を透明で描画(背景を残す)
kohacraft 1:bd1c3875fb64 195 // EDP_WHITE白の部分を白で,黒の部分を透明で描画(背景を残す)
kohacraft 1:bd1c3875fb64 196 // EDP_BLACK_WHITE白の部分を白で,黒の部分を黒で描画
kohacraft 1:bd1c3875fb64 197 void drowPixels( char data , char drawMode )
kohacraft 0:eca549a6e38d 198 {
kohacraft 1:bd1c3875fb64 199 char _data = 0;
kohacraft 1:bd1c3875fb64 200 switch( drawMode )
kohacraft 0:eca549a6e38d 201 {
kohacraft 1:bd1c3875fb64 202 case EDP_BLACK :
kohacraft 1:bd1c3875fb64 203 _data = 0;
kohacraft 1:bd1c3875fb64 204 _data |= ((data&0x10)==0)<<7;
kohacraft 1:bd1c3875fb64 205 _data |= ((data&0x20)==0)<<5;
kohacraft 1:bd1c3875fb64 206 _data |= ((data&0x40)==0)<<3;
kohacraft 1:bd1c3875fb64 207 _data |= ((data&0x80)==0)<<1;
kohacraft 1:bd1c3875fb64 208 setDrawData( _data );
kohacraft 1:bd1c3875fb64 209 _data = 0;
kohacraft 1:bd1c3875fb64 210 _data |= ((data&0x01)==0)<<7;
kohacraft 1:bd1c3875fb64 211 _data |= ((data&0x02)==0)<<5;
kohacraft 1:bd1c3875fb64 212 _data |= ((data&0x04)==0)<<3;
kohacraft 1:bd1c3875fb64 213 _data |= ((data&0x08)==0)<<1;
kohacraft 1:bd1c3875fb64 214 setDrawData( _data );
kohacraft 1:bd1c3875fb64 215 break;
kohacraft 1:bd1c3875fb64 216 case EDP_WHITE :
kohacraft 1:bd1c3875fb64 217 _data = 0;
kohacraft 1:bd1c3875fb64 218 _data |= ((data&0x10)!=0)<<6;
kohacraft 1:bd1c3875fb64 219 _data |= ((data&0x20)!=0)<<4;
kohacraft 1:bd1c3875fb64 220 _data |= ((data&0x40)!=0)<<2;
kohacraft 1:bd1c3875fb64 221 _data |= ((data&0x80)!=0);
kohacraft 1:bd1c3875fb64 222 setDrawData( _data );
kohacraft 1:bd1c3875fb64 223 _data = 0;
kohacraft 1:bd1c3875fb64 224 _data |= ((data&0x01)!=0)<<6;
kohacraft 1:bd1c3875fb64 225 _data |= ((data&0x02)!=0)<<4;
kohacraft 1:bd1c3875fb64 226 _data |= ((data&0x04)!=0)<<2;
kohacraft 1:bd1c3875fb64 227 _data |= ((data&0x08)!=0);
kohacraft 1:bd1c3875fb64 228 setDrawData( _data );
kohacraft 1:bd1c3875fb64 229 break;
kohacraft 1:bd1c3875fb64 230 default :
kohacraft 1:bd1c3875fb64 231 _data = 0;
kohacraft 1:bd1c3875fb64 232 _data |= ((data&0x10)==0)<<7;
kohacraft 1:bd1c3875fb64 233 _data |= ((data&0x10)!=0)<<6;
kohacraft 1:bd1c3875fb64 234 _data |= ((data&0x20)==0)<<5;
kohacraft 1:bd1c3875fb64 235 _data |= ((data&0x20)!=0)<<4;
kohacraft 1:bd1c3875fb64 236 _data |= ((data&0x40)==0)<<3;
kohacraft 1:bd1c3875fb64 237 _data |= ((data&0x40)!=0)<<2;
kohacraft 1:bd1c3875fb64 238 _data |= ((data&0x80)==0)<<1;
kohacraft 1:bd1c3875fb64 239 _data |= ((data&0x80)!=0);
kohacraft 1:bd1c3875fb64 240 setDrawData( _data );
kohacraft 1:bd1c3875fb64 241 _data = 0;
kohacraft 1:bd1c3875fb64 242 _data |= ((data&0x01)==0)<<7;
kohacraft 1:bd1c3875fb64 243 _data |= ((data&0x01)!=0)<<6;
kohacraft 1:bd1c3875fb64 244 _data |= ((data&0x02)==0)<<5;
kohacraft 1:bd1c3875fb64 245 _data |= ((data&0x02)!=0)<<4;
kohacraft 1:bd1c3875fb64 246 _data |= ((data&0x04)==0)<<3;
kohacraft 1:bd1c3875fb64 247 _data |= ((data&0x04)!=0)<<2;
kohacraft 1:bd1c3875fb64 248 _data |= ((data&0x08)==0)<<1;
kohacraft 1:bd1c3875fb64 249 _data |= ((data&0x08)!=0);
kohacraft 1:bd1c3875fb64 250 setDrawData( _data );
kohacraft 1:bd1c3875fb64 251 break;
kohacraft 0:eca549a6e38d 252 }
kohacraft 1:bd1c3875fb64 253
kohacraft 1:bd1c3875fb64 254 return;
kohacraft 0:eca549a6e38d 255 }
kohacraft 0:eca549a6e38d 256
kohacraft 1:bd1c3875fb64 257 //fpのbmpデータを描画する
kohacraft 1:bd1c3875fb64 258 // drawMode: EDP_BLACK 黒の部分を黒で描画し,白の部分を透明(背景を残す)で描画
kohacraft 1:bd1c3875fb64 259 // EDP_WHITE 白の部分を白で描画し,黒の部分を透明(背景を残す)で描画
kohacraft 1:bd1c3875fb64 260 // EDP_BLACK_WHITE 白の部分を白で,黒の部分を黒で描画する
kohacraft 1:bd1c3875fb64 261 void dispBmp(FILE *fp , char drawMode )
kohacraft 0:eca549a6e38d 262 {
kohacraft 1:bd1c3875fb64 263 bool paletteWhite = 0; //白のパレット番号
kohacraft 1:bd1c3875fb64 264 char bmpdata[EDP_WIDTH/8]; //1ライン分のデータバッファ
kohacraft 1:bd1c3875fb64 265
kohacraft 1:bd1c3875fb64 266 //ファイルポインタが正しいか確認
kohacraft 1:bd1c3875fb64 267 if( fp == NULL )
kohacraft 1:bd1c3875fb64 268 {
kohacraft 1:bd1c3875fb64 269 fclose(fp);
kohacraft 1:bd1c3875fb64 270 free(fp);
kohacraft 1:bd1c3875fb64 271
kohacraft 1:bd1c3875fb64 272 //ファイルポインタが正しくない
kohacraft 1:bd1c3875fb64 273 clrDisp(EDP_WHITE); //白でクリア
kohacraft 1:bd1c3875fb64 274 clrDisp(EDP_BLACK); //黒でクリア
kohacraft 1:bd1c3875fb64 275 clrDisp(EDP_WHITE); //白でクリア
kohacraft 1:bd1c3875fb64 276 clrDisp(EDP_BLACK); //黒でクリア
kohacraft 0:eca549a6e38d 277
kohacraft 1:bd1c3875fb64 278 return;
kohacraft 1:bd1c3875fb64 279 }
kohacraft 1:bd1c3875fb64 280
kohacraft 1:bd1c3875fb64 281 //画像のサイズ取得
kohacraft 1:bd1c3875fb64 282 unsigned int bmpWidth , bmpHeight;
kohacraft 1:bd1c3875fb64 283 fseek(fp, 18 , SEEK_SET);//to xsize
kohacraft 1:bd1c3875fb64 284 fread( &bmpWidth , sizeof(unsigned int) , 1 , fp);
kohacraft 1:bd1c3875fb64 285 fread( &bmpHeight , sizeof(unsigned int) , 1 , fp);
kohacraft 1:bd1c3875fb64 286 if( bmpWidth != EDP_WIDTH || bmpHeight != EDP_HEIGHT )
kohacraft 1:bd1c3875fb64 287 {
kohacraft 1:bd1c3875fb64 288 fclose(fp);
kohacraft 1:bd1c3875fb64 289 free(fp);
kohacraft 1:bd1c3875fb64 290
kohacraft 1:bd1c3875fb64 291 //画像サイズが正しくない
kohacraft 1:bd1c3875fb64 292 clrDisp(EDP_WHITE); //白でクリア
kohacraft 1:bd1c3875fb64 293 clrDisp(EDP_BLACK); //黒でクリア
kohacraft 1:bd1c3875fb64 294 clrDisp(EDP_WHITE); //白でクリア
kohacraft 0:eca549a6e38d 295
kohacraft 1:bd1c3875fb64 296 return;
kohacraft 1:bd1c3875fb64 297 }
kohacraft 1:bd1c3875fb64 298
kohacraft 1:bd1c3875fb64 299 //パレットデータを取得
kohacraft 1:bd1c3875fb64 300 unsigned char paletteTemp[8];
kohacraft 1:bd1c3875fb64 301 fseek(fp, 54 , SEEK_SET);//bitmap headder throw
kohacraft 1:bd1c3875fb64 302 fread( paletteTemp , sizeof(char) , 8 , fp);
kohacraft 1:bd1c3875fb64 303 int palette0 = (int)paletteTemp[0]+(int)paletteTemp[1]+(int)paletteTemp[2]; //パレット0のRGBの合計
kohacraft 1:bd1c3875fb64 304 int palette1 = (int)paletteTemp[4]+(int)paletteTemp[5]+(int)paletteTemp[6]; //パレット1のRGBの合計
kohacraft 1:bd1c3875fb64 305 if( palette0 > palette1 ) //輝度が明るいパレット番号を白にする
kohacraft 1:bd1c3875fb64 306 paletteWhite = 0; //パレット0が白
kohacraft 1:bd1c3875fb64 307 else
kohacraft 1:bd1c3875fb64 308 paletteWhite = 1; //パレット1が白
kohacraft 1:bd1c3875fb64 309
kohacraft 1:bd1c3875fb64 310 //bmp画像データの先頭まで移動
kohacraft 1:bd1c3875fb64 311 unsigned int dataOffset;
kohacraft 1:bd1c3875fb64 312 fseek(fp, 10 , SEEK_SET);
kohacraft 1:bd1c3875fb64 313 fread( &dataOffset , sizeof(unsigned int) , 1 , fp);
kohacraft 1:bd1c3875fb64 314 fseek(fp, dataOffset , SEEK_SET);
kohacraft 1:bd1c3875fb64 315
kohacraft 1:bd1c3875fb64 316 //電子ペーパーにbmpデータを転送
kohacraft 1:bd1c3875fb64 317 pageStart();
kohacraft 1:bd1c3875fb64 318 for( int j=0 ; j<EDP_HEIGHT ; j++)
kohacraft 1:bd1c3875fb64 319 {
kohacraft 1:bd1c3875fb64 320 //1ライン分のbmpデータを読み込み0が黒、1が白になるように変換
kohacraft 1:bd1c3875fb64 321 fread( &bmpdata , sizeof(char) , EDP_WIDTH/8 , fp);
kohacraft 1:bd1c3875fb64 322 if( paletteWhite == 0 )
kohacraft 0:eca549a6e38d 323 {
kohacraft 1:bd1c3875fb64 324 for( int i=0 ; i<EDP_WIDTH/8 ; i++ )
kohacraft 1:bd1c3875fb64 325 bmpdata[i] = ~bmpdata[i];
kohacraft 0:eca549a6e38d 326 }
kohacraft 1:bd1c3875fb64 327
kohacraft 1:bd1c3875fb64 328 lineStart();
kohacraft 1:bd1c3875fb64 329 for( int i=0 ; i<EDP_WIDTH ; i+=8 )
kohacraft 0:eca549a6e38d 330 {
kohacraft 1:bd1c3875fb64 331 drowPixels(bmpdata[i/8],drawMode);
kohacraft 0:eca549a6e38d 332 }
kohacraft 1:bd1c3875fb64 333 lineEnd();
kohacraft 1:bd1c3875fb64 334
kohacraft 1:bd1c3875fb64 335 }
kohacraft 1:bd1c3875fb64 336 pageEnd();
kohacraft 1:bd1c3875fb64 337
kohacraft 1:bd1c3875fb64 338 return;
kohacraft 0:eca549a6e38d 339 }
kohacraft 0:eca549a6e38d 340