stm32f767 stm32l010 oled hal

Dependents:   HAL_oled_16x24_767_1 HAL_oled_16x24_010_2 HAL_oled_16x24_031_1

Committer:
caa45040
Date:
Fri Aug 05 05:59:52 2022 +0000
Revision:
0:896a43c93cd9
Child:
1:4ec114ea55dc
stm32f767 stm32l010 oled hal

Who changed what in which revision?

UserRevisionLine numberNew contents of line
caa45040 0:896a43c93cd9 1
caa45040 0:896a43c93cd9 2 #include "mbed.h"
caa45040 0:896a43c93cd9 3 #include "SSD1308.h"
caa45040 0:896a43c93cd9 4
caa45040 0:896a43c93cd9 5 //#include "font_8x8.h"
caa45040 0:896a43c93cd9 6 #include "font_16x24.h"
caa45040 0:896a43c93cd9 7
caa45040 0:896a43c93cd9 8
caa45040 0:896a43c93cd9 9 //i2c initialization
caa45040 0:896a43c93cd9 10 //I2C i2c(I2C_SDA, I2C_SCL); //767
caa45040 0:896a43c93cd9 11 //I2C i2c(PA_10, PA_9); //010
caa45040 0:896a43c93cd9 12
caa45040 0:896a43c93cd9 13
caa45040 0:896a43c93cd9 14 //void fff(char *str1)
caa45040 0:896a43c93cd9 15 //{
caa45040 0:896a43c93cd9 16 // printf(str1);//debug
caa45040 0:896a43c93cd9 17 //}
caa45040 0:896a43c93cd9 18
caa45040 0:896a43c93cd9 19
caa45040 0:896a43c93cd9 20
caa45040 0:896a43c93cd9 21 /**
caa45040 0:896a43c93cd9 22 *@brief Constructor
caa45040 0:896a43c93cd9 23 *@param I2C *i2c reference to i2c
caa45040 0:896a43c93cd9 24 *@param uint8_t deviceAddress slaveaddress
caa45040 0:896a43c93cd9 25 */
caa45040 0:896a43c93cd9 26 //SSD1308::SSD1308(I2C *i2c, uint8_t deviceAddress) : _i2c(i2c) {
caa45040 0:896a43c93cd9 27 //SSD1308::SSD1308( uint8_t deviceAddress) {
caa45040 0:896a43c93cd9 28 SSD1308::SSD1308( I2C_HandleTypeDef* hi2c , uint8_t deviceAddress ) {
caa45040 0:896a43c93cd9 29
caa45040 0:896a43c93cd9 30 _hi2c = hi2c;
caa45040 0:896a43c93cd9 31
caa45040 0:896a43c93cd9 32 _writeOpcode = deviceAddress & 0xFE; // low order bit = 0 for write
caa45040 0:896a43c93cd9 33 _readOpcode = deviceAddress | 0x01; // low order bit = 1 for read
caa45040 0:896a43c93cd9 34
caa45040 0:896a43c93cd9 35 initialize();
caa45040 0:896a43c93cd9 36 }//SSD1308
caa45040 0:896a43c93cd9 37
caa45040 0:896a43c93cd9 38 //イニシャライズ
caa45040 0:896a43c93cd9 39 void SSD1308::initialize()
caa45040 0:896a43c93cd9 40 {
caa45040 0:896a43c93cd9 41
caa45040 0:896a43c93cd9 42 //fff("initialize\r\n");//debug
caa45040 0:896a43c93cd9 43
caa45040 0:896a43c93cd9 44 setHorizontalAddressingMode(); //メモリーアクセスモード
caa45040 0:896a43c93cd9 45
caa45040 0:896a43c93cd9 46 clearDisplay();
caa45040 0:896a43c93cd9 47
caa45040 0:896a43c93cd9 48 //setInverted(false); //反転
caa45040 0:896a43c93cd9 49
caa45040 0:896a43c93cd9 50 setDisplayOn();
caa45040 0:896a43c93cd9 51
caa45040 0:896a43c93cd9 52 //fff("\r\n");
caa45040 0:896a43c93cd9 53
caa45040 0:896a43c93cd9 54 //charge pump add=>ca45040
caa45040 0:896a43c93cd9 55 //i2c.write(SSD1308_SA0, "\200\215\200\024", 4); //0x80,0x8d,0x80,0x14
caa45040 0:896a43c93cd9 56 HAL_I2C_Master_Transmit( _hi2c , _writeOpcode , (uint8_t*)"\200\215\200\024", 4, 3000);
caa45040 0:896a43c93cd9 57 //set access
caa45040 0:896a43c93cd9 58 //setDisplayFlip(false, false);
caa45040 0:896a43c93cd9 59
caa45040 0:896a43c93cd9 60
caa45040 0:896a43c93cd9 61
caa45040 0:896a43c93cd9 62
caa45040 0:896a43c93cd9 63 // uint8_t buf[16];
caa45040 0:896a43c93cd9 64 //
caa45040 0:896a43c93cd9 65 //
caa45040 0:896a43c93cd9 66 // buf[0]=0;
caa45040 0:896a43c93cd9 67 // buf[1]= 0x55;
caa45040 0:896a43c93cd9 68 //
caa45040 0:896a43c93cd9 69 // HAL_I2C_Master_Transmit( _hi2c , _writeOpcode , buf, 2, 3000);
caa45040 0:896a43c93cd9 70 // wait_ms(600);
caa45040 0:896a43c93cd9 71 //
caa45040 0:896a43c93cd9 72 // buf[0]=0;
caa45040 0:896a43c93cd9 73 // buf[1]= 0xaa;
caa45040 0:896a43c93cd9 74 //
caa45040 0:896a43c93cd9 75 //
caa45040 0:896a43c93cd9 76 // HAL_I2C_Master_Transmit( _hi2c , _writeOpcode , buf, 2, 3000);
caa45040 0:896a43c93cd9 77 // wait_ms(600);
caa45040 0:896a43c93cd9 78
caa45040 0:896a43c93cd9 79
caa45040 0:896a43c93cd9 80
caa45040 0:896a43c93cd9 81
caa45040 0:896a43c93cd9 82
caa45040 0:896a43c93cd9 83
caa45040 0:896a43c93cd9 84 }//initialize
caa45040 0:896a43c93cd9 85
caa45040 0:896a43c93cd9 86 //クリアディスプレー
caa45040 0:896a43c93cd9 87 void SSD1308::clearDisplay()
caa45040 0:896a43c93cd9 88 {
caa45040 0:896a43c93cd9 89
caa45040 0:896a43c93cd9 90 //fff("clearDisplay\r\n");//debug
caa45040 0:896a43c93cd9 91
caa45040 0:896a43c93cd9 92 //setDisplayOff();
caa45040 0:896a43c93cd9 93 setPageAddress(0, MAX_PAGE); // all pages
caa45040 0:896a43c93cd9 94 setColumnAddress(0, MAX_COL); // all columns
caa45040 0:896a43c93cd9 95
caa45040 0:896a43c93cd9 96 /*
caa45040 0:896a43c93cd9 97 for (uint8_t page = 0; page < PAGES; page++) {
caa45040 0:896a43c93cd9 98 for (uint8_t col = 0; col < COLUMNS; col++) {
caa45040 0:896a43c93cd9 99 _sendData(0x00);
caa45040 0:896a43c93cd9 100 }
caa45040 0:896a43c93cd9 101 }
caa45040 0:896a43c93cd9 102 */
caa45040 0:896a43c93cd9 103
caa45040 0:896a43c93cd9 104 //128*64/8=1024
caa45040 0:896a43c93cd9 105 uint8_t databytes[2] = { DATA_MODE, 0x00 };
caa45040 0:896a43c93cd9 106 for (int icount = 0; icount < 1024; icount++) {
caa45040 0:896a43c93cd9 107 //_sendData(0x00);
caa45040 0:896a43c93cd9 108
caa45040 0:896a43c93cd9 109 //i2c.write(_writeOpcode, databytes, 2);
caa45040 0:896a43c93cd9 110 HAL_I2C_Master_Transmit( _hi2c , _writeOpcode , databytes, 2, 3000);
caa45040 0:896a43c93cd9 111 }
caa45040 0:896a43c93cd9 112
caa45040 0:896a43c93cd9 113 //setDisplayOn();
caa45040 0:896a43c93cd9 114 }//clearDisplay
caa45040 0:896a43c93cd9 115
caa45040 0:896a43c93cd9 116 //ライトビットマップ
caa45040 0:896a43c93cd9 117 void SSD1308::writeBitmap(uint8_t* data,
caa45040 0:896a43c93cd9 118 uint8_t start_page, uint8_t end_page,
caa45040 0:896a43c93cd9 119 uint8_t start_col, uint8_t end_col)
caa45040 0:896a43c93cd9 120 {
caa45040 0:896a43c93cd9 121
caa45040 0:896a43c93cd9 122 //fff(" writeBitmap\r\n");//debug
caa45040 0:896a43c93cd9 123
caa45040 0:896a43c93cd9 124 int count = (end_page - start_page + 1) * (end_col - start_col + 1);
caa45040 0:896a43c93cd9 125
caa45040 0:896a43c93cd9 126 //setDisplayOff();
caa45040 0:896a43c93cd9 127 setPageAddress(start_page, end_page); // set page window
caa45040 0:896a43c93cd9 128 setColumnAddress(start_col, end_col); // set column window
caa45040 0:896a43c93cd9 129
caa45040 0:896a43c93cd9 130
caa45040 0:896a43c93cd9 131
caa45040 0:896a43c93cd9 132 uint8_t databytes[2] = { DATA_MODE, 0 };
caa45040 0:896a43c93cd9 133 for (int i=0; i<count; i++) {
caa45040 0:896a43c93cd9 134 //_sendData(data[i]); // Write Data
caa45040 0:896a43c93cd9 135
caa45040 0:896a43c93cd9 136 databytes[1] = data[i];
caa45040 0:896a43c93cd9 137 //i2c.write(_writeOpcode, databytes, 2);
caa45040 0:896a43c93cd9 138 HAL_I2C_Master_Transmit( _hi2c , _writeOpcode , databytes , 2, 3000);
caa45040 0:896a43c93cd9 139 }
caa45040 0:896a43c93cd9 140
caa45040 0:896a43c93cd9 141
caa45040 0:896a43c93cd9 142 //setDisplayOn();
caa45040 0:896a43c93cd9 143 }//writeBitmap
caa45040 0:896a43c93cd9 144
caa45040 0:896a43c93cd9 145
caa45040 0:896a43c93cd9 146 //ライトビッグキャラ
caa45040 0:896a43c93cd9 147 void SSD1308::writeBigChar(uint8_t row, uint8_t col, char chr)
caa45040 0:896a43c93cd9 148 {
caa45040 0:896a43c93cd9 149
caa45040 0:896a43c93cd9 150 //fff("writeBigChar\r\n");//debug
caa45040 0:896a43c93cd9 151
caa45040 0:896a43c93cd9 152
caa45040 0:896a43c93cd9 153 writeBitmap((uint8_t*) font_16x24[int(chr) - FONT16x24_START],
caa45040 0:896a43c93cd9 154 row, (row + FONT16x24_BYTES - 1),
caa45040 0:896a43c93cd9 155 col, (col + FONT16x24_WIDTH - 1));
caa45040 0:896a43c93cd9 156
caa45040 0:896a43c93cd9 157
caa45040 0:896a43c93cd9 158 }//writeBigChar
caa45040 0:896a43c93cd9 159
caa45040 0:896a43c93cd9 160
caa45040 0:896a43c93cd9 161 /*
caa45040 0:896a43c93cd9 162 //センドコマンド コマンドx1
caa45040 0:896a43c93cd9 163 void SSD1308::_sendCommand(uint8_t command)
caa45040 0:896a43c93cd9 164 {
caa45040 0:896a43c93cd9 165 char databytes[2] = { COMMAND_MODE, command };
caa45040 0:896a43c93cd9 166 i2c.write(_writeOpcode,databytes, 2);
caa45040 0:896a43c93cd9 167 //_i2c.write(_writeOpcode, databytes, 2); // Write command
caa45040 0:896a43c93cd9 168 }//
caa45040 0:896a43c93cd9 169 */
caa45040 0:896a43c93cd9 170
caa45040 0:896a43c93cd9 171
caa45040 0:896a43c93cd9 172
caa45040 0:896a43c93cd9 173 /*
caa45040 0:896a43c93cd9 174 //センドコマンド コマンドx1 パラメーターx1
caa45040 0:896a43c93cd9 175 void SSD1308::_sendCommand(uint8_t command, uint8_t param1)
caa45040 0:896a43c93cd9 176 {
caa45040 0:896a43c93cd9 177 char databytes[4] = { COMMAND_MODE, command, COMMAND_MODE, param1 };
caa45040 0:896a43c93cd9 178
caa45040 0:896a43c93cd9 179 i2c.write(_writeOpcode, databytes, 4);
caa45040 0:896a43c93cd9 180 //_i2c.write(_writeOpcode, databytes, 4); // Write command
caa45040 0:896a43c93cd9 181
caa45040 0:896a43c93cd9 182 }//
caa45040 0:896a43c93cd9 183 */
caa45040 0:896a43c93cd9 184
caa45040 0:896a43c93cd9 185 /*
caa45040 0:896a43c93cd9 186 //センドコマンド コマンドx1 パラメーターx2
caa45040 0:896a43c93cd9 187 void SSD1308::_sendCommand(uint8_t command, uint8_t param1, uint8_t param2)
caa45040 0:896a43c93cd9 188 {
caa45040 0:896a43c93cd9 189 char databytes[6] = { COMMAND_MODE, command, COMMAND_MODE, param1, COMMAND_MODE, param2 };
caa45040 0:896a43c93cd9 190 i2c.write(_writeOpcode, databytes, 6);
caa45040 0:896a43c93cd9 191 //_i2c.write(_writeOpcode, databytes, 6); // Write command
caa45040 0:896a43c93cd9 192
caa45040 0:896a43c93cd9 193 }//
caa45040 0:896a43c93cd9 194 */
caa45040 0:896a43c93cd9 195
caa45040 0:896a43c93cd9 196 /*
caa45040 0:896a43c93cd9 197 //センドコマンド コマンドx1 パラメーターx5
caa45040 0:896a43c93cd9 198 void SSD1308::_sendCommand(uint8_t command, uint8_t param1, uint8_t param2,
caa45040 0:896a43c93cd9 199 uint8_t param3, uint8_t param4,
caa45040 0:896a43c93cd9 200 uint8_t param5)
caa45040 0:896a43c93cd9 201 {
caa45040 0:896a43c93cd9 202 char databytes[12] = { COMMAND_MODE, command, COMMAND_MODE, param1, COMMAND_MODE, param2,
caa45040 0:896a43c93cd9 203 COMMAND_MODE, param3, COMMAND_MODE, param4, COMMAND_MODE, param5 };
caa45040 0:896a43c93cd9 204 i2c.write(_writeOpcode, databytes, 12);
caa45040 0:896a43c93cd9 205 //_i2c.write(_writeOpcode, databytes, 12); // Write command
caa45040 0:896a43c93cd9 206 }//
caa45040 0:896a43c93cd9 207 */
caa45040 0:896a43c93cd9 208
caa45040 0:896a43c93cd9 209 /*
caa45040 0:896a43c93cd9 210 //センドコマンド コマンドx1 パラメーターx6
caa45040 0:896a43c93cd9 211 void SSD1308::_sendCommand(uint8_t command, uint8_t param1, uint8_t param2,
caa45040 0:896a43c93cd9 212 uint8_t param3, uint8_t param4,
caa45040 0:896a43c93cd9 213 uint8_t param5, uint8_t param6)
caa45040 0:896a43c93cd9 214 {
caa45040 0:896a43c93cd9 215 char databytes[14] = { COMMAND_MODE, command, COMMAND_MODE, param1, COMMAND_MODE, param2,
caa45040 0:896a43c93cd9 216 COMMAND_MODE, param3, COMMAND_MODE, param4, COMMAND_MODE, param5, COMMAND_MODE, param6 };
caa45040 0:896a43c93cd9 217 i2c.write(_writeOpcode, databytes, 14);
caa45040 0:896a43c93cd9 218 //_i2c.write(_writeOpcode, databytes, 14); // Write command
caa45040 0:896a43c93cd9 219
caa45040 0:896a43c93cd9 220 }//
caa45040 0:896a43c93cd9 221 */
caa45040 0:896a43c93cd9 222
caa45040 0:896a43c93cd9 223 /*
caa45040 0:896a43c93cd9 224 //センドデータ コマンドx1
caa45040 0:896a43c93cd9 225 void SSD1308::_sendData(uint8_t data)
caa45040 0:896a43c93cd9 226 {
caa45040 0:896a43c93cd9 227 char databytes[2] = { DATA_MODE, data };
caa45040 0:896a43c93cd9 228 i2c.write(_writeOpcode, databytes, 2);
caa45040 0:896a43c93cd9 229 //_i2c.write(_writeOpcode, databytes, 2); // Write Data
caa45040 0:896a43c93cd9 230 }//
caa45040 0:896a43c93cd9 231 */
caa45040 0:896a43c93cd9 232
caa45040 0:896a43c93cd9 233 /*
caa45040 0:896a43c93cd9 234 //センドデータ コマンドx1 データ
caa45040 0:896a43c93cd9 235 void SSD1308::_sendData(uint8_t len, uint8_t* data)
caa45040 0:896a43c93cd9 236 {
caa45040 0:896a43c93cd9 237 for (int i=0; i<len ; i++) {
caa45040 0:896a43c93cd9 238 _sendData(data[i]); // Write Data
caa45040 0:896a43c93cd9 239 }
caa45040 0:896a43c93cd9 240 }//_sendData
caa45040 0:896a43c93cd9 241 */
caa45040 0:896a43c93cd9 242
caa45040 0:896a43c93cd9 243 //セット
caa45040 0:896a43c93cd9 244 void SSD1308::setHorizontalAddressingMode()
caa45040 0:896a43c93cd9 245 {
caa45040 0:896a43c93cd9 246
caa45040 0:896a43c93cd9 247 //fff("setHorizontalAddressingMode\r\n");//debug
caa45040 0:896a43c93cd9 248
caa45040 0:896a43c93cd9 249 setMemoryAddressingMode(HORIZONTAL_ADDRESSING_MODE);
caa45040 0:896a43c93cd9 250 }//setHorizontalAddressingMode
caa45040 0:896a43c93cd9 251
caa45040 0:896a43c93cd9 252 //セットメモリーアドレシングモード
caa45040 0:896a43c93cd9 253 void SSD1308::setMemoryAddressingMode(uint8_t mode)
caa45040 0:896a43c93cd9 254 {
caa45040 0:896a43c93cd9 255
caa45040 0:896a43c93cd9 256 //fff("setMemoryAddressingMode\r\n");
caa45040 0:896a43c93cd9 257
caa45040 0:896a43c93cd9 258 //_sendCommand(SET_MEMORY_ADDRESSING_MODE, mode);
caa45040 0:896a43c93cd9 259
caa45040 0:896a43c93cd9 260
caa45040 0:896a43c93cd9 261 uint8_t databytes[4] = { COMMAND_MODE, SET_MEMORY_ADDRESSING_MODE, COMMAND_MODE, mode };
caa45040 0:896a43c93cd9 262
caa45040 0:896a43c93cd9 263 //i2c.write(_writeOpcode, databytes, 4);
caa45040 0:896a43c93cd9 264 HAL_I2C_Master_Transmit( _hi2c , _writeOpcode , databytes, 4, 3000);
caa45040 0:896a43c93cd9 265
caa45040 0:896a43c93cd9 266
caa45040 0:896a43c93cd9 267 }//setMemoryAddressingMode
caa45040 0:896a43c93cd9 268
caa45040 0:896a43c93cd9 269 //セットページアドレス
caa45040 0:896a43c93cd9 270 void SSD1308::setPageAddress(uint8_t start, uint8_t end)
caa45040 0:896a43c93cd9 271 {
caa45040 0:896a43c93cd9 272
caa45040 0:896a43c93cd9 273 //fff("setPageAddress\r\n");
caa45040 0:896a43c93cd9 274
caa45040 0:896a43c93cd9 275 //_sendCommand(SET_PAGE_ADDRESS, start, end);
caa45040 0:896a43c93cd9 276
caa45040 0:896a43c93cd9 277 uint8_t databytes[6] = { COMMAND_MODE, SET_PAGE_ADDRESS, COMMAND_MODE, start, COMMAND_MODE, end };
caa45040 0:896a43c93cd9 278 //i2c.write(_writeOpcode, databytes, 6);
caa45040 0:896a43c93cd9 279 HAL_I2C_Master_Transmit( _hi2c , _writeOpcode , databytes, 6, 3000);
caa45040 0:896a43c93cd9 280
caa45040 0:896a43c93cd9 281
caa45040 0:896a43c93cd9 282 }//setPageAddress
caa45040 0:896a43c93cd9 283
caa45040 0:896a43c93cd9 284 //セットカラムアクセス
caa45040 0:896a43c93cd9 285 void SSD1308::setColumnAddress(uint8_t start, uint8_t end)
caa45040 0:896a43c93cd9 286 {
caa45040 0:896a43c93cd9 287
caa45040 0:896a43c93cd9 288 //fff("setColumnAddress");
caa45040 0:896a43c93cd9 289
caa45040 0:896a43c93cd9 290 //_sendCommand(SET_COLUMN_ADDRESS, start, end);
caa45040 0:896a43c93cd9 291
caa45040 0:896a43c93cd9 292 uint8_t databytes[6] = { COMMAND_MODE, SET_COLUMN_ADDRESS, COMMAND_MODE, start, COMMAND_MODE, end };
caa45040 0:896a43c93cd9 293 //i2c.write(_writeOpcode, databytes, 6);
caa45040 0:896a43c93cd9 294 HAL_I2C_Master_Transmit( _hi2c , _writeOpcode , databytes, 6, 3000);
caa45040 0:896a43c93cd9 295
caa45040 0:896a43c93cd9 296 }//setColumnAddress
caa45040 0:896a43c93cd9 297
caa45040 0:896a43c93cd9 298 //セットディスプレーオン
caa45040 0:896a43c93cd9 299 void SSD1308::setDisplayOn()
caa45040 0:896a43c93cd9 300 {
caa45040 0:896a43c93cd9 301
caa45040 0:896a43c93cd9 302 //fff("setDisplayOn\r\n");//debug
caa45040 0:896a43c93cd9 303
caa45040 0:896a43c93cd9 304 //_sendCommand(SET_DISPLAY_POWER_ON);
caa45040 0:896a43c93cd9 305
caa45040 0:896a43c93cd9 306
caa45040 0:896a43c93cd9 307 uint8_t databytes[2] = { COMMAND_MODE, SET_DISPLAY_POWER_ON };
caa45040 0:896a43c93cd9 308 //i2c.write(_writeOpcode,databytes, 2);
caa45040 0:896a43c93cd9 309 HAL_I2C_Master_Transmit( _hi2c , _writeOpcode , databytes, 2, 3000);
caa45040 0:896a43c93cd9 310
caa45040 0:896a43c93cd9 311 }//setDisplayOn
caa45040 0:896a43c93cd9 312
caa45040 0:896a43c93cd9 313
caa45040 0:896a43c93cd9 314 /*
caa45040 0:896a43c93cd9 315 //セットディスプレーオフ
caa45040 0:896a43c93cd9 316 void SSD1308::setDisplayOff()
caa45040 0:896a43c93cd9 317 {
caa45040 0:896a43c93cd9 318 _sendCommand(SET_DISPLAY_POWER_OFF);
caa45040 0:896a43c93cd9 319 }//setDisplayOff
caa45040 0:896a43c93cd9 320 */
caa45040 0:896a43c93cd9 321
caa45040 0:896a43c93cd9 322 /*
caa45040 0:896a43c93cd9 323 //セットディスプレー Flip
caa45040 0:896a43c93cd9 324 void SSD1308::setDisplayFlip(bool left, bool down)
caa45040 0:896a43c93cd9 325 {
caa45040 0:896a43c93cd9 326 if (left) {
caa45040 0:896a43c93cd9 327 // column address 0 is mapped to SEG0 (Reset)
caa45040 0:896a43c93cd9 328 _sendCommand(SET_SEGMENT_REMAP_0);
caa45040 0:896a43c93cd9 329 } else {
caa45040 0:896a43c93cd9 330 // column address 127 is mapped to SEG0
caa45040 0:896a43c93cd9 331 _sendCommand(SET_SEGMENT_REMAP_127);
caa45040 0:896a43c93cd9 332 }
caa45040 0:896a43c93cd9 333
caa45040 0:896a43c93cd9 334 if (down) {
caa45040 0:896a43c93cd9 335 // Reset mode
caa45040 0:896a43c93cd9 336 _sendCommand(SET_COMMON_REMAP_0);
caa45040 0:896a43c93cd9 337 } else {
caa45040 0:896a43c93cd9 338 // Flip Up/Down (Need to rewrite display before H effect shows)
caa45040 0:896a43c93cd9 339 _sendCommand(SET_COMMON_REMAP_63);
caa45040 0:896a43c93cd9 340 }
caa45040 0:896a43c93cd9 341
caa45040 0:896a43c93cd9 342 }//setDisplayFlip
caa45040 0:896a43c93cd9 343 */