Beispiel #1
0
 def send_command(self, command):
     epdconfig.digital_write(self.dc_pin, GPIO.LOW)
     epdconfig.spi_writebyte([command])
 def send_command(self, command):
     epdconfig.digital_write(self.dc_pin, 0)
     epdconfig.digital_write(self.cs_pin, 0)
     epdconfig.spi_writebyte([command])
     epdconfig.digital_write(self.cs_pin, 1)
 def send_data(self, data):
     epdconfig.digital_write(self.dc_pin, 1)
     epdconfig.digital_write(self.cs_pin, 0)
     epdconfig.spi_writebyte([data])
     epdconfig.digital_write(self.cs_pin, 1)
Beispiel #4
0
    def Init(self):
        print("EPD init...")
        epdconfig.module_init()

        epdconfig.digital_write(self.EPD_M1_CS_PIN, 1)
        epdconfig.digital_write(self.EPD_S1_CS_PIN, 1)
        epdconfig.digital_write(self.EPD_M2_CS_PIN, 1)
        epdconfig.digital_write(self.EPD_S2_CS_PIN, 1)
        self.Reset()

        #panel setting
        self.M1_SendCommand(0x00)
        self.M1_SendData(0x1f)  #KW-3f   KWR-2F	BWROTP 0f	BWOTP 1f
        self.S1_SendCommand(0x00)
        self.S1_SendData(0x1f)
        self.M2_SendCommand(0x00)
        self.M2_SendData(0x13)
        self.S2_SendCommand(0x00)
        self.S2_SendData(0x13)

        # booster soft start
        self.M1_SendCommand(0x06)
        self.M1_SendData(0x17)  #A
        self.M1_SendData(0x17)  #B
        self.M1_SendData(0x39)  #C
        self.M1_SendData(0x17)
        self.M2_SendCommand(0x06)
        self.M2_SendData(0x17)
        self.M2_SendData(0x17)
        self.M2_SendData(0x39)
        self.M2_SendData(0x17)

        #resolution setting
        self.M1_SendCommand(0x61)
        self.M1_SendData(0x02)
        self.M1_SendData(0x88)  #source 648
        self.M1_SendData(0x01)  #gate 492
        self.M1_SendData(0xEC)
        self.S1_SendCommand(0x61)
        self.S1_SendData(0x02)
        self.S1_SendData(0x90)  #source 656
        self.S1_SendData(0x01)  #gate 492
        self.S1_SendData(0xEC)
        self.M2_SendCommand(0x61)
        self.M2_SendData(0x02)
        self.M2_SendData(0x90)  #source 656
        self.M2_SendData(0x01)  #gate 492
        self.M2_SendData(0xEC)
        self.S2_SendCommand(0x61)
        self.S2_SendData(0x02)
        self.S2_SendData(0x88)  #source 648
        self.S2_SendData(0x01)  #gate 492
        self.S2_SendData(0xEC)

        self.M1S1M2S2_SendCommand(0x15)  #DUSPI
        self.M1S1M2S2_SendData(0x20)

        self.M1S1M2S2_SendCommand(0x50)  #Vcom and data interval setting
        self.M1S1M2S2_SendData(0x21)  #Border KW
        self.M1S1M2S2_SendData(0x07)

        self.M1S1M2S2_SendCommand(0x60)  #TCON
        self.M1S1M2S2_SendData(0x22)

        self.M1S1M2S2_SendCommand(0xE3)
        self.M1S1M2S2_SendData(0x00)

        #temperature
        temp = self.M1_ReadTemperature()

        self.M1S1M2S2_SendCommand(0xe0)  #Cascade setting
        self.M1S1M2S2_SendData(0x03)
        self.M1S1M2S2_SendCommand(0xe5)  #Force temperature
        self.M1S1M2S2_SendData(temp)
 def send_data(self, data):
     epdconfig.digital_write(self.cs_pin, GPIO.LOW)
     epdconfig.digital_write(self.dc_pin, GPIO.HIGH)
     epdconfig.spi_writebyte([data])
     epdconfig.digital_write(self.cs_pin, GPIO.HIGH)
Beispiel #6
0
 def Reset(self):
     epdconfig.digital_write(self.EPD_M1S1_RST_PIN, 1)
     epdconfig.digital_write(self.EPD_M2S2_RST_PIN, 1)
     time.sleep(0.2)
     epdconfig.digital_write(self.EPD_M1S1_RST_PIN, 0)
     epdconfig.digital_write(self.EPD_M2S2_RST_PIN, 0)
     time.sleep(0.01)
     epdconfig.digital_write(self.EPD_M1S1_RST_PIN, 1)
     epdconfig.digital_write(self.EPD_M2S2_RST_PIN, 1)
     time.sleep(0.2)
Beispiel #7
0
    def M1_ReadTemperature(self):
        self.M1_SendCommand(0x40)
        self.M1_ReadBusy()
        time.sleep(0.3)

        epdconfig.digital_write(self.EPD_M1_CS_PIN, 0)
        epdconfig.digital_write(self.EPD_S1_CS_PIN, 1)
        epdconfig.digital_write(self.EPD_M2_CS_PIN, 1)
        epdconfig.digital_write(self.EPD_S2_CS_PIN, 1)

        epdconfig.digital_write(self.EPD_M1S1_DC_PIN, 1)
        time.sleep(0.01)

        # temp = epdconfig.spi_readbyte(0x00)
        temp = 25
        print("Read Temperature Reg:%d" % temp)
        epdconfig.digital_write(self.EPD_M1_CS_PIN, 1)
        # temp =0x29
        return temp
