SHARP_MEMORYLCD_UTIL  001
SHARPメモリ液晶直接駆動用ライブラリ
公開メンバ関数 | 全メンバ一覧
MLCD_MONO クラス

公開メンバ関数

 MLCD_MONO (unsigned char vSCK, unsigned char vSI, unsigned char vCS, unsigned char vCOM, unsigned char vDISP)
 
 MLCD_MONO (unsigned char vSCK, unsigned char vSI, unsigned char vCS)
 
 ~MLCD_MONO ()
 
void init (bool initPIN=true)
 
void clear ()
 
void cls ()
 
void clearArray ()
 
void cla ()
 
void dispON ()
 
void dispOFF ()
 
void invertCOM ()
 
void updateArray1 (unsigned char ln, const char *data)
 
void updateArrayN (unsigned char sn, unsigned char en, const char *data)
 
void updateArrayA (const char *data)
 
void writeArray1 (unsigned char ln)
 
void writeArrayN (unsigned char sn, unsigned char en)
 
void writeArrayA ()
 
void write1 (unsigned char ln, const char *data)
 
void writeN (unsigned char sn, unsigned char en, const char *data)
 
void writeA (const char *data)
 
void pixel (unsigned short x, unsigned short y, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 
void drawLine (unsigned short fromX, unsigned short fromY, unsigned short toX, unsigned short toY, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 
void drawRect (unsigned short left, unsigned short top, unsigned short width, unsigned short height, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 
void drawRect2 (unsigned short x1, unsigned short y1, unsigned short x2, unsigned short y2, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 
void fillRect (unsigned short left, unsigned short top, unsigned short width, unsigned short height, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 
void fill2Point (unsigned short x1, unsigned short y1, unsigned short x2, unsigned short y2, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 
void drawCircle (unsigned short centerX, unsigned short centerY, unsigned short r, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 
void fillCircle (unsigned short centerX, unsigned short centerY, unsigned short r, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 
char drawMonoData (const char *data, unsigned short left, unsigned short top, unsigned short imgWidth, unsigned short imgHeight, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 
char drawBMPfromSD (char *path, bool BtoW, unsigned short left, unsigned short top, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 
char drawBMPfromSD (String path, bool BtoW, unsigned short left, unsigned short top, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 
char drawChar (const char *s, unsigned short x, unsigned short y, unsigned char zoom, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 
char writeString (const char *str, unsigned short x, unsigned short y, unsigned char zoom, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 
char writeString (const String str, unsigned short x, unsigned short y, unsigned char zoom, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 
char writeString (const char *str, unsigned short x, unsigned short y, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 
char writeString (const String str, unsigned short x, unsigned short y, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 
char ws (const char *str, unsigned short x, unsigned short y, unsigned char zoom, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 
char ws (const String str, unsigned short x, unsigned short y, unsigned char zoom, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 
char ws (const char *str, unsigned short x, unsigned short y, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 
char ws (const String str, unsigned short x, unsigned short y, char mode=SH_MLCD_MONO_BLACK, bool immidiate=true)
 

詳解

シャープ製メモリ液晶用直接駆動ライブラリ

秋月電子通商などで販売されている、シャープ製メモリ液晶を直接駆動させるためのライブラリです。
「みんなのラボ」から販売されている、SRAMを介すもの(メモリ液晶ブレークアウト基板)では動作しません。
2015年時点で販売されている、同じ駆動方式のLCD一覧:(このライブラリで駆動可能)
LS010B7DH01, LS013B7DH05, LS013B7DH03, LS027B7DH01A, LS044Q7DH01
(LS012B7DD01, LS013B7DH06は駆動方式が異なるため使用できません)

Example:

//GR-SAKURA Sketch Template V2.07
#include <Arduino.h>
#include <MsTimer2.h>
#include "SH_MEMORYLCD.h"
//COM反転処理間隔(ミリ秒)
#define TIMER_VAL_MS 200
//モード待ち時間用(ミリ秒)
#define TIMER_VAL_IMGMODE 3500
//MLCD_MONO mlcd(7, 6, 5, 4, 3);
MLCD_MONO mlcd(7, 6, 5);
//COM反転処理
void invCOM(){
mlcd.invertCOM();
}
char imgMode; //ループでのモード判定用
unsigned long ti; //時間計測用
String modes[] = {"グリッド","図形","文字列","サイン波","画像"};
//セットアップ:最初の1回だけ実行される
void setup(){
pinMode(PIN_LED1,OUTPUT); //LED1
pinMode(PIN_LED2,OUTPUT); //LED2
pinMode(PIN_LED3,OUTPUT); //LED3
Serial.begin(9600);
pinMode(PIN_SW,INPUT); //押しボタン(青)
digitalWrite(PIN_LED1, HIGH); //LED1点灯
digitalWrite(PIN_LED2, HIGH); //LED2点灯
digitalWrite(PIN_LED3, HIGH); //LED3点灯
while(digitalRead(PIN_SW) == 1); //押しボタン(青)が押されるまで待ち続ける
digitalWrite(PIN_LED2, LOW); //LED2消灯
mlcd.init(); //液晶初期化
//MsTimer2にinvCOMを登録してタイマー開始
MsTimer2::set(TIMER_VAL_MS, invCOM);
MsTimer2::start();
imgMode = 0;
digitalWrite(PIN_LED3, LOW); //LED3消灯
delay(1000);
}
void loop(){
//0から4の中で循環させる
imgMode = (imgMode + 1) % 5;
//モードに応じて処理を変える
switch(imgMode){
//モード0:グリッド
case 0:{
//時間計測
ti = millis();
//垂直線を等間隔に(描画はあとで)
for(int x=10; x<SH_MLCD_MONO_PXWIDTH; x+=20){
mlcd.drawLine(x, 0, x, SH_MLCD_MONO_PXHEIGHT-1, SH_MLCD_MONO_BLACK, false);
}
//水平線を等間隔に(描画はあとで)
for(int y=10; y<SH_MLCD_MONO_PXHEIGHT; y+=20){
mlcd.drawLine(0, y, SH_MLCD_MONO_PXWIDTH-1, y, SH_MLCD_MONO_BLACK, false);
}
//一気に描画(内部配列を液晶に転送)
mlcd.writeArrayA();
//時間計測
ti = millis() - ti;
break;
}
//モード1:図形
case 1:{
//時間計測
ti = millis();
//四角形(即時描画)
mlcd.drawRect(15, 15, 20, 20, SH_MLCD_MONO_BLACK, true);
mlcd.drawRect2(45, 15, 65, 35, SH_MLCD_MONO_BLACK, true);
mlcd.fillRect(75, 15, 20, 20, SH_MLCD_MONO_BLACK, true);
mlcd.fill2Point(105, 15, 125, 35, SH_MLCD_MONO_BLACK, true);
//円(即時描画)
mlcd.drawCircle(25, 55, 10, SH_MLCD_MONO_BLACK, true);
mlcd.fillCircle(55, 55, 10, SH_MLCD_MONO_BLACK, true);
//四角形(反転)
mlcd.fill2Point(19, 19, 95, 95, SH_MLCD_MONO_INVERT, true);
//時間計測
ti = millis() - ti;
break;
}
//モード2:文字列
case 2:{
//時間計測
ti = millis();
//文字列表示(即時描画)
String str1 = "writeString(:String) zoom x1";
mlcd.ws(str1, 20, 20);
//文字列表示(即時描画)
char str2[] = "writeString(:char*) zoom x1";
mlcd.writeString(str2, 20, 40);
//日本語表示(改行あり)
str1 = "日本語メッセージも余裕。\nただしメモリをたくさん食います。";
mlcd.writeString(str1, 20, 60);
//大きい文字
char str3[] = "Large Text! 大きい文字も余裕。";
mlcd.ws(str3, 10, 160, 2, SH_MLCD_MONO_BLACK, true);
//時間計測
ti = millis() - ti;
break;
}
//モード3:サイン波
case 3:{
//時間計測
ti = millis();
//3つの120度ずれたサイン波を描画(即時描画)
float deg120 = 2.09439510239, sH = 65;
float y1=0, y2=0, y3=0;
int gW = 200;
for(float x=100; x<gW; x+=0.15){
float x0 = x/18.5;
y1 = sH * sin(x0 - deg120) + sH;
y2 = sH * sin(x0) + sH;
y3 = sH * sin(x0 + deg120) + sH;
mlcd.pixel(x, y1+55);
mlcd.pixel(x, y2+55);
mlcd.pixel(x, y3+55);
}
//時間計測
ti = millis() - ti;
break;
}
//モード4:画像
case 4:{
//時間計測
ti = millis();
//SDカード内のビットマップ画像データ(カラーをディザリング)を表示する
String fileName = "c.bmp";
mlcd.drawBMPfromSD(fileName, true, 0, 0);
//時間計測
ti = millis() - ti;
break;
}
}
delay(TIMER_VAL_IMGMODE);
//文字表示部を消す
mlcd.fill2Point(80, 80, 319, 180, SH_MLCD_MONO_ERASE, true);
mlcd.drawRect2(80, 80, 319, 180, SH_MLCD_MONO_BLACK, true);
//モード名と処理時間を表示
mlcd.ws(modes[imgMode], 90, 85);
char msg[100];
sprintf(msg, "処理時間 = %ld millis", ti);
mlcd.ws(msg, 90, 115);
delay(TIMER_VAL_IMGMODE);
//表示を消して、RAMもクリア
mlcd.cls();
mlcd.cla();
if(digitalRead(PIN_SW) == 0){
digitalWrite(PIN_LED1, LOW); //LED1消灯
exit(1);
}
}

構築子と解体子

MLCD_MONO::MLCD_MONO ( unsigned char  vSCK,
unsigned char  vSI,
unsigned char  vCS,
unsigned char  vCOM,
unsigned char  vDISP 
)

コンストラクタ:MLCD_MONOクラスのインスタンスを作成します

引数
vSCKメモリ液晶のSCK端子に出力するピン番号を指定
vSIメモリ液晶のSI端子に出力するピン番号を指定
vCSメモリ液晶のSCS端子に出力するピン番号を指定
vCOMメモリ液晶のCOM端子に出力するピン番号を指定
vDISPメモリ液晶のDISP端子に出力するピン番号を指定
MLCD_MONO::MLCD_MONO ( unsigned char  vSCK,
unsigned char  vSI,
unsigned char  vCS 
)

コンストラクタ:MLCD_MONOクラスのインスタンスを作成します(オーバーロード)

引数
vSCKメモリ液晶のSCK端子に出力するピン番号を指定
vSIメモリ液晶のSI端子に出力するピン番号を指定
vCSメモリ液晶のSCS端子に出力するピン番号を指定
MLCD_MONO::~MLCD_MONO ( )

デストラクタ(ほとんどの場合、ユーザーが明示的に呼ぶ必要はありません)

関数詳解

void MLCD_MONO::init ( bool  initPIN = true)

初期化:使用する配列や端子の状態を初期化します

警告
インスタンス1つにつき1回しか呼ばないこと
引数
initPINコンストラクタで指定したピンの初期化を行うかどうか(デフォルト=true)
void MLCD_MONO::clear ( )

液晶の表示をクリアする:内部画素記憶配列はクリアされない

void MLCD_MONO::cls ( )

液晶の表示をクリアする:内部画素記憶配列はクリアされない(clearと同一)

void MLCD_MONO::clearArray ( )

内部画素記憶配列をクリアする:表示はクリアされない

void MLCD_MONO::cla ( )

内部画素記憶配列をクリアする:表示はクリアされない(clearArrayと同一)

void MLCD_MONO::dispON ( )

DISP端子をONにする:外部DISP信号を使用しない場合は何も起きない

void MLCD_MONO::dispOFF ( )

DISP端子をOFFにする:外部DISP信号を使用しない場合は何も起きない

void MLCD_MONO::invertCOM ( )

液晶寿命を延ばすためにCOM信号を反転させる

警告
クラスの外でタイマー処理(MsTimer2など)を使って定期的にこの関数を呼ぶこと
void MLCD_MONO::updateArray1 ( unsigned char  ln,
const char *  data 
)

内部画素記憶配列の特定の行にデータを上書きする

引数
ln上書きする行(0 から 高さ-1 まで)
data上書きするデータ
void MLCD_MONO::updateArrayN ( unsigned char  sn,
unsigned char  en,
const char *  data 
)

内部画素記憶配列の特定の範囲にデータを上書きする

引数
sn上書きを開始する行(0 から 高さ-1 まで)
en上書きが終了する行(0 から 高さ-1 まで)
data上書きするデータ
void MLCD_MONO::updateArrayA ( const char *  data)

内部画素記憶配列を全て上書きする

引数
data上書きするデータ
void MLCD_MONO::writeArray1 ( unsigned char  ln)

内部画素記憶配列の特定の行をメモリ液晶に表示する

引数
ln表示する行(0 から 高さ-1 まで)
void MLCD_MONO::writeArrayN ( unsigned char  sn,
unsigned char  en 
)

内部画素記憶配列の特定の範囲をメモリ液晶に表示する

引数
sn表示したい範囲の開始行(0 から 高さ-1 まで)
sn表示したい範囲の終了行(0 から 高さ-1 まで)
void MLCD_MONO::writeArrayA ( )

内部画素記憶配列を全てメモリ液晶に表示する

void MLCD_MONO::write1 ( unsigned char  ln,
const char *  data 
)

データをメモリ液晶の特定行に表示する(内部画素記憶配列を介さない)

引数
ln表示する行(0 から 高さ-1 まで)
data表示するデータ
void MLCD_MONO::writeN ( unsigned char  sn,
unsigned char  en,
const char *  data 
)

データをメモリ液晶の特定の範囲に表示する(内部画素記憶配列を介さない)

引数
sn表示したい範囲の開始行(0 から 高さ-1 まで)
en表示したい範囲の終了行(0 から 高さ-1 まで)
data表示するデータ
void MLCD_MONO::writeA ( const char *  data)

データをメモリ液晶全域に表示する(内部画素記憶配列を介さない)

引数
data表示するデータ
void MLCD_MONO::pixel ( unsigned short  x,
unsigned short  y,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

メモリ液晶の特定の座標に1ピクセルのドットを表示する

引数
xX座標(0 から 幅-1 まで)
yY座標(0 から 高さ-1 まで)
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): 画素を逆転させる(黒なら白、白なら黒)
引数
immidiate即時描画させる
void MLCD_MONO::drawLine ( unsigned short  fromX,
unsigned short  fromY,
unsigned short  toX,
unsigned short  toY,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

メモリ液晶に線を表示する

引数
fromX始点のX座標(0 から 幅-1 まで)
fromY始点のY座標(0 から 高さ-1 まで)
toX終点のX座標(0 から 幅-1 まで)
toY終点のY座標(0 から 高さ-1 まで)
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): 画素を逆転させる(黒なら白、白なら黒)
引数
immidiate即時描画させる
void MLCD_MONO::drawRect ( unsigned short  left,
unsigned short  top,
unsigned short  width,
unsigned short  height,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

メモリ液晶に四角形を表示する

引数
left画面左端からの距離(0 から 幅-1 まで)
top画面上端からの距離(0 から 高さ-1 まで)
width四角形の幅
height四角形の高さ
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): 画素を逆転させる(黒なら白、白なら黒)
引数
immidiate即時描画させる
void MLCD_MONO::drawRect2 ( unsigned short  x1,
unsigned short  y1,
unsigned short  x2,
unsigned short  y2,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

メモリ液晶に四角形を表示する(対角点指定)

引数
x1四角形の左上の点のX座標(0 から 幅-1 まで)
y1四角形の左上の点のY座標(0 から 高さ-1 まで)
x2四角形の右下の点のX座標(0 から 幅-1 まで)
y2四角形の右下の点のY座標(0 から 高さ-1 まで)
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): 画素を逆転させる(黒なら白、白なら黒)
引数
immidiate即時描画させる
void MLCD_MONO::fillRect ( unsigned short  left,
unsigned short  top,
unsigned short  width,
unsigned short  height,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

メモリ液晶に塗りつぶされた四角形を表示する

引数
left画面左端からの距離(0 から 幅-1 まで)
top画面上端からの距離(0 から 高さ-1 まで)
width四角形の幅
height四角形の高さ
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): 画素を逆転させる(黒なら白、白なら黒)
引数
immidiate即時描画させる
void MLCD_MONO::fill2Point ( unsigned short  x1,
unsigned short  y1,
unsigned short  x2,
unsigned short  y2,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

メモリ液晶に塗りつぶされた四角形を表示する(対角点指定)

引数
x1四角形の左上の点のX座標(0 から 幅-1 まで)
y1四角形の左上の点のY座標(0 から 高さ-1 まで)
x2四角形の右下の点のX座標(0 から 幅-1 まで)
y2四角形の右下の点のY座標(0 から 高さ-1 まで)
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): 画素を逆転させる(黒なら白、白なら黒)
引数
immidiate即時描画させる
void MLCD_MONO::drawCircle ( unsigned short  centerX,
unsigned short  centerY,
unsigned short  r,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

メモリ液晶に円を表示する

引数
centerX円の中心のX座標(0 から 幅-1 まで)
centerY円の中心のY座標(0 から 高さ-1 まで)
r円の半径
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): 画素を逆転させる(黒なら白、白なら黒)
引数
immidiate即時描画させる
void MLCD_MONO::fillCircle ( unsigned short  centerX,
unsigned short  centerY,
unsigned short  r,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

メモリ液晶に塗りつぶされた円を表示する

引数
centerX円の中心のX座標(0 から 幅-1 まで)
centerY円の中心のY座標(0 から 高さ-1 まで)
r円の半径
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): fillCircleは描画方法が特殊なためうまく描画できません
引数
immidiate即時描画させる
char MLCD_MONO::drawMonoData ( const char *  data,
unsigned short  left,
unsigned short  top,
unsigned short  imgWidth,
unsigned short  imgHeight,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

メモリ液晶にモノクロ2値のデータ列を表示する

引数
data表示するデータ列
left画面左端からの距離(0 から 幅-1 まで)
top画面上端からの距離(0 から 高さ-1 まで)
imgWidth四角形の幅
imgHeight四角形の高さ
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): fillCircleは描画方法が特殊なためうまく描画できません
引数
immidiate即時描画させる
戻り値
ERR_ILLEGAL_SIZE(-1)
SUCCESS_UPDATE(0)内部配列を更新した
SUCCESS_PRINTED(1)内部配列を更新した上、メモリ液晶に表示した
char MLCD_MONO::drawBMPfromSD ( char *  path,
bool  BtoW,
unsigned short  left,
unsigned short  top,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

SDカードから読み取ったBMP画像をメモリ液晶に表示する

引数
pathBMP画像のパス文字列(char*)
left画面左端からの距離(0 から 幅-1 まで)
top画面上端からの距離(0 から 高さ-1 まで)
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): 画素を逆転させる(黒なら白、白なら黒)
引数
immidiate即時描画させる
戻り値
ERR_CANNOT_BEGIN(-2)SD.begin()がうまくいかなかった
ERR_NOT_EXISTS(-4)指定されたパスが存在しない
ERR_CANNOT_OPEN(-8)ファイルは存在するが、開くことができない
ERR_ISNOT_BITMAP(-16)対象ファイルがビットマップファイルではない
ERR_IS_OLDBITMAP(-17)対象ファイルが古い形式のビットマップファイルなので解析できない
ERR_IS_SPECIALBITMAP(-18)対象ファイルが特殊形式のビットマップファイルなので解析できない
ERR_COLOR_DEPTH(-19)対象ファイルの色深度が1bit,24bit,32bit以外であるため解析できない
ERR_COMPRESSED(-20)対象ファイルが圧縮されているので解析できない
SUCCESS_UPDATE(0)対象ファイルの読み込みに成功し、内部配列を更新した
SUCCESS_PRINTED(1)対象ファイルの読み込みに成功し、内部配列を更新した上、メモリ液晶に表示した
char MLCD_MONO::drawBMPfromSD ( String  path,
bool  BtoW,
unsigned short  left,
unsigned short  top,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

SDカードから読み取ったBMP画像をメモリ液晶に表示する (オーバーロード)

引数
pathBMP画像のパス文字列(String)
left画面左端からの距離(0 から 幅-1 まで)
top画面上端からの距離(0 から 高さ-1 まで)
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): 画素を逆転させる(黒なら白、白なら黒)
引数
immidiate即時描画させる
戻り値
ERR_CANNOT_BEGIN(-2)SD.begin()がうまくいかなかった
ERR_NOT_EXISTS(-4)指定されたパスが存在しない
ERR_CANNOT_OPEN(-8)ファイルは存在するが、開くことができない
ERR_ISNOT_BITMAP(-16)対象ファイルがビットマップファイルではない
ERR_IS_OLDBITMAP(-17)対象ファイルが古い形式のビットマップファイルなので解析できない
ERR_IS_SPECIALBITMAP(-18)対象ファイルが特殊形式のビットマップファイルなので解析できない
ERR_COLOR_DEPTH(-19)対象ファイルの色深度が1bit,24bit,32bit以外であるため解析できない
ERR_COMPRESSED(-20)対象ファイルが圧縮されているので解析できない
SUCCESS_UPDATE(0)対象ファイルの読み込みに成功し、内部配列を更新した
SUCCESS_PRINTED(1)対象ファイルの読み込みに成功し、内部配列を更新した上、メモリ液晶に表示した
char MLCD_MONO::drawChar ( const char *  s,
unsigned short  x,
unsigned short  y,
unsigned char  zoom,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

メモリ液晶に文字を表示する

引数
s表示する文字
xテキストを囲う四角形の左上のX座標
yテキストを囲う四角形の左上のY座標
zoom拡大倍率
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): 画素を逆転させる(黒なら白、白なら黒)
引数
immidiate即時描画させる
戻り値
-1表示できなかった
0以上文字のバイトサイズ
char MLCD_MONO::writeString ( const char *  str,
unsigned short  x,
unsigned short  y,
unsigned char  zoom,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

メモリ液晶に拡大倍率を指定して文字列を表示する

引数
str表示する文字列(char*)
xテキストを囲う四角形の左上のX座標
yテキストを囲う四角形の左上のY座標
zoom拡大倍率
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): 画素を逆転させる(黒なら白、白なら黒)
引数
immidiate即時描画させる
戻り値
-1表示できなかった
1表示できた
char MLCD_MONO::writeString ( const String  str,
unsigned short  x,
unsigned short  y,
unsigned char  zoom,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

メモリ液晶に拡大倍率を指定して文字列を表示する(オーバーロード)

引数
str表示する文字列(String)
xテキストを囲う四角形の左上のX座標
yテキストを囲う四角形の左上のY座標
zoom拡大倍率
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): 画素を逆転させる(黒なら白、白なら黒)
引数
immidiate即時描画させる
戻り値
-1表示できなかった
1表示できた
char MLCD_MONO::writeString ( const char *  str,
unsigned short  x,
unsigned short  y,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

メモリ液晶に文字列を表示する(オーバーロード)

引数
str表示する文字列(char*)
xテキストを囲う四角形の左上のX座標
yテキストを囲う四角形の左上のY座標
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): 画素を逆転させる(黒なら白、白なら黒)
引数
immidiate即時描画させる
戻り値
-1表示できなかった
1表示できた
char MLCD_MONO::writeString ( const String  str,
unsigned short  x,
unsigned short  y,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

メモリ液晶に文字列を表示する(オーバーロード)

引数
str表示する文字列(String)
xテキストを囲う四角形の左上のX座標
yテキストを囲う四角形の左上のY座標
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): 画素を逆転させる(黒なら白、白なら黒)
引数
immidiate即時描画させる
戻り値
-1表示できなかった
1表示できた
char MLCD_MONO::ws ( const char *  str,
unsigned short  x,
unsigned short  y,
unsigned char  zoom,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

メモリ液晶に拡大倍率を指定して文字列を表示する(writeStringのエイリアス)

引数
str表示する文字列(char*)
xテキストを囲う四角形の左上のX座標
yテキストを囲う四角形の左上のY座標
zoom拡大倍率
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): 画素を逆転させる(黒なら白、白なら黒)
引数
immidiate即時描画させる
戻り値
-1表示できなかった
1表示できた
char MLCD_MONO::ws ( const String  str,
unsigned short  x,
unsigned short  y,
unsigned char  zoom,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

メモリ液晶に拡大倍率を指定して文字列を表示する(オーバーロード)(writeStringのエイリアス)

引数
str表示する文字列(String)
xテキストを囲う四角形の左上のX座標
yテキストを囲う四角形の左上のY座標
zoom拡大倍率
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): 画素を逆転させる(黒なら白、白なら黒)
引数
immidiate即時描画させる
戻り値
-1表示できなかった
1表示できた
char MLCD_MONO::ws ( const char *  str,
unsigned short  x,
unsigned short  y,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

メモリ液晶に文字列を表示する(オーバーロード)(writeStringのエイリアス)

引数
str表示する文字列(char*)
xテキストを囲う四角形の左上のX座標
yテキストを囲う四角形の左上のY座標
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): 画素を逆転させる(黒なら白、白なら黒)
引数
immidiate即時描画させる
戻り値
-1表示できなかった
1表示できた
char MLCD_MONO::ws ( const String  str,
unsigned short  x,
unsigned short  y,
char  mode = SH_MLCD_MONO_BLACK,
bool  immidiate = true 
)

メモリ液晶に拡大倍率を指定して文字列を表示する(writeStringのエイリアス)

引数
str表示する文字列(String)
xテキストを囲う四角形の左上のX座標
yテキストを囲う四角形の左上のY座標
zoom拡大倍率
mode表示モード
覚え書き
modeの一覧: SH_MLCD_MONO_BLACK (0): 黒く表示する
SH_MLCD_MONO_ERASE (1): 白く表示する
SH_MLCD_MONO_INVERT (-1): 画素を逆転させる(黒なら白、白なら黒)
引数
immidiate即時描画させる
戻り値
-1表示できなかった
1表示できた