Skip to content

Commit 8973783

Browse files
committed
makes some changes to the calibration data code.
1 parent 7673e08 commit 8973783

File tree

1 file changed

+32
-32
lines changed

1 file changed

+32
-32
lines changed

api_drivers/py_api_drivers/frozen/indev/touch_calibration/touch_cal_data.py

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import lcd_utils
22
import struct
3+
import sys
34

45
try:
56
from esp32 import NVS # NOQA
@@ -95,30 +96,34 @@ class TouchCalData(object):
9596
def __init__(self, name):
9697
self._config = NVS(name)
9798

98-
blob = bytearray(24)
99+
blob = bytearray(26)
100+
mv = memoryview(blob)
99101
try:
100-
self._config.get_blob("ts_config", blob)
102+
self._config.get_blob("ts_config", mv)
103+
except OSError as err:
104+
sys.print_exception(err)
101105

102-
except OSError:
103106
self._alphaX = None
104107
self._betaX = None
105108
self._deltaX = None
106109
self._alphaY = None
107110
self._betaY = None
108111
self._deltaY = None
109-
self._mirror = None
112+
self._mirror_x = None
113+
self._mirror_y = None
110114
else:
111115
(
112-
alphaX, betaX, deltaX, alphaY, betaY, deltaY, mirror
113-
) = struct.unpack("<IIIIIIB", blob)
116+
alphaX, betaX, deltaX, alphaY, betaY, deltaY, mirror_x, mirror_y
117+
) = struct.unpack("<IIIIIIBB", blob)
114118

115119
self._alphaX = round(lcd_utils.int_float_converter(alphaX), 7)
116120
self._betaX = round(lcd_utils.int_float_converter(betaX), 7)
117121
self._deltaX = round(lcd_utils.int_float_converter(deltaX), 7)
118122
self._alphaY = round(lcd_utils.int_float_converter(alphaY), 7)
119123
self._betaY = round(lcd_utils.int_float_converter(betaY), 7)
120124
self._deltaY = round(lcd_utils.int_float_converter(deltaY), 7)
121-
self._mirror = mirror
125+
self._mirror_x = bool(mirror_x)
126+
self._mirror_y = bool(mirror_y)
122127

123128
self._is_dirty = False
124129

@@ -131,7 +136,8 @@ def save(self):
131136
self._alphaY,
132137
self._betaY,
133138
self._deltaY,
134-
self._mirror
139+
self._mirror_x,
140+
self._mirror_y
135141
):
136142
self._config.erase('ts_config')
137143

@@ -144,49 +150,41 @@ def save(self):
144150
deltaY = lcd_utils.int_float_converter(self._deltaY)
145151

146152
blob = struct.pack(
147-
'<IIIIIIB',
148-
alphaX, betaX, deltaX, alphaY, betaY, deltaY, self._mirror
153+
'<IIIIIIBB',
154+
alphaX, betaX, deltaX, alphaY, betaY, deltaY,
155+
int(self._mirror_x), int(self._mirror_y)
149156
)
150157

151-
self._config.set_blob("ts_config", blob)
158+
blob = bytearray(blob)
159+
mv = memoryview(blob)
160+
161+
self._config.set_blob("ts_config", mv)
152162

153163
self._config.commit()
154164

155165
@property
156166
def mirrorX(self):
157-
if self._mirror is None:
158-
return None
159-
160-
return bool(self._mirror >> 1 & 0x1)
167+
return self._mirror_x
161168

162169
@mirrorX.setter
163170
def mirrorX(self, value):
164-
if self._mirror is None:
165-
self._mirror = 0
166-
167-
if value:
168-
self._mirror |= 0x2
171+
if value is None:
172+
self._mirror_x = None
169173
else:
170-
self._mirror &= ~0x2
174+
self._mirror_x = bool(value)
171175

172176
self._is_dirty = True
173177

174178
@property
175179
def mirrorY(self):
176-
if self._mirror is None:
177-
return None
178-
179-
return bool(self._mirror & 0x1)
180+
return self._mirror_y
180181

181182
@mirrorY.setter
182183
def mirrorY(self, value):
183-
if self._mirror is None:
184-
self._mirror = 0
185-
186-
if value:
187-
self._mirror |= 0x1
184+
if value is None:
185+
self._mirror_y = None
188186
else:
189-
self._mirror &= ~0x1
187+
self._mirror_y = bool(value)
190188

191189
self._is_dirty = True
192190

@@ -275,5 +273,7 @@ def reset(self):
275273
self.alphaY = None
276274
self.betaY = None
277275
self.deltaY = None
278-
self._mirror = None
276+
self._mirror_x = None
277+
self._mirror_y = None
278+
self._is_dirty = True
279279
self.save()

0 commit comments

Comments
 (0)