Skip to content
This repository was archived by the owner on Sep 16, 2024. It is now read-only.

Commit b22ee44

Browse files
author
Catalin Ioana
committed
esp32/tools/pypic: fixed (2B now) return values of read_product_id, read_hw_version and read_fw_version
1 parent d6b3616 commit b22ee44

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

esp32/tools/pypic.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,25 +85,29 @@ def __init__(self, port):
8585
except Exception:
8686
pass
8787

88-
def _write(self, data, read=True):
88+
def _write(self, data, read=True, num_read_bytes = 1):
8989
self.serial.write(data)
9090
if read:
9191
r_data = self.serial.read(2)
9292
if not r_data:
9393
raise Exception('Timeout while waiting for Rx data')
94+
if num_read_bytes == 2:
95+
(b1, b2) = struct.unpack('BB', r_data)
96+
return 256 * b2 + b1
97+
# by default, just 1 byte is being returned
9498
return struct.unpack('B', r_data[0])[0]
9599

96-
def _send_cmd(self, cmd):
97-
return self._write(bytearray([cmd]))
100+
def _send_cmd(self, cmd, num_read_bytes = 1):
101+
return self._write(bytearray([cmd]), True, num_read_bytes)
98102

99103
def read_hw_version(self):
100-
return self._send_cmd(CMD_HW_VER)
104+
return self._send_cmd(CMD_HW_VER, 2)
101105

102106
def read_fw_version(self):
103-
return self._send_cmd(CMD_FW_VER)
107+
return self._send_cmd(CMD_FW_VER, 2)
104108

105109
def read_product_id(self):
106-
return self._send_cmd(CMD_PROD_ID)
110+
return self._send_cmd(CMD_PROD_ID, 2)
107111

108112
def peek_memory(self, addr):
109113
return self._write(bytearray([CMD_PEEK, addr & 0xFF, (addr >> 8) & 0xFF]))
@@ -172,8 +176,8 @@ def main(args):
172176
if not args.port:
173177
exit_with_error(1, 'no serial port specified')
174178

175-
if (args.enter and args.exit) or (not args.enter and not args.exit):
176-
exit_with_error(1, 'invalid action requested')
179+
# if (args.enter and args.exit) or (not args.enter and not args.exit):
180+
# exit_with_error(1, 'invalid action requested')
177181

178182
pic = Pypic(args.port)
179183

@@ -182,6 +186,11 @@ def main(args):
182186
pic.enter_pycom_programming_mode()
183187
elif args.exit:
184188
pic.exit_pycom_programming_mode()
189+
190+
# print debug info about current PIC product
191+
# print("read_product_id(): 0x%X"%pic.read_product_id())
192+
# print("read_hw_version(): 0x%X"%pic.read_hw_version())
193+
# print("read_fw_version(): 0x%X"%pic.read_fw_version())
185194

186195
pic.close()
187196

0 commit comments

Comments
 (0)