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})")
81 for line
in p
.grabbed_output
.split('\n'):
82 # [#] JEDEC Mfr ID / Dev ID... 85 / 6015
83 if " JEDEC " not in line
:
85 match
= re
.findall(rex
, line
)
86 mid
= int(match
[0][0], 16)
87 did
= int(match
[0][1], 16)
92 mfr
= spi
[mid
]['manufacturer']
94 if did_l
in spi
[mid
][did_h
]:
95 t
= spi
[mid
][did_h
][did_l
]
96 print("\n Manufacturer... " + color(f
"{mfr}", fg
="green") +
97 "\n Device......... " + color(f
"{t['part']}", fg
="green") +
98 "\n Size........... " + color(f
"{t['size']} ({t['sizeB']})", fg
="yellow")
101 print("\n Manufacturer... " + color(f
"{mfr}", fg
="green") +
102 "\n Device ID...... " + color(f
"{did:04X}h (unknown)", fg
="red"))
104 print("\n Manufacturer... " + color(f
"{mfr}", fg
="green") +
105 "\n Device ID...... " + color(f
"{did:04X}h (unknown)", fg
="red"))
107 print("\n Manufacturer... " + color(f
"{mid:02X}h (unknown)", fg
="red") +
108 "\n Device ID...... " + color(f
"{did:04X}h (unknown)", fg
="red"))