Skip to content

Commit 02d1699

Browse files
committed
[fix]'get_tgpio_digital'Return all TI values ​​at once
1 parent b84d392 commit 02d1699

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

xarm/x3/gpio.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,18 @@ def get_tgpio_digital(self, ionum=None):
8686
# only available in Lite6
8787
ret = self.arm_cmd.tgpio_addr_r16(0x0A12)
8888
return ret[0], ret[1] & 0x0001
89-
else:
89+
elif isinstance(ionum, int):
9090
ret = self.arm_cmd.tgpio_get_digital()
9191
if ret[0] == 0:
9292
self.tgpio_state['digital'] = ret[1:]
93-
return ret[0], ret[1:] if ionum is None else ret[ionum+1 if ionum < 3 else ionum]
93+
return ret[0], ret[ionum+1 if ionum < 3 else ionum]
94+
else:
95+
ret1 = self.arm_cmd.tgpio_addr_r16(0x0A12)
96+
ret2 = self.arm_cmd.tgpio_get_digital()
97+
if ret2[0] == 0:
98+
self.tgpio_state['digital'] = ret2[1:]
99+
ret2.insert(3, ret1[1])
100+
return ret1[0] or ret2[0], ret2[1:]
94101

95102
@xarm_is_connected(_type='get')
96103
def get_tgpio_output_digital(self, ionum=None):

0 commit comments

Comments
 (0)