def ADS1256_Read_data(self, reg): config.digital_write(self.cs_pin, GPIO.LOW) # cs 0 config.spi_writebyte([CMD["CMD_RREG"] | reg, 0x00]) data = config.spi_readbytes(1) config.digital_write(self.cs_pin, GPIO.HIGH) # cs 1 return data
def ADS1256_Read_ADC_Data(self): config.digital_write(self.cs_pin, GPIO.LOW)#cs 0 config.spi_writebyte([CMD['CMD_RDATA']]) config.delay_ms(10) buf = config.spi_readbytes(3) config.digital_write(self.cs_pin, GPIO.HIGH)#cs 1 read = (buf[0]<<16) & 0xff0000 read |= (buf[1]<<8) & 0xff00 read |= (buf[2]) & 0xff if (read & 0x800000): read |= 0xFF000000 return read
def ADS1256_ConfigADC(self, gain, drate): self.ADS1256_WaitDRDY() buf = [0,0,0,0,0,0,0,0] buf[0] = (0<<3) | (1<<2) | (0<<1) buf[1] = 0x08 buf[2] = (0<<5) | (0<<3) | (gain<<0) buf[3] = drate config.digital_write(self.cs_pin, GPIO.LOW)#cs 0 config.spi_writebyte([CMD['CMD_WREG'] | 0, 0x03]) config.spi_writebyte(buf) config.digital_write(self.cs_pin, GPIO.HIGH)#cs 1 config.delay_ms(1)
def ADS1256_Read_ADC_Data(self): self.ADS1256_WaitDRDY() config.digital_write(self.cs_pin, GPIO.LOW) # cs 0 config.spi_writebyte([CMD["CMD_RDATA"]]) # config.delay_ms(10) buf = config.spi_readbytes(3) config.digital_write(self.cs_pin, GPIO.HIGH) # cs 1 read = (buf[0] << 16) & 0xFF0000 read |= (buf[1] << 8) & 0xFF00 read |= (buf[2]) & 0xFF if read & 0x800000: read &= 0xF000000 return read
def ADS1256_Read_ADC_Data(self): self.ADS1256_WaitDRDY() config.digital_write(self.cs_pin, GPIO.LOW)#cs 0 config.spi_writebyte([CMD['CMD_RDATA']]) buf = [0,0,0] buf[0] = config.spi_readbytes(0xff) buf[1] = config.spi_readbytes(0xff) buf[2] = config.spi_readbytes(0xff) config.digital_write(self.cs_pin, GPIO.HIGH)#cs 1 read = (buf[0]<<16) & 0xff0000 read |= (buf[1]<<8) & 0xff00 read |= (buf[2]) & 0xff if (read & 0x800000): read &= 0xF000000 return read
def ShowImage(self, pBuf): for page in range(0,8): # set page address # self.command(0xB0 + page); # set low column address # self.command(0x02); # set high column address # self.command(0x10); # write data # time.sleep(0.01) if(self.Device == Device_SPI): GPIO.output(self._dc, GPIO.HIGH); for i in range(0,self.width):#for(int i=0;i<self.width; i++) if(self.Device == Device_SPI): config.spi_writebyte([~pBuf[i+self.width*page]]); else : config.i2c_writebyte(0x40, ~pBuf[i+self.width*page])
def ADS1263_Read_ADC2_Data(self): read = 0 config.digital_write(self.cs_pin, GPIO.LOW) #cs 0 while (1): config.spi_writebyte([ADS1263_CMD['CMD_RDATA2']]) config.delay_ms(10) if (config.spi_readbytes(1)[0] & 0x80 != 0): break buf = config.spi_readbytes(5) config.digital_write(self.cs_pin, GPIO.HIGH) #cs 1 read |= (buf[0] << 16) & 0xff0000 read |= (buf[1] << 8) & 0xff00 read |= (buf[2]) & 0xff CRC = buf[4] if (self.ADS1263_CheckSum(read, CRC) != 0): print("ADC2 data read error!") return read
def ADS1256_ConfigADC( self, gain=ADS1256_GAIN_E.get("ADS1256_GAIN_1"), drate=ADS1256_DRATE_E.get("ADS1256_30000SPS"), ): self.ADS1256_WaitDRDY() buf = [0, 0, 0, 0, 0, 0, 0, 0] buf[0] = (0 << 3) | (1 << 2) | (0 << 1) buf[1] = 0x08 buf[2] = (0 << 5) | (0 << 3) | (gain << 0) buf[3] = drate config.digital_write(self.cs_pin, GPIO.LOW) # cs 0 config.spi_writebyte([CMD["CMD_WREG"] | 0, 0x03]) config.spi_writebyte(buf) config.digital_write(self.cs_pin, GPIO.HIGH) # cs 1 config.delay_ms(1) return 0
def ADS1256_WriteReg(self, reg, data): config.digital_write(self.cs_pin, GPIO.LOW) # cs 0 config.spi_writebyte([CMD["CMD_WREG"] | reg, 0x00, data]) config.digital_write(self.cs_pin, GPIO.HIGH) # cs 1
def ADS1256_WriteCmd(self, reg): config.digital_write(self.cs_pin, GPIO.LOW) # cs 0 config.spi_writebyte([reg]) config.digital_write(self.cs_pin, GPIO.HIGH) # cs 1
def command(self, cmd): if(self.Device == Device_SPI): GPIO.output(self._dc, GPIO.LOW) config.spi_writebyte([cmd]) else: config.i2c_writebyte(0x00, cmd)
def ADS1263_ReadData(self, reg): config.digital_write(self.cs_pin, GPIO.LOW) #cs 0 config.spi_writebyte([ADS1263_CMD['CMD_RREG'] | reg, 0x00]) data = config.spi_readbytes(1) config.digital_write(self.cs_pin, GPIO.HIGH) #cs 1 return data
def LCD_WriteData_NLen16Bit(self, Data, DataLen): GPIO.output(config.DC_PIN, GPIO.HIGH) for i in range(0, DataLen): config.spi_writebyte([Data >> 8]) config.spi_writebyte([Data & 0xff])
def LCD_WriteData_8bit(self, Data): GPIO.output(config.DC_PIN, GPIO.HIGH) config.spi_writebyte([Data])
def LCD_WriteReg(self, Reg): GPIO.output(config.DC_PIN, GPIO.LOW) config.spi_writebyte([Reg])
def DAC8532_Write_Data(self, Channel, Data): config.digital_write(self.cs_pin, GPIO.LOW) #cs 0 config.spi_writebyte([Channel, Data >> 8, Data & 0xff]) config.digital_write(self.cs_pin, GPIO.HIGH) #cs 0
def ADS1256_SendData(self, data): config.spi_writebyte([data])