Update diagnostics/MicroPythonDiagnostics.py

This commit is contained in:
2026-01-30 13:49:03 +00:00
parent 8c5e90e0ec
commit 07bbba41e4

View File

@@ -10,7 +10,24 @@ class MicroPythonDiagnostics:
print("[Hub Diagnostics - MicroPython - Version] Pybricks version information:", usys.version_info) print("[Hub Diagnostics - MicroPython - Version] Pybricks version information:", usys.version_info)
print("[Hub Diagnostics - MicroPython - Version] MicroPython information:", usys.implementation) print("[Hub Diagnostics - MicroPython - Version] MicroPython information:", usys.implementation)
def performMemoryDiagnostics(): def performMemoryDiagnostics():
print("[Hub Diagnostics - MicroPython - Memory] Memory information (retrieved from the MicroPython environment):")
micropython.mem_info(1) micropython.mem_info(1)
print("[Hub Diagnostics - MicroPython - Memory] Testing heap lock and unlock.")
print("[Hub Diagnostics - MicroPython - Memory] Allocating memory while heap is unlocked:")
try:
x = 5000
print("[Hub Diagnostics - MicroPython - Memory] There was no MemoryError raised. The value of the variable x is", x)
except MemoryError:
print("[Hub Diagnostics - MicroPython - Memory] Allocation failed. Your memory may be faulty.")
print("[Hub Diagnostics - MicroPython - Memory] Locking the heap:")
micropython.heap_lock()
print("[Hub Diagnostics - MicroPython - Memory] Heap was locked. Attempting to allocate memory (this should fail):")
try:
x = 5000
print("[Hub Diagnostics - MicroPython - Memory] There was no MemoryError raised. Heap lock failed.")
except MemoryError:
print("[Hub Diagnostics - MicroPython - Memory] Allocation failed. Test successful. The heap was successfully locked.")
# Attempt to add gc to this for memory diagnostics, in addition test machine.soft_reset() and add that first to reset the heap.
def printAll(): def printAll():
printVersionDiagnostics() printVersionDiagnostics()
performMemoryDiagnostics() performMemoryDiagnostics()