summaryrefslogtreecommitdiff
path: root/tests/wipy/i2c.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/wipy/i2c.py')
-rw-r--r--tests/wipy/i2c.py175
1 files changed, 0 insertions, 175 deletions
diff --git a/tests/wipy/i2c.py b/tests/wipy/i2c.py
deleted file mode 100644
index 39dcdc722..000000000
--- a/tests/wipy/i2c.py
+++ /dev/null
@@ -1,175 +0,0 @@
-'''
-I2C test for the CC3200 based boards.
-A MPU-9150 sensor must be connected to the I2C bus.
-'''
-
-from machine import I2C
-import os
-import time
-
-mch = os.uname().machine
-if 'LaunchPad' in mch:
- i2c_pins = ('GP11', 'GP10')
-elif 'WiPy' in mch:
- i2c_pins = ('GP15', 'GP10')
-else:
- raise Exception('Board not supported!')
-
-i2c = I2C(0, I2C.MASTER, baudrate=400000)
-# try initing without the peripheral id
-i2c = I2C()
-print(i2c)
-i2c = I2C(mode=I2C.MASTER, baudrate=50000, pins=i2c_pins)
-print(i2c)
-
-i2c = I2C(0, I2C.MASTER, baudrate=100000)
-print(i2c)
-i2c = I2C(0, mode=I2C.MASTER, baudrate=400000)
-print(i2c)
-i2c = I2C(0, mode=I2C.MASTER, baudrate=400000, pins=i2c_pins)
-print(i2c)
-
-addr = i2c.scan()[0]
-print(addr)
-
-reg = bytearray(1)
-reg2 = bytearray(2)
-reg2_r = bytearray(2)
-
-# reset the sensor
-reg[0] |= 0x80
-print(1 == i2c.writeto_mem(addr, 107, reg))
-time.sleep_ms(100) # wait for the sensor to reset...
-
-print(1 == i2c.readfrom_mem_into(addr, 107, reg)) # read the power management register 1
-print(0x40 == reg[0])
-
-# now just read one byte
-data = i2c.readfrom_mem(addr, 117, 1) # read the "who am I?" register
-print(0x68 == data[0])
-print(len(data) == 1)
-print(1 == i2c.readfrom_mem_into(addr, 117, reg)) # read the "who am I?" register again
-print(0x68 == reg[0])
-
-# now try reading two bytes
-data = i2c.readfrom_mem(addr, 116, 2) # read the "who am I?" register
-print(0x68 == data[1])
-print(data == b'\x00\x68')
-print(len(data) == 2)
-print(2 == i2c.readfrom_mem_into(addr, 116, reg2)) # read the "who am I?" register again
-print(0x68 == reg2[1])
-print(reg2 == b'\x00\x68')
-
-print(1 == i2c.readfrom_mem_into(addr, 107, reg)) # read the power management register 1
-print(0x40 == reg[0])
-# clear the sleep bit
-reg[0] = 0
-print(1 == i2c.writeto_mem(addr, 107, reg))
-# read it back
-i2c.readfrom_mem_into(addr, 107, reg)
-print(0 == reg[0])
-
-# set the sleep bit
-reg[0] = 0x40
-print(1 == i2c.writeto_mem(addr, 107, reg))
-# read it back
-i2c.readfrom_mem_into(addr, 107, reg)
-print(0x40 == reg[0])
-
-# reset the sensor
-reg[0] |= 0x80
-print(1 == i2c.writeto_mem(addr, 107, reg))
-time.sleep_ms(100) # wait for the sensor to reset...
-
-# now read and write two register at a time
-print(2 == i2c.readfrom_mem_into(addr, 107, reg2))
-print(0x40 == reg2[0])
-print(0x00 == reg2[1])
-# clear the sleep bit
-reg2[0] = 0
-# set some other bits
-reg2[1] |= 0x03
-print(2 == i2c.writeto_mem(addr, 107, reg2))
-# read it back
-i2c.readfrom_mem_into(addr, 107, reg2_r)
-print(reg2 == reg2_r)
-
-# reset the sensor
-reg[0] = 0x80
-print(1 == i2c.writeto_mem(addr, 107, reg))
-time.sleep_ms(100) # wait for the sensor to reset...
-
-# try some raw read and writes
-reg[0] = 117 # register address
-print(1 == i2c.writeto(addr, reg, stop=False)) # just write the register address
-# now read
-print(1 == i2c.readfrom_into(addr, reg))
-print(reg[0] == 0x68)
-reg[0] = 117 # register address
-print(1 == i2c.writeto(addr, reg, stop=False)) # just write the register address
-# now read
-print(0x68 == i2c.readfrom(addr, 1)[0])
-
-i2c.readfrom_mem_into(addr, 107, reg2)
-print(0x40 == reg2[0])
-print(0x00 == reg2[1])
-
-reg2[0] = 107 # register address
-reg2[1] = 0
-print(2 == i2c.writeto(addr, reg2, stop=True)) # write the register address and the data
-i2c.readfrom_mem_into(addr, 107, reg) # check it back
-print(reg[0] == 0)
-
-# check for memory leaks...
-for i in range (0, 1000):
- i2c = I2C(0, I2C.MASTER, baudrate=100000)
-
-# test deinit
-i2c = I2C(0, I2C.MASTER, baudrate=100000)
-i2c.deinit()
-print(i2c)
-
-# next ones should raise
-try:
- i2c.scan()
-except Exception:
- print("Exception")
-
-try:
- i2c.readfrom(addr, 1)
-except Exception:
- print("Exception")
-
-try:
- i2c.readfrom_into(addr, reg)
-except Exception:
- print("Exception")
-
-try:
- i2c.readfrom_mem_into(addr, 107, reg)
-except Exception:
- print("Exception")
-
-try:
- i2c.writeto(addr, reg, stop=False)
-except Exception:
- print("Exception")
-
-try:
- i2c.writeto_mem(addr, 107, reg)
-except Exception:
- print("Exception")
-
-try:
- i2c.readfrom_mem(addr, 116, 2)
-except Exception:
- print("Exception")
-
-try:
- I2C(1, I2C.MASTER, baudrate=100000)
-except Exception:
- print("Exception")
-
-# reinitialization must work
-i2c.init(baudrate=400000)
-print(i2c)