def gpio_input(pinId, inputTime): """ Receive a logic value from a GPIO pin """ """ TODO: Don't change pin to input, but read file instead """ #insertDebugLog(NOTICE, "GPIO input from: {}".format(pinId), CDH, int(time.time())) pinId = SensorEntropy.get_gpio_pin(pinId) pin = Pin(pinId,'INPUT') return pin.digitalRead() != 0
def ReadData(self): SHT_CLK = Pin(self.PIN_CLK, 'OUTPUT') SHT_DATA_IN = Pin(self.PIN_DATA, 'INPUT') #Read 8 MSB byte = 0 for i in range(8): SHT_CLK.on() byte = byte * 2 + SHT_DATA_IN.digitalRead() SHT_CLK.off() #ACK actualTime = time.time() ACK = SHT_DATA_IN.digitalRead() while ACK == 0 & ((actualTime + 0.1) > time.time()): ACK = SHT_DATA_IN.digitalRead() SHT_DATA_OUT = Pin(self.PIN_DATA, 'OUTPUT') SHT_DATA_OUT.off() usleep(1) SHT_CLK.on() usleep(400) SHT_CLK.off() SHT_DATA_IN = Pin(self.PIN_DATA, 'INPUT') #Read 8 LSB for i in range(8): SHT_CLK.on() byte = byte * 2 + SHT_DATA_IN.digitalRead() SHT_CLK.off() #CRC SHT_DATA_OUT = Pin(self.PIN_DATA, 'OUTPUT') SHT_DATA_OUT.on() SHT_CLK.on() usleep(400) SHT_CLK.off() SHT_DATA_OUT.off() return byte
def SendByte(self, byte): SHT_DATA_OUT = Pin(self.PIN_DATA, 'OUTPUT') SHT_CLK = Pin(self.PIN_CLK, 'OUTPUT') tmp = 0x80 for i in range(8): if byte & tmp: SHT_DATA_OUT.on() else: SHT_DATA_OUT.off() SHT_CLK.on() SHT_CLK.off() tmp = tmp / 2 SHT_CLK.on() SHT_DATA_IN = Pin(self.PIN_DATA, 'INPUT') #ACK Check actualTime = time.time() ACK = SHT_DATA_IN.digitalRead() while ACK == 1 & ((actualTime + 0.1) > time.time()): ACK = SHT_DATA_IN.digitalRead() SHT_CLK.off() #Wait conversion Start actualTime = time.time() ACK = SHT_DATA_IN.digitalRead() while ACK == 0 & ((actualTime + 0.1) > time.time()): ACK = SHT_DATA_IN.digitalRead() #Wait conversion End actualTime = time.time() ACK = SHT_DATA_IN.digitalRead() while ACK == 1 & ((actualTime + 0.5) > time.time()): ACK = SHT_DATA_IN.digitalRead()
buff = None return buff, t t1 = 0 t2 = BUFFER_SIZE buffer1 = [] buffer2 = [] run_time = datetime.timedelta(seconds=60) until_time = datetime.datetime.now() + run_time print("Sampling from " + datetime.datetime.now().strftime("%H:%M:%S.%f") + " to " + until_time.strftime("%H:%M:%S.%f")) while datetime.datetime.now() < until_time: io = DRDYOUT.digitalRead() if io == 0: print(t1, t2) # Storing in buffer 1 if t1 < BUFFER_SIZE and t2 == BUFFER_SIZE: buffer1.append(m.read_adc_data()) t1 += 1 elif t1 == BUFFER_SIZE and t2 == BUFFER_SIZE: buffer1.append(m.read_adc_data()) print("Buffer 1 full... saving in file") print("t1a: " + str(t1)) # Creating independent thread to save buffer in file thread_save = Thread(target=write_file, args=(fd, buffer1, t1)) thread_save.start() print("t1b: " + str(t1))
t = 0 buff = None return buff, t t1 = 0 t2 = BUFFER_SIZE buffer1 = [] buffer2 = [] run_time = datetime.timedelta(seconds=60) until_time = datetime.datetime.now() + run_time print("Sampling from " + datetime.datetime.now().strftime("%H:%M:%S.%f") + " to " + until_time.strftime("%H:%M:%S.%f")) while datetime.datetime.now() < until_time: io = DRDYOUT.digitalRead() if io == 0: print(t1, t2) # Storing in buffer 1 if t1 < BUFFER_SIZE and t2 == BUFFER_SIZE: buffer1.append(m.read_adc_data()) t1 += 1 elif t1 == BUFFER_SIZE and t2 == BUFFER_SIZE: buffer1.append(m.read_adc_data()) print("Buffer 1 full... saving in file") print("t1a: " + str(t1)) # Creating independent thread to save buffer in file thread_save = Thread(target=write_file, args=(fd, buffer1, t1)) thread_save.start() print("t1b: " + str(t1))
import lampio import time from ablib import Pin def buttonPressed(button): lampio.writeFile("mode", lampio.readFile("buttons")[button]) # Main program PB0=Pin('W11','INPUT') PB1=Pin('W12','INPUT') while True: if (PB0.digitalRead()==0): buttonPressed(0) while PB0.digitalRead()==0: pass if (PB1.digitalRead()==0): buttonPressed(1) while PB1.digitalRead()==0: pass
from ablib import Pin from time import sleep led = Pin('W9','OUTPUT') button = Pin('W15','INPUT') while True: if button.digitalRead()==0: led.on() else: led.off()
from ablib import Pin from time import sleep led = Pin('W9', 'OUTPUT') button = Pin('W15', 'INPUT') while True: if button.digitalRead() == 0: led.on() else: led.off()