Skip to content

Commit 19dedff

Browse files
committed
reverts changes to I2C driver
1 parent 336b459 commit 19dedff

File tree

5 files changed

+132
-147
lines changed

5 files changed

+132
-147
lines changed

api_drivers/common_api_drivers/frozen/other/i2c.py

Lines changed: 130 additions & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -2,145 +2,133 @@
22

33
import machine
44

5-
# for backwards compatability
6-
I2C = machine.I2C
7-
8-
#
9-
#
10-
# class I2C(object):
11-
# class Bus(object):
12-
#
13-
# def __init__(self, host, scl, sda, freq=400000, use_locks=False, pullup=False):
14-
#
15-
# if pullup:
16-
# scl = machine.Pin(scl, pull=machine.Pin.PULL_UP)
17-
# sda = machine.Pin(sda, pull=machine.Pin.PULL_UP)
18-
# else:
19-
# scl = machine.Pin(scl)
20-
# sda = machine.Pin(sda)
21-
#
22-
# self._bus = machine.I2C(
23-
# host,
24-
# scl=scl,
25-
# sda=sda,
26-
# freq=freq
27-
# )
28-
#
29-
# if use_locks:
30-
# import _thread
31-
# self._lock = _thread.allocate_lock()
32-
# else:
33-
# class Lock(object):
34-
#
35-
# @staticmethod
36-
# def acquire():
37-
# pass
38-
#
39-
# @staticmethod
40-
# def release():
41-
# pass
42-
#
43-
# @staticmethod
44-
# def is_locked():
45-
# return False
46-
#
47-
# self._lock = Lock
48-
#
49-
# def __enter__(self):
50-
# self._lock.acquire()
51-
# return self
52-
#
53-
# def __exit__(self, exc_type, exc_val, exc_tb):
54-
# self._lock.release()
55-
#
56-
# def scan(self):
57-
# self._lock.acquire()
58-
# data = self._bus.scan()
59-
# self._lock.release()
60-
# return data
61-
#
62-
# def start(self):
63-
# self._bus.start()
64-
#
65-
# def stop(self):
66-
# self._bus.stop()
67-
#
68-
# def readinto(self, buf, nack=True):
69-
# self._bus.readinto(buf, nack)
70-
#
71-
# def write(self, buf):
72-
# self._bus.write(buf)
73-
#
74-
# def readfrom(self, addr, nbytes, stop=True):
75-
# return self._bus.readfrom(addr, nbytes, stop)
76-
#
77-
# def readfrom_into(self, addr, buf, stop=True):
78-
# self._bus.readfrom_into(addr, buf, stop)
79-
#
80-
# def writeto(self, addr, buf, stop=True):
81-
# self._bus.writeto(addr, buf, stop)
82-
#
83-
# def writevto(self, addr, vector, stop=True):
84-
# self._bus.writevto(addr, vector, stop)
85-
#
86-
# def readfrom_mem(self, addr, memaddr, nbytes, addrsize=8):
87-
# return self._bus.readfrom_mem(addr, memaddr,
88-
# nbytes, addrsize=addrsize)
89-
#
90-
# def readfrom_mem_into(self, addr, memaddr, buf, addrsize=8):
91-
# self._bus.readfrom_mem_into(addr, memaddr, buf, addrsize=addrsize)
92-
#
93-
# def writeto_mem(self, addr, memaddr, buf, addrsize=8):
94-
# self._bus.writeto_mem(addr, memaddr, buf, addrsize=addrsize)
95-
#
96-
# class Device(object):
97-
#
98-
# def __init__(self, bus, dev_id, reg_bits=8):
99-
# self._bus = bus
100-
# self.dev_id = dev_id
101-
# self._reg_bits = reg_bits
102-
#
103-
# def write_readinto(self, write_buf, read_buf):
104-
# memaddr = 0
105-
#
106-
# for i in range(int(self._reg_bits / 8) - 1, -1, -1):
107-
# memaddr |= write_buf[i] << ((~i + int(self._reg_bits / 8)) * 8)
108-
#
109-
# self.read_mem(memaddr, buf=read_buf)
110-
#
111-
# def read_mem(self, memaddr, num_bytes=None, buf=None):
112-
# with self._bus:
113-
# if num_bytes is not None:
114-
# return self._bus.readfrom_mem(
115-
# self.dev_id,
116-
# memaddr,
117-
# num_bytes,
118-
# addrsize=self._reg_bits
119-
# )
120-
# else:
121-
# self._bus.readfrom_mem_into(
122-
# self.dev_id,
123-
# memaddr,
124-
# buf,
125-
# addrsize=self._reg_bits
126-
# )
127-
# return
128-
#
129-
# def write_mem(self, memaddr, buf):
130-
# with self._bus:
131-
# self._bus.writeto_mem(
132-
# self.dev_id,
133-
# memaddr,
134-
# buf,
135-
# addrsize=self._reg_bits
136-
# )
137-
#
138-
# def read(self, num_bytes=None, buf=None):
139-
# with self._bus:
140-
# if num_bytes is not None:
141-
# return self._bus.readfrom(self.dev_id, num_bytes)
142-
# else:
143-
# self._bus.readfrom_into(self.dev_id, buf)
144-
#
145-
# def write(self, buf):
146-
# self._bus.writeto(self.dev_id, buf)
5+
6+
class I2C(object):
7+
class Bus(object):
8+
9+
def __init__(self, host, scl, sda, freq=400000, use_locks=False):
10+
self._bus = machine.I2C(
11+
host,
12+
scl=machine.Pin(scl),
13+
sda=machine.Pin(sda),
14+
freq=freq
15+
)
16+
17+
if use_locks:
18+
import _thread
19+
self._lock = _thread.allocate_lock()
20+
else:
21+
class Lock(object):
22+
23+
@staticmethod
24+
def acquire():
25+
pass
26+
27+
@staticmethod
28+
def release():
29+
pass
30+
31+
@staticmethod
32+
def is_locked():
33+
return False
34+
35+
self._lock = Lock
36+
37+
def __enter__(self):
38+
self._lock.acquire()
39+
return self
40+
41+
def __exit__(self, exc_type, exc_val, exc_tb):
42+
self._lock.release()
43+
44+
def scan(self):
45+
self._lock.acquire()
46+
data = self._bus.scan()
47+
self._lock.release()
48+
return data
49+
50+
def start(self):
51+
self._bus.start()
52+
53+
def stop(self):
54+
self._bus.stop()
55+
56+
def readinto(self, buf, nack=True):
57+
self._bus.readinto(buf, nack)
58+
59+
def write(self, buf):
60+
self._bus.write(buf)
61+
62+
def readfrom(self, addr, nbytes, stop=True):
63+
return self._bus.readfrom(addr, nbytes, stop)
64+
65+
def readfrom_into(self, addr, buf, stop=True):
66+
self._bus.readfrom_into(addr, buf, stop)
67+
68+
def writeto(self, addr, buf, stop=True):
69+
self._bus.writeto(addr, buf, stop)
70+
71+
def writevto(self, addr, vector, stop=True):
72+
self._bus.writevto(addr, vector, stop)
73+
74+
def readfrom_mem(self, addr, memaddr, nbytes, addrsize=8):
75+
return self._bus.readfrom_mem(addr, memaddr,
76+
nbytes, addrsize=addrsize)
77+
78+
def readfrom_mem_into(self, addr, memaddr, buf, addrsize=8):
79+
self._bus.readfrom_mem_into(addr, memaddr, buf, addrsize=addrsize)
80+
81+
def writeto_mem(self, addr, memaddr, buf, addrsize=8):
82+
self._bus.writeto_mem(addr, memaddr, buf, addrsize=addrsize)
83+
84+
class Device(object):
85+
86+
def __init__(self, bus, dev_id, reg_bits=8):
87+
self._bus = bus
88+
self.dev_id = dev_id
89+
self._reg_bits = reg_bits
90+
91+
def write_readinto(self, write_buf, read_buf):
92+
memaddr = 0
93+
94+
for i in range(int(self._reg_bits / 8) - 1, -1, -1):
95+
memaddr |= write_buf[i] << ((~i + int(self._reg_bits / 8)) * 8)
96+
97+
self.read_mem(memaddr, buf=read_buf)
98+
99+
def read_mem(self, memaddr, num_bytes=None, buf=None):
100+
with self._bus:
101+
if num_bytes is not None:
102+
return self._bus.readfrom_mem(
103+
self.dev_id,
104+
memaddr,
105+
num_bytes,
106+
addrsize=self._reg_bits
107+
)
108+
else:
109+
self._bus.readfrom_mem_into(
110+
self.dev_id,
111+
memaddr,
112+
buf,
113+
addrsize=self._reg_bits
114+
)
115+
return
116+
117+
def write_mem(self, memaddr, buf):
118+
with self._bus:
119+
self._bus.writeto_mem(
120+
self.dev_id,
121+
memaddr,
122+
buf,
123+
addrsize=self._reg_bits
124+
)
125+
126+
def read(self, num_bytes=None, buf=None):
127+
with self._bus:
128+
if num_bytes is not None:
129+
return self._bus.readfrom(self.dev_id, num_bytes)
130+
else:
131+
self._bus.readfrom_into(self.dev_id, buf)
132+
133+
def write(self, buf):
134+
self._bus.writeto(self.dev_id, buf)

