firestarter 1.3.2__tar.gz → 1.3.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. {firestarter-1.3.2 → firestarter-1.3.4}/PKG-INFO +1 -1
  2. firestarter-1.3.4/firestarter/__init__.py +1 -0
  3. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter/eprom_operations.py +91 -66
  4. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter/firmware.py +3 -3
  5. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter/hardware.py +22 -9
  6. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter/main.py +6 -2
  7. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter/serial_comm.py +56 -38
  8. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter.egg-info/PKG-INFO +1 -1
  9. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter_test.sh +41 -43
  10. {firestarter-1.3.2 → firestarter-1.3.4}/write_test.sh +1 -1
  11. firestarter-1.3.2/firestarter/__init__.py +0 -1
  12. {firestarter-1.3.2 → firestarter-1.3.4}/.github/scripts/update_version.py +0 -0
  13. {firestarter-1.3.2 → firestarter-1.3.4}/.github/workflows/publish.yml +0 -0
  14. {firestarter-1.3.2 → firestarter-1.3.4}/.github/workflows/release.yml +0 -0
  15. {firestarter-1.3.2 → firestarter-1.3.4}/.gitignore +0 -0
  16. {firestarter-1.3.2 → firestarter-1.3.4}/.vscode/launch.json +0 -0
  17. {firestarter-1.3.2 → firestarter-1.3.4}/LICENSE +0 -0
  18. {firestarter-1.3.2 → firestarter-1.3.4}/MANIFEST.in +0 -0
  19. {firestarter-1.3.2 → firestarter-1.3.4}/README.md +0 -0
  20. {firestarter-1.3.2 → firestarter-1.3.4}/doc/package-details.md +0 -0
  21. {firestarter-1.3.2 → firestarter-1.3.4}/doc/protocol-id.md +0 -0
  22. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter/avr_tool.py +0 -0
  23. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter/config.py +0 -0
  24. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter/data/avrdude.conf +0 -0
  25. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter/data/database.json +0 -0
  26. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter/data/pin-maps.json +0 -0
  27. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter/database.py +0 -0
  28. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter/eprom_info.py +0 -0
  29. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter/ic_layout.py +0 -0
  30. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter/utils.py +0 -0
  31. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter.egg-info/SOURCES.txt +0 -0
  32. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter.egg-info/dependency_links.txt +0 -0
  33. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter.egg-info/entry_points.txt +0 -0
  34. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter.egg-info/requires.txt +0 -0
  35. {firestarter-1.3.2 → firestarter-1.3.4}/firestarter.egg-info/top_level.txt +0 -0
  36. {firestarter-1.3.2 → firestarter-1.3.4}/pyproject.toml +0 -0
  37. {firestarter-1.3.2 → firestarter-1.3.4}/requirements.txt +0 -0
  38. {firestarter-1.3.2 → firestarter-1.3.4}/setup.cfg +0 -0
  39. {firestarter-1.3.2 → firestarter-1.3.4}/test.py +0 -0
  40. {firestarter-1.3.2 → firestarter-1.3.4}/things.md +0 -0
  41. {firestarter-1.3.2 → firestarter-1.3.4}/tools/infoic.xml +0 -0
  42. {firestarter-1.3.2 → firestarter-1.3.4}/tools/parse_db.py +0 -0
  43. {firestarter-1.3.2 → firestarter-1.3.4}/tools/pin-layouts.odt +0 -0
  44. {firestarter-1.3.2 → firestarter-1.3.4}/tools/verified.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: firestarter
3
- Version: 1.3.2
3
+ Version: 1.3.4
4
4
  Summary: EPROM burner software for the Relatively Universal ROM Programmer
5
5
  Author-email: Henrik Olsson <henols@gmail.com>
6
6
  Description-Content-Type: text/markdown
@@ -0,0 +1 @@
1
+ __version__ = "1.3.4"
@@ -11,13 +11,13 @@ import os
11
11
  import time
12
12
 
13
13
  try:
