MARMEX_OB基板OLED日本語対応ライブラリ(MARMEX_OB基板OLEDライブラリ継承版)
はじめに
nuchoさんが公開されているMARYシステムのOB基板(OLED)の日本語対応版プログラムをnxpfanさんが公開されているMARMEX_OB基板OLEDライブラリ (MARMEX_OB_oled)を継承する形でコーディングしてみた。
Import libraryMARMEX_OB_oled_J
MARMEX_OB_oled with Japanese font
その際、MARMEX_OB_oled_copy.hの変数のアクセス修飾子を修正している。
MARMEX_OB_oled_copy.h/377行目あたり
protected: //private: /** Command list for the OLED controller */ enum { SET_DISPLAY_MODE_ALL_OFF = 0xA4, SET_COMMAND_LOCK = 0xFD,
サンプル
nuchoさんのサンプルの場合、私の環境では、文字化けして日本語が表示できなかったため、日本語部分を外部ファイルから取り込むようにした。
Import programMARMEX_OB_oled_J_Helloworld
MARMEX_OB_oled_J sample
動作させるには、binファイルと同じmbedのlocal上に、load.txtという名前のファイルを作る必要がある。 サンプルで表示しているload.txtは以下の通り。
load.txt/エンコード:Shift_JIS
縦倍角:123 横倍角:123 2倍角:123 3倍角:1
また、サンプルコードのピン配置は、MARY OB基板(OLED)をmbedに接続してみましたを元にしている。
SPI Frequency
私の環境だと、mbedライブラリのリビジョン34まで、MARMEX_OB基板OLEDライブラリ (MARMEX_OB_oled)が動作していたが、ライブラリのバージョンを上げると画面表示できなくなった。 MARMEX_OB_oled.hの86行目あたりにある、SPI_FREQUENCYの値を減らすことで動作した。
class MARMEX_OB_oled : public NokiaLCD { public: /** General parameters for MARMEX_OB_oled */ enum { ROWS = 15, /**< # of rows (lines) for displaying characters */ COLS = 16, /**< # of columns (width) for displaying characters */ WIDTH = 128, /**< screen width [pixels] */ HEIGHT = 128, /**< screen height [pixels] */ // SPI_FREQUENCY = 20000000 /**< SPI (sclk) SPI_FREQUENCY */ SPI_FREQUENCY = 16000000 /**< SPI (sclk) SPI_FREQUENCY */ };
Please log in to post comments.