api_drivers/common_api_drivers/indev/cst328.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88

99
I2C_ADDR = 0x1A
10-
BITS = 8
10+
BITS = 16
1111

1212
# 4 byte read
1313
# PROJECT_ID = byte2 << 8 | byte3
@@ -80,7 +80,7 @@ def __init__(
8080
startup_rotation=pointer_framework.lv.DISPLAY_ROTATION._0,
8181
debug=False
8282
):
83-
self._tx_buf = bytearray(2)
83+
self._tx_buf = bytearray(3)
8484
self._tx_mv = memoryview(self._tx_buf)
8585
self._rx_buf = bytearray(6)
8686
self._rx_mv = memoryview(self._rx_buf)

builder/esp32.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1217,7 +1217,6 @@ def update_main():
12171217
'#include "../../../../ext_mod/lcd_bus/esp32_include/i2c_bus.h"',
12181218
'#include "../../../../ext_mod/spi3wire/include/spi3wire.h"',
12191219
'#include "../../../../micropy_updates/common/mp_spi_common.h"',
1220-
'#include "../../../../micropy_updates/common/mp_i2c_common.h"',
12211220
'',
12221221
'#if MICROPY_BLUETOOTH_NIMBLE'
12231222
]
@@ -1246,8 +1245,6 @@ def update_main():
12461245
' mp_spi3wire_deinit_all();',
12471246
' ',
12481247
' mp_machine_hw_spi_bus_deinit_all();'
1249-
' ',
1250-
' mp_machine_hw_i2c_bus_deinit_all();'
12511248
]
12521249

12531250
data = data.replace(

0 commit comments

Comments
 (0)