14
- from .serial_comm import find_programmer, wait_for_response
15
- from .database import get_eprom
16
- from .utils import extract_hex_to_decimal, print_progress, print_progress_bar
14
+ from .serial_comm import find_programmer, wait_for_response, consume_response
15
+ from .database import get_eprom, search_chip_id
16
+ from .utils import extract_hex_to_decimal, print_progress_bar
17
17
  except ImportError:
18
- from serial_comm import find_programmer, wait_for_response
19
- from database import get_eprom
20
- from utils import extract_hex_to_decimal, print_progress, print_progress_bar
18
+ from serial_comm import find_programmer, wait_for_response, consume_response
19
+ from database import get_eprom, search_chip_id
20
+ from utils import extract_hex_to_decimal, print_progress_bar
21
21
 
22
22
  # Constants
23
23
  BUFFER_SIZE = 512
@@ -48,7 +48,7 @@ def read(eprom_name, output_file=None, force=False):
48
48
  eprom["force"] = True
49
49
 
50
50
  if not output_file:
51
- output_file = f"{eprom_name}.bin"
51
+ output_file = f"{eprom_name.upper()}.bin"
52
52
  print(f"Reading EPROM {eprom_name}, saving to {output_file}")
53
53
 
54
54
  ser = find_programmer(eprom)
@@ -62,6 +62,8 @@ def read(eprom_name, output_file=None, force=False):
62
62
  bytes_read = 0
63
63
  mem_size = eprom["memory-size"]
64
64
  total_iterations = mem_size / BUFFER_SIZE
65
+ print_progress_bar(0, total_iterations, prefix=f"Address: 0x0000 - ")
66
+
65
67
  while True:
66
68
  resp, info = wait_for_response(ser)
67
69
  if resp == "DATA":
@@ -75,26 +77,29 @@ def read(eprom_name, output_file=None, force=False):
75
77
  print_progress_bar(
76
78
  bytes_read / BUFFER_SIZE,
77
79
  total_iterations,
78
- prefix=f"Address: 0x{from_address:X} - 0x{to_address:X}",
80
+ prefix=f"Address: 0x{from_address:04X} - 0x{to_address:04X}",
79
81
  suffix=f"- {time.time() - start_time:.2f}s",
80
82
  )
83
+
81
84
  ser.write("OK".encode("ascii"))
82
85
  ser.flush()
83
86
  elif resp == "OK":
84
87
  break
85
88
  elif resp == "ERROR":
86
- print(f"\nError: {info}")
87
- return 1
88
- else:
89
- print(f"\nUnexpected response: {info}")
89
+ # print(f"\nError: {info}")
90
90
  return 1
91
+ # else:
92
+ # print(f"\nUnexpected response: {info}")
93
+ # return 1
91
94
 
92
95
  print(f"\nRead complete in: {time.time() - start_time:.2f} seconds")
93
96
  print(f"Data saved to {output_file}")
94
97
  except Exception as e:
95
98
  print(f"Error while reading: {e}")
96
99
  finally:
100
+ consume_response(ser)
97
101
  ser.close()
102
+ return 0
98
103
 
99
104
 
100
105
  def write(eprom_name, input_file, address=None, ignore_blank_check=False, force=False):
