Skip to content

Commit 3a9a226

Browse files
committed
makes some changes to the calibration data code.
1 parent 6e138c4 commit 3a9a226

File tree

2 files changed

+24
-27
lines changed

2 files changed

+24
-27
lines changed

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

Lines changed: 16 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import lcd_utils
21
import struct
32
import sys
43

@@ -113,17 +112,9 @@ def __init__(self, name):
113112
self._mirrorY = None
114113
else:
115114
(
116-
alphaX, betaX, deltaX, alphaY, betaY, deltaY, mirrorX, mirrorY
117-
) = struct.unpack("<IIIIIIBB", blob)
118-
119-
self._alphaX = round(lcd_utils.int_float_converter(alphaX), 7)
120-
self._betaX = round(lcd_utils.int_float_converter(betaX), 7)
121-
self._deltaX = round(lcd_utils.int_float_converter(deltaX), 7)
122-
self._alphaY = round(lcd_utils.int_float_converter(alphaY), 7)
123-
self._betaY = round(lcd_utils.int_float_converter(betaY), 7)
124-
self._deltaY = round(lcd_utils.int_float_converter(deltaY), 7)
125-
self._mirrorX = bool(mirrorX)
126-
self._mirrorY = bool(mirrorY)
115+
self._alphaX, self._betaX, self._deltaX, self._alphaY,
116+
self._betaY, self._deltaY, self._mirrorX, self._mirrorY
117+
) = struct.unpack("<ffffffBB", blob)
127118

128119
self._is_dirty = False
129120

@@ -142,17 +133,10 @@ def save(self):
142133
self._config.erase('ts_config')
143134

144135
else:
145-
alphaX = lcd_utils.int_float_converter(self._alphaX)
146-
betaX = lcd_utils.int_float_converter(self._betaX)
147-
deltaX = lcd_utils.int_float_converter(self._deltaX)
148-
alphaY = lcd_utils.int_float_converter(self._alphaY)
149-
betaY = lcd_utils.int_float_converter(self._betaY)
150-
deltaY = lcd_utils.int_float_converter(self._deltaY)
151-
152136
blob = struct.pack(
153-
'<IIIIIIBB',
154-
alphaX, betaX, deltaX, alphaY, betaY, deltaY,
155-
int(self._mirrorX), int(self._mirrorY)
137+
'<ffffffBB',
138+
self._alphaX, self._betaX, self._deltaX, self._alphaY,
139+
self._betaY, self._deltaY, self._mirrorX, self._mirrorY
156140
)
157141

158142
blob = bytearray(blob)
@@ -164,27 +148,33 @@ def save(self):
164148

165149
@property
166150
def mirrorX(self):
167-
return self._mirrorX
151+
if self._mirrorX is None:
152+
return None
153+
154+
return bool(self._mirrorX)
168155

169156
@mirrorX.setter
170157
def mirrorX(self, value):
171158
if value is None:
172159
self._mirrorX = None
173160
else:
174-
self._mirrorX = bool(value)
161+
self._mirrorX = int(value)
175162

176163
self._is_dirty = True
177164

178165
@property
179166
def mirrorY(self):
180-
return self._mirrorY
167+
if self._mirrorY is None:
168+
return None
169+
170+
return bool(self._mirrorY)
181171

182172
@mirrorY.setter
183173
def mirrorY(self, value):
184174
if value is None:
185175
self._mirrorY = None
186176
else:
187-
self._mirrorY = bool(value)
177+
self._mirrorY = int(value)
188178

189179
self._is_dirty = True
190180

ext_mod/lcd_utils/src/binary_float.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,17 @@ static mp_obj_t mp_lcd_utils_int_float_converter(size_t n_args, const mp_obj_t *
1818
u.f = mp_obj_get_float_to_f(args[0]);
1919
return mp_obj_new_int_from_uint(u.i);
2020
} else {
21-
u.i = (uint32_t)mp_obj_get_int(args[0]);
21+
u.i = (uint32_t)mp_obj_get_int_truncated(args[0]);
2222
return mp_obj_new_float_from_f(u.f);
2323
}
2424
}
2525

26+
alphaX: 0.9185965 7
27+
betaX: -0.03718129 8
28+
deltaX: 13.55056 5
29+
alphaY: 0.003533064 9
30+
betaY: 0.999857 6
31+
deltaY: 2.936733 6
32+
2633

2734
MP_DEFINE_CONST_FUN_OBJ_VAR(mp_lcd_utils_int_float_converter_obj, 1, mp_lcd_utils_int_float_converter);

0 commit comments

Comments
 (0)