コード例 #1
0
 def ADS1263_GetAll_ADC2(self):
     ADC_Value = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
     for i in range(0, 10, 1):
         ADC_Value[i] = self.ADS1263_GetChannalValue_ADC2(i)
         self.ADS1263_WriteCmd(ADS1263_CMD['CMD_STOP2'])
         config.delay_ms(20)
     print("--- Read ADC2 value success ---")
     return ADC_Value
コード例 #2
0
    def ADS1256_GetVibrate(self, channel):
        while (config.digital_read(self.drdy_pin) == 1):
            pass

        self.ADS1256_SetDiffChannal(channel)
        self.ADS1256_WriteCmd(CMD['CMD_SYNC'])
        config.delay_ms(10)
        self.ADS1256_WriteCmd(CMD['CMD_WAKEUP'])
        config.delay_ms(10)
        Value = self.ADS1256_Read_ADC_Data()
        return Value
コード例 #3
0
 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
コード例 #4
0
    def ADS1256_ReadReg(self, _RegID):
        '''Read  the corresponding register'''
        config.digital_write(self.cs_pin, GPIO.LOW)
        self.ADS1256_SendData(CMD['CMD_RREG'] | _RegID)
        self.ADS1256_SendData(0x00)

        config.delay_ms(1)

        read_data = config.spi_readbytes(0xff)

        config.digital_write(self.cs_pin, GPIO.HIGH)
        return read_data[0]
コード例 #5
0
 def ADS1256_GetAll(self):
     print(" ADS1256_GetAll")
     adc = [0, 0, 0, 0, 0, 0, 0, 0]  # -1.0
     volt = [0, 0, 0, 0, 0, 0, 0, 0]  # -2.0
     while True:
         if (self.ADS1256_Scan() == 1):
             for i in range(0, 8):
                 adc[i] = self.ADS1256_GetAdc(i)
                 volt[i] = (adc[i] * 100) / 167 / 100000.0
                 print("i = ", i, "adc= ", adc[i], "volt = ", volt[i])
         else:
             print("NO scan performed!")
         config.delay_ms(100)
コード例 #6
0
 def ADS1256_GetChannalValue(self, Channel):
     while(config.digital_read(self.drdy_pin) == 1):
         pass
     if(ScanMode == 0):# 0  Single-ended input  8 channel1 Differential input  4 channe 
         if(Channel>=8):
             return 0
         elif(Channel == 7):
             Channel = 0
         else :
             Channel = Channel + 1
         self.ADS1256_SetChannal(Channel)
         self.ADS1256_WriteCmd(CMD['CMD_SYNC'])
         config.delay_ms(10)
         self.ADS1256_WriteCmd(CMD['CMD_WAKEUP'])
         config.delay_ms(10)
         Value = self.ADS1256_Read_ADC_Data()
     else:
         if(Channel>=4):
             return 0
         self.ADS1256_SetDiffChannal(Channel)
         self.ADS1256_WriteCmd(CMD['CMD_SYNC'])
         config.delay_ms(10) 
         self.ADS1256_WriteCmd(CMD['CMD_WAKEUP'])
         config.delay_ms(10) 
         Value = self.ADS1256_Read_ADC_Data()
     return Value
コード例 #7
0
 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) 
コード例 #8
0
 def ADS1256_GetoneChannel(self, Channel):
     print(" ADS1256_GetAll")
     adc = [0, 0, 0, 0, 0, 0, 0, 0]  # -1.0
     volt = [0, 0, 0, 0, 0, 0, 0, 0]  # -2.0
     while True:
         if (self.ADS1256_Scan() == 1):
             adc[Channel] = self.ADS1256_GetAdc(Channel)
             volt[Channel] = (adc[Channel] * 100) / 167 / 100000.0
             # print("i = ", Channel, "adc= ", adc[Channel], "volt = ", volt[Channel])
             return adc[Channel]
         else:
             # print("NO scan performed!")
             pass
         config.delay_ms(100)
コード例 #9
0
 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
コード例 #10
0
    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
コード例 #11
0
 def ADS1263_reset(self):
     config.digital_write(self.rst_pin, GPIO.HIGH)
     config.delay_ms(200)
     config.digital_write(self.rst_pin, GPIO.LOW)
     config.delay_ms(200)
     config.digital_write(self.rst_pin, GPIO.HIGH)
     config.delay_ms(200)
コード例 #12
0
 def ADS1263_GetChannalValue_ADC2(self, Channel):
     if (
             ScanMode == 0
     ):  # 0  Single-ended input  8 channel1 Differential input  4 channe
         if (Channel > 10):
             return 0
         self.ADS1263_SetChannal_ADC2(Channel)
         config.delay_ms(2)
         self.ADS1263_WriteCmd(ADS1263_CMD['CMD_START2'])
         config.delay_ms(2)
         Value = self.ADS1263_Read_ADC2_Data()
     else:
         if (Channel > 4):
             return 0
         self.ADS1263_SetDiffChannal_ADC2(Channel)
         config.delay_ms(2)
         self.ADS1263_WriteCmd(ADS1263_CMD['CMD_START2'])
         config.delay_ms(2)
         Value = self.ADS1263_Read_AD2C_Data()
     return Value
コード例 #13
0
    def ADS1263_RTD_Test(self):
        Delay = ADS1263_DELAY['ADS1263_DELAY_8d8ms']
        Gain = ADS1263_GAIN['ADS1263_GAIN_1']
        Drate = ADS1263_DRATE['ADS1263_20SPS']

        #MODE0 (CHOP OFF)
        MODE0 = Delay
        self.ADS1263_WriteReg(ADS1263_REG['REG_MODE0'], MODE0)
        config.delay_ms(1)

        #(IDACMUX) IDAC2 AINCOM,IDAC1 AIN3
        IDACMUX = (0x0a << 4) | 0x03
        self.ADS1263_WriteReg(ADS1263_REG['REG_IDACMUX'], IDACMUX)
        config.delay_ms(1)

        #((IDACMAG)) IDAC2 = IDAC1 = 250uA
        IDACMAG = (0x03 << 4) | 0x03
        self.ADS1263_WriteReg(ADS1263_REG['REG_IDACMAG'], IDACMAG)
        config.delay_ms(1)

        MODE2 = (Gain << 4) | Drate
        self.ADS1263_WriteReg(ADS1263_REG['REG_MODE2'], MODE2)
        config.delay_ms(1)

        #INPMUX (AINP = AIN7, AINN = AIN6)
        INPMUX = (0x07 << 4) | 0x06
        self.ADS1263_WriteReg(ADS1263_REG['REG_INPMUX'], INPMUX)
        config.delay_ms(1)

        # REFMUX AIN4 AIN5
        REFMUX = (0x03 << 3) | 0x03
        self.ADS1263_WriteReg(ADS1263_REG['REG_REFMUX'], REFMUX)
        config.delay_ms(1)

        #Read one conversion
        self.ADS1263_WriteCmd(ADS1263_CMD['CMD_START1'])
        config.delay_ms(10)
        self.ADS1263_WaitDRDY()
        Value = self.ADS1263_Read_ADC_Data()
        self.ADS1263_WriteCmd(ADS1263_CMD['CMD_STOP1'])

        return Value