Compare commits
12 Commits
dev
...
fb07967c4c
| Author | SHA1 | Date | |
|---|---|---|---|
| fb07967c4c | |||
| 6ade2c2dc6 | |||
| b7f2978e66 | |||
| 98a1e9c466 | |||
| 60384d4367 | |||
| a91e79a02a | |||
| ffd89e5698 | |||
| 17db936432 | |||
| d3a740e705 | |||
| 960fd598c9 | |||
| f3460290e5 | |||
| 345da15b22 |
@@ -4,11 +4,11 @@ from pybricks.parameters import Button, Color, Direction, Port, Side, Stop
|
|||||||
from pybricks.robotics import DriveBase
|
from pybricks.robotics import DriveBase
|
||||||
from pybricks.tools import wait, StopWatch
|
from pybricks.tools import wait, StopWatch
|
||||||
HUB = PrimeHub()
|
HUB = PrimeHub()
|
||||||
from battery_diagnostics import BatteryDiagnostics
|
from BatteryDiagnostics import BatteryDiagnostics
|
||||||
from motor_diagnostics import MotorDiagnostics
|
from MotorDiagnostics import MotorDiagnostics
|
||||||
from color_sensor_diagnostics import ColorSensorDiagnostics
|
from ColorSensorDiagnostics import ColorSensorDiagnostics
|
||||||
from drive_base_diagnostics import DriveBaseDiagnostics
|
from DriveBaseDiagnostics import DriveBaseDiagnostics
|
||||||
from hub_diagnostics import HubDiagnostics
|
from HubDiagnostics import HubDiagnostics
|
||||||
battery = BatteryDiagnostics(HUB)
|
battery = BatteryDiagnostics(HUB)
|
||||||
motor = MotorDiagnostics(HUB, Motor)
|
motor = MotorDiagnostics(HUB, Motor)
|
||||||
colorsensor = ColorSensorDiagnostics(HUB, ColorSensor)
|
colorsensor = ColorSensorDiagnostics(HUB, ColorSensor)
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
from pybricks.tools import wait, StopWatch
|
from pybricks.tools import wait, StopWatch
|
||||||
from pybricks import version
|
from pybricks import version
|
||||||
import other_functions as debug
|
import OtherFunctions as debug
|
||||||
from micropython_diagnostics import MicroPythonDiagnostics
|
from MicroPythonDiagnostics import MicroPythonDiagnostics
|
||||||
from pybricks.parameters import Port
|
from pybricks.parameters import Port
|
||||||
class HubDiagnostics:
|
class HubDiagnostics:
|
||||||
def __init__(self, hub):
|
def __init__(self, hub):
|
||||||
11
diagnostics/MicroPythonDiagnostics.py
Normal file
11
diagnostics/MicroPythonDiagnostics.py
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
import usys
|
||||||
|
from pybricks import version
|
||||||
|
class MicroPythonDiagnostics:
|
||||||
|
def __init__(self, hub):
|
||||||
|
pass
|
||||||
|
def printAll():
|
||||||
|
print("[Hub Diagnostics - MicroPython] Hub version information:", version)
|
||||||
|
print("[Hub Diagnostics - MicroPython] MicroPython version:", usys.version)
|
||||||
|
print("[Hub Diagnostics - MicroPython] Pybricks version information:", usys.version_info)
|
||||||
|
print("[Hub Diagnostics - MicroPython] MicroPython information:", usys.implementation)
|
||||||
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
import usys
|
|
||||||
import micropython
|
|
||||||
from pybricks import version
|
|
||||||
class MicroPythonDiagnostics:
|
|
||||||
def __init__(self, hub):
|
|
||||||
pass
|
|
||||||
def printVersionDiagnostics():
|
|
||||||
print("[Hub Diagnostics - MicroPython - Version] Hub version information:", version)
|
|
||||||
print("[Hub Diagnostics - MicroPython - Version] MicroPython version:", usys.version)
|
|
||||||
print("[Hub Diagnostics - MicroPython - Version] Pybricks version information:", usys.version_info)
|
|
||||||
print("[Hub Diagnostics - MicroPython - Version] MicroPython information:", usys.implementation)
|
|
||||||
def performMemoryDiagnostics():
|
|
||||||
print("[Hub Diagnostics - MicroPython - Memory] Memory information (retrieved from the MicroPython environment):")
|
|
||||||
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] [SUCCESS] There was no MemoryError raised. The value of the new variable x is", x)
|
|
||||||
except MemoryError:
|
|
||||||
print("[Hub Diagnostics - MicroPython - Memory] [FAIL] 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:
|
|
||||||
y = 10000
|
|
||||||
print("[Hub Diagnostics - MicroPython - Memory] [FAIL] There was no MemoryError raised. Heap lock failed.")
|
|
||||||
except MemoryError:
|
|
||||||
print("[Hub Diagnostics - MicroPython - Memory] [SUCCESS] 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.
|
|
||||||
print("[Hub Diagnostics - MicroPython - Memory] Unlocking the heap:")
|
|
||||||
micropython.heap_unlock()
|
|
||||||
print("[Hub Diagnostics - MicroPython - Memory] Heap was unlocked. Attempting to allocate memory (this should succeed):")
|
|
||||||
try:
|
|
||||||
z = 17000
|
|
||||||
print("[Hub Diagnostics - MicroPython - Memory] [SUCCESS] There was no MemoryError raised. The value of the new variable y is", x)
|
|
||||||
except MemoryError:
|
|
||||||
print("[Hub Diagnostics - MicroPython - Memory] [FAIL] Allocation failed. The heap failed to unlock.")
|
|
||||||
def printAll():
|
|
||||||
printVersionDiagnostics()
|
|
||||||
performMemoryDiagnostics()
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user