19/dec/2013 新規
26/dec/2013 更新
extern int wiringPiI2CRead (int fd) ; extern int wiringPiI2CReadReg8 (int fd, int reg) ; extern int wiringPiI2CReadReg16 (int fd, int reg) ; extern int wiringPiI2CWrite (int fd, int data) ; extern int wiringPiI2CWriteReg8 (int fd, int reg, int data) ; extern int wiringPiI2CWriteReg16 (int fd, int reg, int data) ; // ここを追加します。wiringPi v2 (point 03) なら、このfileを wiringPiI2C.h と置き換えてもOKです。 // ↓↓↓↓↓↓↓↓↓↓↓↓ extern int wiringPiI2CWriteQuick (int fd) ; // added by I.Kato @ BS21 Lab // ↑↑↑↑↑↑↑↑↑↑↑↑ // ここまで。 extern int wiringPiI2CSetupInterface (const char *device, int devId) ; extern int wiringPiI2CSetup (const int devId) ; |
// ここを追加します。wiringPi v2 (point 03) なら、このfileを wiringPiI2C.c と置き換えてもOKです。 // ↓↓↓↓↓↓↓↓↓↓↓↓ /********************************************************************************************** Send an I2C address only. added by I.Kato @ BS21 Lab based on http://elk.informatik.fh-augsburg.de/pub/elinux/ngw100/i2c/AVR32412/i2c-dev.h **********************************************************************************************/ int wiringPiI2CWriteQuick (int fd) { return i2c_smbus_access (fd, I2C_SMBUS_WRITE, 0, I2C_SMBUS_QUICK, NULL) ; } // ↑↑↑↑↑↑↑↑↑↑↑↑ // ここまで。 |
SRC = ds1302.c maxdetect.c piNes.c \ gertboard.c piFace.c \ lcd128x64.c lcd.c \ kanalcd.c knjlcd.c \ ← これを追加 piGlow.c (中略) install-headers: @echo "[Install Headers]" @install -m 0755 -d $(DESTDIR)$(PREFIX)/include @install -m 0644 ds1302.h $(DESTDIR)$(PREFIX)/include @install -m 0644 maxdetect.h $(DESTDIR)$(PREFIX)/include @install -m 0644 piNes.h $(DESTDIR)$(PREFIX)/include @install -m 0644 gertboard.h $(DESTDIR)$(PREFIX)/include @install -m 0644 piFace.h $(DESTDIR)$(PREFIX)/include @install -m 0644 lcd128x64.h $(DESTDIR)$(PREFIX)/include @install -m 0644 lcd.h $(DESTDIR)$(PREFIX)/include @install -m 0644 kanalcd.h $(DESTDIR)$(PREFIX)/include ← これを追加 @install -m 0644 knjlcd.h $(DESTDIR)$(PREFIX)/include ← これを追加 @install -m 0644 piGlow.h $(DESTDIR)$(PREFIX)/include (中略) uninstall: @echo "[UnInstall]" @rm -f $(DESTDIR)$(PREFIX)/include/ds1302.h @rm -f $(DESTDIR)$(PREFIX)/include/maxdetect.h @rm -f $(DESTDIR)$(PREFIX)/include/piNes.h @rm -f $(DESTDIR)$(PREFIX)/include/gertboard.h @rm -f $(DESTDIR)$(PREFIX)/include/piFace.h @rm -f $(DESTDIR)$(PREFIX)/include/lcd128x64.h @rm -f $(DESTDIR)$(PREFIX)/include/lcd.h @rm -f $(DESTDIR)$(PREFIX)/include/kanalcd.h ← これを追加 @rm -f $(DESTDIR)$(PREFIX)/include/knjlcd.h ← これを追加 @rm -f $(DESTDIR)$(PREFIX)/include/piGlow.h @rm -f $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.* @ldconfig (中略) # DO NOT DELETE ds1302.o: ds1302.h maxdetect.o: maxdetect.h piNes.o: piNes.h gertboard.o: gertboard.h piFace.o: piFace.h lcd128x64.o: font.h lcd128x64.h lcd.o: lcd.h kanalcd.o: kanalcd.h ← これを追加 knjlcd.o: knjlcd.h ← これを追加 piGlow.o: piGlow.h |
漢字 LCD シールド | カナ LCD シールド | 戻り値 | 引数 | 説明 | コメント |
knjlcdInit | kanalcdInit | 成功時:fd値, 失敗時:-1 | int i2c_addr | 指定された i2cアドレスを持つ LCD シールドの初期化 | 画面クリア、カーソル位置(0,0)、LCD 表示 ON、カーソル非点滅、カーソル非表示、バックライト・ソフトOFF、汎用出力ピン全4点デジタル出力OFF になります |
knjlcdHome | kanalcdHome | エラーコード | int fd | 画面内容はそのままで、カーソル位置だけ (0,0) にする | ※カナ LCD シールドの場合、処理に約 1.52ms+α かかります |
knjlcdClear | kanalcdClear | エラーコード | int fd | 画面をクリアし、カーソル位置を (0,0) にする | ※漢字 LCD シールドの場合、処理に約 60ms かかります ※カナ LCD シールドの場合、処理に約 1.52ms+α かかります |
knjlcdDisplay | kanalcdDisplay | エラーコード | int fd, int state | LCD を表示させる/させない | |
knjlcdCursor | kanalcdCursor | エラーコード | int fd, int state | カーソルを表示させる/させない | ※漢字 LCD シールドの場合、半角/全角に関係なく、常に全角文字単位で表示されます。 |
knjlcdCursorBlink | kanalcdCursorBlink | エラーコード | int fd, int state | カーソル位置の文字を点滅させる/させない | ※漢字 LCD シールドの場合、半角/全角に関係なく、常に全角文字単位で点滅されます。 |
knjlcdPosition | kanalcdPosition | エラーコード | int fd, unsigned int col, unsigned int row | カーソル位置を設定 col=0〜15(漢字LCDシールドの場合) or 39(カナLCDシールドの場合), row=0〜1 の範囲で指定 | ※漢字 LCD シールドの場合、全角文字は偶数col のみ指定可能です。半角文字は奇数col でもOK です。 |
該当無し | kanalcdCharDef | エラーコード | int fd, unsigned int index, unsigned char font_data [8] | ユーザー定義文字フォント(5x8dots)を設定 | index = 0〜7 の範囲 ※カナ LCD シールドのみ |
knjlcdPutchar | kanalcdPutchar | エラーコード | int fd, char ch | 文字コードを1バイト転送する | マルチバイト文字の場合は、複数回呼び出しで、始めて1文字分が表示されるようになります。 |
knjlcdPuts | kanalcdPuts | エラーコード | int fd, const char * str | 文字列を転送する | 自動改行はしないので、改行させたい時は '\n' を指定する必要があります。 |
knjlcdPrintf | kanalcdPrintf | エラーコード | int fd, const char * fmt, ... | 文字列を転送する | 書式は printf 関数に準拠 |
該当無し | kanalcdEntryModeSet | エラーコード | int fd, unsigned int ems | Entry Mode を設定します。 | 機能の詳細はデータシートを参照してください。 ※カナ LCD シールドのみ |
該当無し | kanalcdShift | エラーコード | int fd, unsigned int shift | Cursor/Display Shift を実行します。 | 機能の詳細はデータシートを参照してください。 ※カナ LCD シールドのみ |
knjlcdBacklight | kanalcdBacklight | エラーコード | int fd, int state | LCD バックライトを ON/OFF させる | シールド上の DIPSW3 で、バックライト・ソフトON/OFF モードにしている場合のみ有効。バックライト強制ON モードにしている場合は、本コマンドに関係無く、バックライトON される |
knjlcdPset | 該当無し | エラーコード | int fd, int x, int y, int color | 仮想画面に点を描画 | x は 0〜127、y は 0〜31、color は 0 の時は消去、0 以外の時は描画 |
knjlcdLine | 該当無し | エラーコード | int fd, int x0, int y0, int x1, int y1, int color | 仮想画面に線を描画 | x0/x1 は 0〜127、y0/y1 は 0〜31、color は 0 の時は消去、0 以外の時は描画 |
knjlcdRect | 該当無し | エラーコード | int fd, int x0, int y0, int x1, int y1, int color | 仮想画面に四角形(塗りつぶし)を描画 | x0/x1 は 0〜127、y0/y1 は 0〜31、color は 0 の時は消去、0 以外の時は描画 |
knjlcdBitmap | 該当無し | エラーコード | int fd, int x, int y, unsigned int size, const unsigned char * bitmap | 仮想画面に Bitmap(モノクロ8画素単位)を1ライン分転送 | x は8画素単位(0,8,16,...,120)、y は 0〜31、size は転送バイト数。画面右端を超える分の bitmap は無視される。 |
knjlcdFlip | 該当無し | エラーコード | int fd, int x0, int y0, int x1, int y1 | 仮想画面から LCD のグラフィック面に転送 ここで初めて LCD に表示される | x0/x1 は 0〜127、y0/y1 は 0〜31 ※ 処理に最大約 60ms かかります。領域が狭ければ狭いほど、早く終わります。 |
knjlcdPinMode | kanalcdPinMode | エラーコード | int fd, unsigned int pin, int mode | 指定の汎用出力ピン(PWM0/PWM1/OUT0)を OUTPUTモードか PWM_OUTPUT モードに設定する | |
knjlcdDigitalWrite | kanalcdDigitalWrite | エラーコード | int fd, unsigned int pin, int state | 指定の汎用出力ピン(PWM0/PWM1/OUT0/OUT1)をデジタル ON/OFF させる | PinMode が OUTPUTモードになっている必要あり。state が 0 の時は OFF、0 以外の時は ON が出力される。 |
knjlcdPwmWrite | kanalcdPwmWrite | エラーコード | int fd, unsigned int pin, unsigned int val | 指定の汎用出力ピン(PWM0/PWM1/OUT0)から PWM 出力させる。 | PinMode が PWM_OUTPUTモードになっている必要あり(PWM_OUTPUTモードでない時に呼び出しても、内部設定されるだけで PWM 出力されません)。指定できる値は 0〜255 の範囲。 |