@@ -142,50 +147,49 @@ def write(eprom_name, input_file, address=None, ignore_blank_check=False, force=
142
147
  bytes_written = 0
143
148
 
144
149
  print(f"Writing {input_file} to {eprom_name}")
150
+ print_progress_bar(0, total_iterations, prefix=f"Address: 0x0000 - ")
145
151
 
146
152
  while True:
147
153
  data = file.read(BUFFER_SIZE)
148
154
  if not data:
155
+ print("\nEnd of file reached")
149
156
  ser.write(int(0).to_bytes(2, byteorder="big"))
150
157
  ser.flush()
151
158
  resp, info = wait_for_response(ser)
152
- print("\nEnd of file reached")
153
- print(info)
159
+ while resp != "OK":
160
+ if resp == "ERROR":
161
+ return 1
162
+ resp, info = wait_for_response(ser)
154
163
  break
155
164
 
156
165
  ser.write(len(data).to_bytes(2, byteorder="big"))
157
166
  ser.flush()
158
167
  resp, info = wait_for_response(ser)
159
- if resp == "ERROR":
160
- print(f"\nError writing: {info}")
161
- return 1
168
+ while resp != "OK":
169
+ if resp == "ERROR":
170
+ return 1
171
+ resp, info = wait_for_response(ser)
172
+
162
173
  nr_bytes = ser.write(data)
163
174
  bytes_written += nr_bytes
164
175
  ser.flush()
165
-
166
- while True:
167
- resp, info = wait_for_response(ser)
168
- if resp == "OK":
169
- # percent = int(bytes_written / file_size * 100)
170
- # print_progress(
171
- # percent,
172
- # bytes_written - nr_bytes + write_address,
173
- # bytes_written + write_address,
174
- # )
175
- from_address = bytes_written - nr_bytes + write_address
176
- to_address = bytes_written + write_address
177
- print_progress_bar(
178
- bytes_written / BUFFER_SIZE,
179
- total_iterations,
180
- prefix=f"Address: 0x{from_address:X} - 0x{to_address:X}",
181
- suffix=f"- {time.time() - start_time:.2f}s",
182
- )
183
- break
184
- elif resp == "ERROR":
185
- print(f"\nError: {info}")
176
+ # print(f"Bytes written: {bytes_written}")
177
+ resp, info = wait_for_response(ser)
178
+ while resp != "OK":
179
+ if resp == "ERROR":
186
180
  return 1
187
- else:
181
+ elif resp == "WARN":
188
182
  print(f"Warning: {info}")
183
+ resp, info = wait_for_response(ser)
184
+
185
+ from_address = bytes_written - nr_bytes + write_address
186
+ to_address = bytes_written + write_address
187
+ print_progress_bar(
188
+ bytes_written / BUFFER_SIZE,
189
+ total_iterations,
190
+ prefix=f"Address: 0x{from_address:04X} - 0x{to_address:04X}",
191
+ suffix=f"- {time.time() - start_time:.2f}s",
192
+ )
189
193
  if bytes_written == mem_size:
190
194
  break
191
195
 
@@ -194,6 +198,7 @@ def write(eprom_name, input_file, address=None, ignore_blank_check=False, force=
194
198
  print(f"Error while writing: {e}")
195
199
  return 1
196
200
  finally:
201
+ consume_response(ser)
197
202
  ser.close()
198
203
  return 0
199
204
 
@@ -211,15 +216,21 @@ def erase(eprom_name):
211
216
  return 1
212
217
 
213
218
  eprom["state"] = STATE_ERASE
214
- ser = find_programmer(eprom)
215
- if not ser:
216
- return 1
217
-
218
- resp, info = wait_for_response(ser)
219
- if resp == "OK":
220
- print(f"EPROM {eprom_name} erased successfully.")
221
- elif resp == "ERROR":
222
- print(f"Error erasing EPROM {eprom_name}: {info}")
219
+ try:
220
+ ser = find_programmer(eprom)
221
+ if not ser:
222
+ return 1
223
+
224
+ resp, info = wait_for_response(ser)
225
+ if resp == "OK":
226
+ print(f"EPROM {eprom_name} erased successfully.")
227
+ return 0
228
+ elif resp == "ERROR":
229
+ print(f"Error erasing EPROM {eprom_name}")
230
+ return 1
231
+ finally:
232
+ consume_response(ser)
233
+ ser.close()
223
234
 
224
235
 
225
236
  def check_chip_id(eprom_name):
@@ -238,16 +249,26 @@ def check_chip_id(eprom_name):
238
249
  ser = find_programmer(eprom)
239
250
  if not ser:
240
251
  return 1
241
-
242
- resp, info = wait_for_response(ser)
243
- if resp == "OK":
244
- print(f"Chip ID check passed for {eprom_name}: {info}")
245
- elif resp == "ERROR":
246
- print(f"Chip ID check failed for {eprom_name}: {info}")
252
+ try:
253
+ resp, info = wait_for_response(ser)
254
+ if resp == "OK":
255
+ print(f"Chip ID check passed for {eprom_name}: {info}")
256
+ return 0
247
257
  chip_id = extract_hex_to_decimal(info)
248
- print(
249
- f"Extracted chip ID: {chip_id}" if chip_id else "Failed to extract chip ID."
250
- )
258
+ if not chip_id:
259
+ print(f"Failed to extract chip ID.")
260
+ else:
261
+ eproms = search_chip_id(chip_id)
262
+ if not eproms:
263
+ print(f"Chip ID 0x{chip_id:x} not found in the database.")
264
+ else:
265
+ print(f"Chip ID 0x{chip_id:x} found in the database:")
266
+ for eprom in eproms:
267
+ print(eprom)
268
+ return 1
269
+ finally:
270
+ consume_response(ser)
271
+ ser.close()
251
272
 
252
273
 
253
274
  def blank_check(eprom_name):
@@ -263,12 +284,16 @@ def blank_check(eprom_name):
263
284
  return 1
264
285
 
265
286
  eprom["state"] = STATE_CHECK_BLANK
266
- ser = find_programmer(eprom)
267
- if not ser:
268
- return 1
269
-
270
- resp, info = wait_for_response(ser)
271
- if resp == "OK":
272
- print(f"EPROM {eprom_name} is blank.")
273
- elif resp == "ERROR":
274
- print(f"Blank check failed for {eprom_name}: {info}")
287
+ try:
288
+ ser = find_programmer(eprom)
289
+ if not ser:
290
+ return 1
291
+
292
+ resp, info = wait_for_response(ser)
293
+ if resp == "OK":
294
+ print(f"EPROM {eprom_name} is blank.")
295
+ elif resp == "ERROR":
296
+ print(f"Blank check failed for {eprom_name}")
297
+ finally:
298
+ consume_response(ser)
299
+ ser.close()
@@ -11,12 +11,12 @@ import os
11
11
  import requests
12
12
 
13
13
  try:
14
- from .serial_comm import find_programmer, wait_for_response, find_comports
14
+ from .serial_comm import find_programmer, wait_for_response, find_comports, consume_response
15
15
  from .config import get_config_value, set_config_value
16
16
  from .avr_tool import Avrdude
17
17
  from .utils import verbose
18
18
  except ImportError:
19
- from serial_comm import find_programmer, wait_for_response, find_comports
19
+ from serial_comm import find_programmer, wait_for_response, find_comports, consume_response
20
20
  from config import get_config_value, set_config_value
21
21
  from avr_tool import Avrdude
22
22
  from utils import verbose
@@ -78,7 +78,6 @@ def firmware_check(port=None):
78
78
  return False, None, None
79
79
 
80
80
  try:
81
- ser.write("OK".encode("ascii"))
82
81
  resp, version = wait_for_response(ser)
83
82
 
84
83
  if not resp == "OK":
@@ -103,6 +102,7 @@ def firmware_check(port=None):
103
102
  )
104
103
  return False, ser.portstr, url
105
104
  finally:
105
+ consume_response(ser)
106
106
  ser.close()
107
107
 
108
108
 
@@ -1,8 +1,9 @@
1
1
  import time
2
+
2
3
  try:
3
- from .serial_comm import find_programmer, wait_for_response
4
+ from .serial_comm import find_programmer, wait_for_response, consume_response
4
5
  except ImportError:
5
- from serial_comm import find_programmer, wait_for_response
6
+ from serial_comm import find_programmer, wait_for_response, consume_response
6
7
 
7
8
  STATE_READ_VPP = 11
8
9
  STATE_READ_VPE = 12
@@ -32,6 +33,7 @@ def hardware():
32
33
  print(f"Failed to read hardware revision. {resp}: {version}")
33
34
  return 1
34
35
  finally:
36
+ consume_response(ser)
35
37
  ser.close()
36
38
  return 0
37
39
 
@@ -53,15 +55,20 @@ def config(rev=None, r1=None, r2=None):
53
55
  ser = find_programmer(data)
54
56
  if not ser:
55
57
  return 1
56
- ser.write("OK".encode("ascii"))
57
- r, version = wait_for_response(ser)
58
- if r == "OK":
59
- print(f"Config: {version}")
60
- else:
61
- print(r)
62
- return 1
58
+ try:
59
+ # ser.write("OK".encode("ascii"))
60
+ r, version = wait_for_response(ser)
61
+ if r == "OK":
62
+ print(f"Config: {version}")
63
+ else:
64
+ # print(r)
65
+ return 1
66
+ finally:
67
+ consume_response(ser)
68
+ ser.close()
63
69
  return 0
64
70
 
71
+
65
72
  def read_vpp(timeout=None):
66
73
  """
67
74
  Reads the VPP voltage from the programmer.
@@ -94,6 +101,7 @@ def read_voltage(state, timeout=None):
94
101
  print(f"Error reading {type} voltage: {info}")
95
102
  return 1
96
103
  ser.write("OK".encode("ascii"))
104
+ ser.flush()
97
105
 
98
106
  if timeout:
99
107
  start = time.time()
@@ -104,5 +112,10 @@ def read_voltage(state, timeout=None):
104
112
  print()
105
113
  return 0
106
114
  ser.write("OK".encode("ascii"))
115
+ ser.flush()
116
+ except Exception as e:
117
+ print(f"Error while reading {type} voltage: {e}")
107
118
  finally:
119
+ consume_response(ser)
108
120
  ser.close()
121
+ return 1
@@ -35,6 +35,8 @@ except ImportError:
35
35
 
36
36
 
37
37
  def main():
38
+ signal.signal(signal.SIGINT, exit_gracefully)
39
+
38
40
  parser = argparse.ArgumentParser(
39
41
  description="EPROM programmer for Arduino UNO and Relatively-Universal-ROM-Programmer shield."
40
42
  )
@@ -174,6 +176,7 @@ def main():
174
176
  init_db()
175
177
  open_config()
176
178
  set_verbose(args.verbose)
179
+
177
180
  # Command dispatch
178
181
  if args.command == "list":
179
182
  return list_eproms(args.verified)
@@ -211,9 +214,10 @@ def main():
211
214
 
212
215
 
213
216
  def exit_gracefully(signum, frame):
217
+ print("\n")
218
+ print("Prosess interrupted.")
214
219
  sys.exit(1)
215
220
 
216
221
 
217
222
  if __name__ == "__main__":
218
- signal.signal(signal.SIGINT, exit_gracefully)
219
- sys.exit(main())
223
+ sys.exit(main())
@@ -54,10 +54,8 @@ def check_port(port, data, baud_rate=BAUD_RATE):
54
54
  res, msg = wait_for_response(ser)
55
55
  while res != "OK":
56
56
  if res == "ERROR":
57
- raise Exception(msg)
58
- if res == "TIMEOUT_ERROR":
59
57
  return None
60
- print(f"{res} - {msg}")
58
+ res, msg = wait_for_response(ser)
61
59
 
62
60
  if verbose():
63
61
  print(f"Programmer: {msg}")
@@ -143,6 +141,54 @@ def find_programmer(data, port=None):
143
141
  return None
144
142
 
145
143
 
144
+ def read_response(ser):
145
+ while ser.in_waiting > 0:
146
+ byte_array = ser.readline()
147
+ res = read_filtered_bytes(byte_array)
148
+ type = None
149
+ msg = None
150
+ try:
151
+ if res:
152
+ if "OK:" in res:
153
+ msg = res.split("OK:")[-1].strip()
154
+ type = "OK"
155
+ return
156
+ elif "INFO:" in res:
157
+ msg = res.split("INFO:")[-1].strip()
158
+ type = "INFO"
159
+ return
160
+ elif "DEBUG:" in res:
161
+ msg = res.split("DEBUG:")[-1].strip()
162
+ type = "DEBUG"
163
+ return
164
+ elif "ERROR:" in res:
165
+ msg = res.split("ERROR:")[-1].strip()
166
+ type = "ERROR"
167
+ return
168
+ elif "WARN:" in res:
169
+ msg = res.split("WARN:")[-1].strip()
170
+ type = "WARN"
171
+ return
172
+ elif "DATA:" in res:
173
+ msg = res.split("DATA:")[-1].strip()
174
+ type = "DATA"
175
+ return
176
+ else:
177
+ return
178
+ finally:
179
+ write_feedback(type, msg)
180
+ # if type == "ERROR":
181
+ # raise Exception(msg)
182
+ return type, msg
183
+ return None, None
184
+
185
+
186
+ def consume_response(ser):
187
+ time.sleep(0.1)
188
+ while read_response(ser)[0] != None:
189
+ time.sleep(0.3)
190
+
191
+
146
192
  def wait_for_response(ser):
147
193
  """
148
194
  Waits for a response from the serial connection.
@@ -155,41 +201,13 @@ def wait_for_response(ser):
155
201
  """
156
202
  timeout = time.time() + 2 # Set timeout period
157
203
  while time.time() < timeout:
158
- if ser.in_waiting > 0:
159
- byte_array = ser.readline()
160
- res = read_filtered_bytes(byte_array)
161
- msg = None
162
- type = None
163
- try:
164
- if res:
165
- if "OK:" in res:
166
- msg = res.split("OK:")[-1].strip()
167
- type = "OK"
168
- return
169
- elif "INFO:" in res:
170
- msg = res.split("INFO:")[-1].strip()
171
- write_feedback("INFO", msg)
172
- # return "INFO", msg
173
- elif "ERROR:" in res:
174
- msg = res.split("ERROR:")[-1].strip()
175
- type = "ERROR"
176
- return
177
- elif "WARN:" in res:
178
- msg = res.split("WARN:")[-1].strip()
179
- type = "WARN"
180
- return
181
- elif "DATA:" in res:
182
- msg = res.split("DATA:")[-1].strip()
183
- type = "DATA"
184
- return
185
- timeout = time.time() + 2 # Reset timeout
186
- finally:
187
- write_feedback(type, msg)
188
- if type:
189
- return type, msg
204
+ type, msg = read_response(ser)
205
+ if type and type != "INFO" and type != "DEBUG":
206
+ return type, msg
207
+ # time.sleep(0.1)
190
208
  msg = f"Timeout, no response on {ser.portstr}"
191
- write_feedback("ERROR", msg)
192
- return "TIMEOUT_ERROR", msg
209
+ write_feedback("Error", msg)
210
+ raise Exception(msg)
193
211
 
194
212
 
195
213
  def write_feedback(type, msg):
@@ -199,7 +217,7 @@ def write_feedback(type, msg):
199
217
  Args:
200
218
  msg (str): The feedback message.
201
219
  """
202
- if msg and (verbose() or type == "ERROR" or type == "WARN"):
220
+ if msg and (verbose() or (type.upper() == "ERROR" or type == "WARN")):
203
221
  print(f"{type}: {msg}")
204
222
 
205
223
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: firestarter
3
- Version: 1.3.2
3
+ Version: 1.3.4
4
4
  Summary: EPROM burner software for the Relatively Universal ROM Programmer
5
5
  Author-email: Henrik Olsson <henols@gmail.com>
6
6
  Description-Content-Type: text/markdown
@@ -46,36 +46,15 @@ dd if=/dev/urandom of="$TEMP_DIR/high_data.bin" bs=1 count=$HALF_SIZE status=non
46
46
  # Concatenate the two files into one file
47
47
  cat "$TEMP_DIR/low_data.bin" "$TEMP_DIR/high_data.bin" > "$TEMP_DIR/full_data.bin"
48
48
 
49
- # ------------------------------ EPROM INFO TESTS -------------------------
50
- echo "---------------------------------"
51
- echo "Listing all EPROMs"
52
- echo "---------------------------------"
53
- firestarter list
54
- if test $? -gt 0
55
- then
56
- echo "Search failed"
57
- exit 1
58
- fi
59
- echo
60
- sleep 0.5
61
- echo "---------------------------------"
62
- echo "Searching for $EPROM_NAME"
63
- echo "---------------------------------"
64
- firestarter search $EPROM_NAME
65
- if test $? -gt 0
66
- then
67
- echo "Search failed"
68
- exit 1
69
- fi
70
- echo
71
- sleep 0.5
49
+ # ------------------------------ FIRMWARE TESTS ------------------------------
50
+
72
51
  echo "---------------------------------"
73
- echo "Info for $EPROM_NAME"
52
+ echo "Firmware Version"
74
53
  echo "---------------------------------"
75
- firestarter info $EPROM_NAME
54
+ firestarter fw
76
55
  if test $? -gt 0
77
56
  then
78
- echo "Info failed"
57
+ echo "Firmware version failed"
79
58
  exit 1
80
59
  fi
81
60
  echo
@@ -104,7 +83,7 @@ then
104
83
  exit 1
105
84
  fi
106
85
  echo
107
- sleep 0.5
86
+ sleep 1
108
87
  echo "---------------------------------"
109
88
  echo "VPP"
110
89
  echo "---------------------------------"
@@ -115,7 +94,7 @@ then
115
94
  exit 1
116
95
  fi
117
96
  echo
118
- sleep 0.5
97
+ sleep 1
119
98
  echo "---------------------------------"
120
99
  echo "VPE"
121
100
  echo "---------------------------------"
@@ -126,21 +105,7 @@ then
126
105
  exit 1
127
106
  fi
128
107
  echo
129
- sleep 0.5
130
-
131
- # ------------------------------ FIRMWARE TESTS ------------------------------
132
-
133
- echo "---------------------------------"
134
- echo "Firmware Version"
135
- echo "---------------------------------"
136
- firestarter fw
137
- if test $? -gt 0
138
- then
139
- echo "Firmware version failed"
140
- exit 1
141
- fi
142
- echo
143
- sleep 0.5
108
+ sleep 1
144
109
 
145
110
  # ------------------------------ EPROM TESTS ------------------------------
146
111
 
@@ -206,4 +171,37 @@ then
206
171
  exit 1
207
172
  fi
208
173
  echo
174
+ # ------------------------------ EPROM INFO TESTS -------------------------
175
+ echo "---------------------------------"
176
+ echo "Listing all EPROMs"
177
+ echo "---------------------------------"
178
+ firestarter list
179
+ if test $? -gt 0
180
+ then
181
+ echo "Search failed"
182
+ exit 1
183
+ fi
184
+ echo
185
+ sleep 0.5
186
+ echo "---------------------------------"
187
+ echo "Searching for $EPROM_NAME"
188
+ echo "---------------------------------"
189
+ firestarter search $EPROM_NAME
190
+ if test $? -gt 0
191
+ then
192
+ echo "Search failed"
193
+ exit 1
194
+ fi
195
+ echo
196
+ sleep 0.5
197
+ echo "---------------------------------"
198
+ echo "Info for $EPROM_NAME"
199
+ echo "---------------------------------"
200
+ firestarter info $EPROM_NAME
201
+ if test $? -gt 0
202
+ then
203
+ echo "Info failed"
204
+ exit 1
205
+ fi
206
+ echo
209
207
  echo "All tests passed"
@@ -15,7 +15,7 @@ fi
15
15
  rm -f "$TEMP_DIR"/*
16
16
 
17
17
  # Trap to clean up the temporary files on exit or interrupt
18
- trap "rm -rf $TEMP_DIR; echo 'Cleaned up temp files'; exit" EXIT
18
+ # trap "rm -rf $TEMP_DIR; echo 'Cleaned up temp files'; exit" EXIT
19
19
 
20
20
  # Convert TARGET_NAME to uppercase
21
21
  EPROM_NAME=$(echo "$EPROM_NAME" | tr '[:lower:]' '[:upper:]')
@@ -1 +0,0 @@
1
- __version__ = "1.3.2"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes