Init sequence.
// init sequence :
// cmd AE sets display to sleep mode
// CMD A8 3F sets multiplex ratio number to 3f 63 (actually 64) this should be a const parameter for 32 or 64 line displays
// CMD D3 00 sets display offset to no offset
// CMD 40 sets set RAM display start line register to line 0
// CMD A1 sets seg map remapped (col addr 127 as SEG0)
// CMD C8 sets eg COM output scan direction remaapped COM[N-1] = COM0 where N is mux ratio
// limiting buffer to 8 words no reason but I2C limits to 8 as well.
write_cmd(&mut valok, &mut valerr, &[0xae,0xa8, 0x3f, 0xd3, 0x00, 0x40, 0xa1, 0xc8 ], &mut d_c_pin, &mut delay, &mut spi);
// CMD DA 02 set com scan normal direction but 0x02 is getting interleaved screen like 0x32, so will try 0x32 to see if that looks like 0x02
// CMD 81 7F set contrast to middle of range
// CMD A4 sets entire normal mode (not inverse mode)
// CMD A6 sets display to normal mode RAM bit =1, Display pixel = ON
// CMD D5 80 set clock divide = 0 (really 1) & OSC freq = 8 middle of range
write_cmd(&mut valok, &mut valerr, &[0xda,0x32, 0x81, 0x7f, 0xa4, 0xa6, 0xd5, 0x80 ], &mut d_c_pin, &mut delay, &mut spi);
// CMD 8D 14 sets enable charge pump
// CMD D9 22 set precharge period phase 1 = 2 clks, phase 2 = 2 clks
// CMD DB 30 set Vcomh deselect voltage = -0.83 x Vcc
// CMD 20 00 set addressing mode to horizontal wrap
write_cmd(&mut valok, &mut valerr, &[0x8d,0x14, 0xd9, 0x22, 0xdb, 0x40, 0x20, 0x00 ], &mut d_c_pin, &mut delay, &mut spi);
// CMD AF sets display to wake up
write_cmd(&mut valok, &mut valerr, &[0xaf ], &mut d_c_pin, &mut delay, &mut spi);