Compatible with ATM0177B3A
秋月電子で販売されているATM0177B3AをNucleo F303K8で動かしました。https://akizukidenshi.com/catalog/g/gK-14032/
フォーク元は以下になります。ピン番号の変更とライブラリの更新のみでも一応動きます。https://os.mbed.com/users/morita/code/DL144128_LCD/file/c0be4e018a09/ili9163lcd.h/
変更点
- SPIクロックの極性を変更→データシートでは立下りでデータ出力です。
void lcdWriteCommand(uint8_t address) { uint8_t i; CS_ = 0; A0_ = 0; for(i=0;i<8;i++){ if(address & 128)SDA_= 1; else SDA_ = 0; SCK_ = 0;//変更箇所 address <<= 1; SCK_ = 1;//変更箇所 } wait_us(1); CS_ = 1; }
- RGBの並びを変更→データシートではMSBファーストでRGBの並びです。
inline uint16_t decodeRgbValue(uint8_t r, uint8_t g, uint8_t b) { return (r << 11) | (g << 6) | (b); }
- 画面サイズをdefine
//128x160 #define COL_MAX 0x7f #define PAGE_MAX 0x9f
- 画面表示方向のdefine定義名を変更 →LCD_ORIENTATION0 がエラーのため
#define LCD_ORIENTATION0 0//変更前 #define ROT_TOP 0b00000000//変更後
機能追加
- グラデーション
void grade(void);
- カラーバー
void colorbar(void);
- バースト機能→ 1byte転送毎にwait_us(1)が呼び出され、速度低下していました。 wait_us(1)を削除した関数を2つ作成しました。
void lcdWriteData_burst(uint16_t *burst_data,uint16_t length); void lcdWriteData_sameburst(uint16_t data,uint16_t length);
他省略
- ガンマカーブ設定のコメントアウト →初期設定で問題なし
- 画面サイズ設定のコメントアウト →HWで設定済、ballとbatはVRAMを部分的に書き換えているため、毎度caset、rasetの設定が必要です。
HW構成
- VFのTYPが3.3Vと精度が疑わしく、電流制限抵抗の設計が難しい→バックライトの実測
負荷抵抗:10Ω、電源電圧:3.276V時 VR=0.335V、従ってVF=2.941V、IF=33.5mA
負荷抵抗:100Ω時 VR=0.621V、従ってVF=2.655V、IF=26.55mA →若干暗いけど問題ないので採用
- ピン配置
DigitalOut SCK_(A4); DigitalOut SDA_(A6); DigitalOut A0_(A2); DigitalOut RESET_(A1);//10kプルアップ DigitalOut CS_(A3);
Changes
Revision | Date | Who | Commit message |
---|---|---|---|
9:58f6248ef377 | 2021-01-05 | gitakichi | SMPTE colorbar modoki and 16bit charactor |
8:761e71533bff | 2021-01-02 | gitakichi | comment outed |
7:eaaf60683ca4 | 2021-01-02 | gitakichi | bool picture |
6:7abe5999dc1c | 2021-01-02 | gitakichi | use burst reduce reload time |
5:570ba49da81c | 2021-01-02 | gitakichi | reduce wait_us to more speed |
4:016fae067de1 | 2021-01-02 | gitakichi | delete colorbar comment out |
3:9caa79f40909 | 2021-01-02 | gitakichi | add colorbar and grade |
2:4d5b94a92f19 | 2021-01-01 | gitakichi | delete redundant code |
1:cd2949e87b17 | 2021-01-01 | gitakichi | can use akiduki lcd |
0:c0be4e018a09 | 2014-06-14 | morita | DL144128TF driving Test. |