Beispiel #8
0
 def M1_SendData(self, val):
     epdconfig.digital_write(self.EPD_M1S1_DC_PIN, 1)
     epdconfig.digital_write(self.EPD_M1_CS_PIN, 0)
     epdconfig.spi_writebyte(val)
     epdconfig.digital_write(self.EPD_M1_CS_PIN, 1)
Beispiel #9
0
 def M1_SendCommand(self, cmd):
     epdconfig.digital_write(self.EPD_M1S1_DC_PIN, 0)
     epdconfig.digital_write(self.EPD_M1_CS_PIN, 0)
     epdconfig.spi_writebyte(cmd)
     epdconfig.digital_write(self.EPD_M1_CS_PIN, 1)
Beispiel #10
0
 def S2_SendData(self, val):
     epdconfig.digital_write(self.EPD_M2S2_DC_PIN, 1)
     epdconfig.digital_write(self.EPD_S2_CS_PIN, 0)
     epdconfig.spi_writebyte(val)
     epdconfig.digital_write(self.EPD_S2_CS_PIN, 1)
Beispiel #11
0
 def S2_SendCommand(self, cmd):
     epdconfig.digital_write(self.EPD_M2S2_DC_PIN, 0)
     epdconfig.digital_write(self.EPD_S2_CS_PIN, 0)
     epdconfig.spi_writebyte(cmd)
     epdconfig.digital_write(self.EPD_S2_CS_PIN, 1)
Beispiel #12
0
    def Init(self):
        print("EPD init...")
        epdconfig.module_init()

        epdconfig.digital_write(self.EPD_M1_CS_PIN, 1)
        epdconfig.digital_write(self.EPD_S1_CS_PIN, 1)
        epdconfig.digital_write(self.EPD_M2_CS_PIN, 1)
        epdconfig.digital_write(self.EPD_S2_CS_PIN, 1)
        self.Reset()

        #panel setting
        self.M1_SendCommand(0x00)
        self.M1_SendData(0x2f)  #KW-3f   KWR-2F	BWROTP 0f	BWOTP 1f
        self.S1_SendCommand(0x00)
        self.S1_SendData(0x2f)
        self.M2_SendCommand(0x00)
        self.M2_SendData(0x23)
        self.S2_SendCommand(0x00)
        self.S2_SendData(0x23)

        # POWER SETTING
        self.M1_SendCommand(0x01)
        self.M1_SendData(0x07)
        self.M1_SendData(0x17)  # VGH=20V,VGL=-20V
        self.M1_SendData(0x3F)  # VDH=15V
        self.M1_SendData(0x3F)  # VDL=-15V
        self.M1_SendData(0x0d)
        self.M2_SendCommand(0x01)
        self.M2_SendData(0x07)
        self.M2_SendData(0x17)  # VGH=20V,VGL=-20V
        self.M2_SendData(0x3F)  # VDH=15V
        self.M2_SendData(0x3F)  # VDL=-15V
        self.M2_SendData(0x0d)

        # booster soft start
        self.M1_SendCommand(0x06)
        self.M1_SendData(0x17)  #A
        self.M1_SendData(0x17)  #B
        self.M1_SendData(0x39)  #C
        self.M1_SendData(0x17)
        self.M2_SendCommand(0x06)
        self.M2_SendData(0x17)
        self.M2_SendData(0x17)
        self.M2_SendData(0x39)
        self.M2_SendData(0x17)

        #resolution setting
        self.M1_SendCommand(0x61)
        self.M1_SendData(0x02)
        self.M1_SendData(0x88)  #source 648
        self.M1_SendData(0x01)  #gate 492
        self.M1_SendData(0xEC)
        self.S1_SendCommand(0x61)
        self.S1_SendData(0x02)
        self.S1_SendData(0x90)  #source 656
        self.S1_SendData(0x01)  #gate 492
        self.S1_SendData(0xEC)
        self.M2_SendCommand(0x61)
        self.M2_SendData(0x02)
        self.M2_SendData(0x90)  #source 656
        self.M2_SendData(0x01)  #gate 492
        self.M2_SendData(0xEC)
        self.S2_SendCommand(0x61)
        self.S2_SendData(0x02)
        self.S2_SendData(0x88)  #source 648
        self.S2_SendData(0x01)  #gate 492
        self.S2_SendData(0xEC)

        self.M1S1M2S2_SendCommand(0x15)  #DUSPI
        self.M1S1M2S2_SendData(0x20)

        self.M1S1M2S2_SendCommand(0x30)  # PLL
        self.M1S1M2S2_SendData(0x08)

        self.M1S1M2S2_SendCommand(0x50)  #Vcom and data interval setting
        self.M1S1M2S2_SendData(0x31)
        self.M1S1M2S2_SendData(0x07)

        self.M1S1M2S2_SendCommand(0x60)  #TCON
        self.M1S1M2S2_SendData(0x22)

        self.M1_SendCommand(0xE0)  #POWER SETTING
        self.M1_SendData(0x01)
        self.M2_SendCommand(0xE0)  #POWER SETTING
        self.M2_SendData(0x01)

        self.M1S1M2S2_SendCommand(0xE3)
        self.M1S1M2S2_SendData(0x00)

        self.M1_SendCommand(0x82)
        self.M1_SendData(0x1c)
        self.M2_SendCommand(0x82)
        self.M2_SendData(0x1c)

        self.SetLut()