Optimized constants

pull/57/head
Enrico Rossini 2023-08-30 10:10:58 +02:00
rodzic 5e50eb0880
commit 6b37dbf1dc
1 zmienionych plików z 55 dodań i 56 usunięć

Wyświetl plik

@ -4,35 +4,35 @@ from time import sleep_ms
import framebuf import framebuf
# LCD Commands definition # LCD Commands definition
CMD_DISPLAY_ON = const(0xAF) _CMD_DISPLAY_ON = const(0xAF)
CMD_DISPLAY_OFF = const(0xAE) _CMD_DISPLAY_OFF = const(0xAE)
CMD_SET_START_LINE = const(0x40) _CMD_SET_START_LINE = const(0x40)
CMD_SET_PAGE = const(0xB0) _CMD_SET_PAGE = const(0xB0)
CMD_COLUMN_UPPER = const(0x10) _CMD_COLUMN_UPPER = const(0x10)
CMD_COLUMN_LOWER = const(0x00) _CMD_COLUMN_LOWER = const(0x00)
CMD_SET_ADC_NORMAL = const(0xA0) _CMD_SET_ADC_NORMAL = const(0xA0)
CMD_SET_ADC_REVERSE = const(0xA1) _CMD_SET_ADC_REVERSE = const(0xA1)
CMD_SET_COL_NORMAL = const(0xC0) _CMD_SET_COL_NORMAL = const(0xC0)
CMD_SET_COL_REVERSE = const(0xC8) _CMD_SET_COL_REVERSE = const(0xC8)
CMD_SET_DISPLAY_NORMAL = const(0xA6) _CMD_SET_DISPLAY_NORMAL = const(0xA6)
CMD_SET_DISPLAY_REVERSE = const(0xA7) _CMD_SET_DISPLAY_REVERSE = const(0xA7)
CMD_SET_ALLPX_ON = const(0xA5) _CMD_SET_ALLPX_ON = const(0xA5)
CMD_SET_ALLPX_NORMAL = const(0xA4) _CMD_SET_ALLPX_NORMAL = const(0xA4)
CMD_SET_BIAS_9 = const(0xA2) _CMD_SET_BIAS_9 = const(0xA2)
CMD_SET_BIAS_7 = const(0xA3) _CMD_SET_BIAS_7 = const(0xA3)
CMD_DISPLAY_RESET = const(0xE2) _CMD_DISPLAY_RESET = const(0xE2)
CMD_NOP = const(0xE3) _CMD_NOP = const(0xE3)
CMD_TEST = const(0xF0) # Exit this mode with CMD_NOP _CMD_TEST = const(0xF0) # Exit this mode with _CMD_NOP
CMD_SET_POWER = const(0x28) _CMD_SET_POWER = const(0x28)
CMD_SET_RESISTOR_RATIO = const(0x20) _CMD_SET_RESISTOR_RATIO = const(0x20)
CMD_SET_VOLUME = const(0x81) _CMD_SET_VOLUME = const(0x81)
# Display parameters # Display parameters
DISPLAY_W = const(128) _DISPLAY_W = const(128)
DISPLAY_H = const(64) _DISPLAY_H = const(64)
DISPLAY_CONTRAST = const(0x1B) _DISPLAY_CONTRAST = const(0x1B)
DISPLAY_RESISTOR_RATIO = const(5) _DISPLAY_RESISTOR_RATIO = const(5)
DISPLAY_POWER_MODE = 7 _DISPLAY_POWER_MODE = 7
class ST7567(framebuf.FrameBuffer): class ST7567(framebuf.FrameBuffer):
@ -56,34 +56,34 @@ class ST7567(framebuf.FrameBuffer):
self.display_init() self.display_init()
def display_init(self): def display_init(self):
self.write_cmd( CMD_DISPLAY_RESET ) self.write_cmd(_CMD_DISPLAY_RESET)
sleep_ms(1) sleep_ms(1)
for cmd in ( for cmd in (
CMD_DISPLAY_OFF, # Display off _CMD_DISPLAY_OFF, # Display off
CMD_SET_BIAS_9, # Display drive voltage 1/9 bias _CMD_SET_BIAS_9, # Display drive voltage 1/9 bias
CMD_SET_ADC_NORMAL, # Normal SEG _CMD_SET_ADC_NORMAL, # Normal SEG
CMD_SET_COL_REVERSE, # Commmon mode reverse direction _CMD_SET_COL_REVERSE, # Commmon mode reverse direction
CMD_SET_RESISTOR_RATIO + DISPLAY_RESISTOR_RATIO, # V5 R ratio _CMD_SET_RESISTOR_RATIO + _DISPLAY_RESISTOR_RATIO, # V5 R ratio
CMD_SET_VOLUME, # Contrast _CMD_SET_VOLUME, # Contrast
DISPLAY_CONTRAST, # Contrast value _DISPLAY_CONTRAST, # Contrast value
CMD_SET_POWER + DISPLAY_POWER_MODE): _CMD_SET_POWER + _DISPLAY_POWER_MODE):
self.write_cmd(cmd) self.write_cmd(cmd)
self.show() self.show()
self.write_cmd(CMD_DISPLAY_ON) self.write_cmd(_CMD_DISPLAY_ON)
def set_contrast(self, value): def set_contrast(self, value):
if (0x1 <= value <= 0x3f): if (0x1 <= value <= 0x3f):
for cmd in ( CMD_SET_VOLUME, value ): for cmd in (_CMD_SET_VOLUME, value):
self.write_cmd(cmd) self.write_cmd(cmd)
def show(self): def show(self):
for i in range(8): for i in range(8):
for cmd in ( for cmd in (
CMD_SET_START_LINE, _CMD_SET_START_LINE,
CMD_SET_PAGE + i, _CMD_SET_PAGE + i,
CMD_COLUMN_UPPER, _CMD_COLUMN_UPPER,
CMD_COLUMN_LOWER): _CMD_COLUMN_LOWER):
self.write_cmd(cmd) self.write_cmd(cmd)
self.write_data(self.buffer[i * 128:(i + 1) * 128]) self.write_data(self.buffer[i * 128:(i + 1) * 128])
@ -95,4 +95,3 @@ class ST7567(framebuf.FrameBuffer):
def write_data(self, buf): def write_data(self, buf):
self.write_list[1] = buf self.write_list[1] = buf
self.i2c.writevto(self.addr, self.write_list) self.i2c.writevto(self.addr, self.write_list)