Arduino-IDEのTFTライブラリをGR-IDEで使えるように移植(改造)作業中

ほぼ、改造作業は終了しています。 GR-SAKURA と GR-KURUMI でのサンプルの動作の確認も出来ています。

ソースファイルの整理と資料の作成などの準備をしています。 ダウンロード提供できるようになるまでもうしばらくお待ちください。

 

TFT0

TFT1

 

Arduino-IDEに搭載されているグラフィックLCD用ライブラリ(TFTライブラリ)をGR-IDE 0.6.1 で利用出来るように改造をしました。 ただし、SPI接続を前提とします。 IOでの動作する改造はあきらめました。 誰かがやってくれることを期待します。

言い訳ですが GR-KURUMI のIDE環境ではピン番号からレジスタのビット位置やそのマスク値への変換関数(厳密にはマクロ)digitalPinToPort や portOutputRegister のサポートがされていないようなのであきらめました。(自作しろってか?) なので、SPI接続だけのサポートとなります。 GR-SAKURAのIDE環境ではサポートされているようなので GR-IDEのバージョンアップで対応されるのを期待します。

もっとも普及しているArduinoでTFTライブラリを使用したプログラムを GR-KURUMI や GR-SAKURA へ移行しやすくなると思います。

改造のベースにしたTFTライブラリは Arduino-IDE 1.0.5に搭載されているものを使いました。最新のArduino-IDE 1.6.7では「スケッチの例」の中では「RETIRED」のフォルダに入れられていました。 現役引退宣告なようです。 試しに使ってみたところちゃんと動作していました。

TFTライブラリがサポートしている液晶はコントローラとして ST7735 を搭載している液晶モジュールであるようです。

私が改造作業に使用した液晶モジュールはアマゾンで購入したものです。

サインスマート(SainSmart) 1.8″ TFT カラー LCD ディスプレイ モジュール ( アマゾンのサイトへ )

秋月電子で販売されている

1.8インチ 18bitカラーTFTシールド with microSD & ジョイスティック
( http://akizukidenshi.com/catalog/g/gM-08398/ )

スイッチサイエンスで販売されている

Adafruit 1.8インチTFTシールド
( https://www.switch-science.com/catalog/1137/ )

も ST’7735 を搭載しているようなので使えそうです。 ※試してはいませんので自己責任でお願いします。

Arduino-IDE 1.0.5 に搭載されている TFTライブラリは、Adafruit社によるオープンソース形態で配布されているものでした。

ファイル構成は

libraries
  TFT
    tft.cpp
    tft.h
    utility
      Adafruit_GFX.cpp
      Adafruit_GFX.h
      Adafruit_ST7735.cpp
      Adafruit_ST7735.h
      glcdfont.c
      PImage.h
      keywords.txt
      Adafruit-license.txt
      Adafruit-README.txt
    README.md
    keywords.txt
    examples
      ・・・・・・


ライセンス形態を調べてみると

Adafruit_GFX.cpp と Adafruit_GFX.h のヘッダコメントには BSD license と書いてありました。

Adafruit_ST7735.cpp と Adafruit_ST7735.h のヘッダコメントには MIT license と書いてありました。

Adafruit-license.txt には BSD license の説明文が書いてありました。 いずれにしても、ベースのライセンスを継承することとします。 改造を施した部分に関しての私のコピーライト(著作権)を既存ファイルの既存コピーライトの下に記載することとしました。

一応、 GR-KURUMI と GR-SAKURA でのサンプルの動作の確認を行いました。