5 # optional color support
7 # pip install ansicolors
8 from colors
import color
9 except ModuleNotFoundError
:
10 def color(s
, fg
=None):
16 "manufacturer": "Puya",
26 "manufacturer": "Winbond",
68 "part": "W25Q02JV-IM",
78 p
.console("hw status")
80 rex
= re
.compile("...\\s([0-9a-fA-F]{2})\\s/\\s([0-9a-fA-F]{4})")
82 for line
in p
.grabbed_output
.split('\n'):
83 # [#] JEDEC Mfr ID / Dev ID... 85 / 6015
84 if " JEDEC " not in line
:
87 match
= re
.findall(rex
, line
)
88 mid
= int(match
[0][0], 16)
89 did
= int(match
[0][1], 16)
96 mfr
= spi
[mid
]['manufacturer']
100 if did_l
in spi
[mid
][did_h
]:
102 t
= spi
[mid
][did_h
][did_l
]
103 print("\n Manufacturer... " + color(f
"{mfr}", fg
="green") +
104 "\n Device......... " + color(f
"{t['part']}", fg
="green") +
105 "\n Size........... " + color(f
"{t['size']} ({t['sizeB']})", fg
="yellow")
108 print("\n Manufacturer... " + color(f
"{mfr}", fg
="green") +
109 "\n Device ID...... " + color(f
"{did:04X}h (unknown)", fg
="red"))
111 print("\n Manufacturer... " + color(f
"{mfr}", fg
="green") +
112 "\n Device ID...... " + color(f
"{did:04X}h (unknown)", fg
="red"))
114 print("\n Manufacturer... " + color(f
"{mid:02X}h (unknown)", fg
="red") +
115 "\n Device ID...... " + color(f
"{did:04X}h (unknown)", fg
="red"))