Skip to content

Commit 561ef0a

Browse files
committed
Fix blockly to python: not init gpio value, raise exception in gpio event callback
1 parent b243952 commit 561ef0a

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

xarm/tools/blockly/_blockly_tool.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -193,13 +193,17 @@ def __define_listen_gpio_thread_func(self):
193193

194194
self._append_main_init_code(' def _listen_gpio_thread(self):')
195195
if self._listen_tgpio_digital or len(self._tgpio_digital_callbacks):
196-
self._append_main_init_code(' tgpio_digitals = None')
196+
self._append_main_init_code(' _, values = self._arm.get_tgpio_digital()')
197+
self._append_main_init_code(' tgpio_digitals = values if _ == 0 else [0] * 2')
197198
if self._listen_tgpio_analog or len(self._tgpio_analog_callbacks):
198-
self._append_main_init_code(' tgpio_analogs = None')
199+
self._append_main_init_code(' _, values = self._arm.get_tgpio_analog()')
200+
self._append_main_init_code(' tgpio_analogs = values if _ == 0 else [0] * 2')
201+
if self._listen_cgpio_state or len(self._cgpio_digital_callbacks) or len(self._cgpio_analog_callbacks):
202+
self._append_main_init_code(' _, values = self._arm.get_cgpio_state()')
199203
if self._listen_cgpio_state or len(self._cgpio_digital_callbacks):
200-
self._append_main_init_code(' cgpio_digitals = None')
204+
self._append_main_init_code(' cgpio_digitals = [values[3] >> i & 0x0001 if values[10][i] in [0, 255] else 1 for i in range(len(values[10]))] if _ == 0 else [0] * 16')
201205
if self._listen_cgpio_state or len(self._cgpio_analog_callbacks):
202-
self._append_main_init_code(' cgpio_analogs = None')
206+
self._append_main_init_code(' cgpio_analogs = [values[6], values[7]] if _ == 0 else [0] * 2')
203207

204208
self._append_main_init_code(' while self.is_alive:')
205209
if self._listen_tgpio_digital or len(self._tgpio_digital_callbacks):

0 commit comments

Comments
 (0)