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()
Exemple #4
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))
Exemple #5
0
    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))
Exemple #6
0
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
Exemple #7
0
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()

Exemple #8
0
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()