# PyBricks Loader # Helper program loaded onto the hub to handle multiple programs to present as much of a SPIKE interface as possible. import content import pybricks LOADER_MAJOR=1 LOADER_MINOR=0 LOADER_PATCH=0 LOADER_VERSION='1.0.0' COUNTER_TX=0 COUNTER_RX=0 def tx(cmd, data): print(f'{COUNTER_TX}:{cmd}:{data}') COUNTER_TX += 1 # Send message to the host machine, if present, to inform it that PyBricks Loader is present and booted. # Example: message 0, pbl 1.0.0, on primehub, 3.2.0b5 # 0:pyblocks-loader-info:1.0.0|primehub|3.2.0b5 tx('pyblocks-loader-info', f'{LOADER_MAJOR}.{LOADER_MINOR}.{LOADER_PATCH}|{pybricks.version()[0]}|{pybricks.version()[1]}') # Send message to the host machine, if present, to give it information about the current status of PyBlocks. # Example: message 1, project loaded, project ID 0, project name Hello, world, 18 scripts loaded # 1:pyblocks-project-info:True|0|Hello, world|18 # or, on first install: # 1:pyblocks-project-info:False|None|None|0 tx('pybricks-project-info', f'{HAS_PROJECT}|{PROJECT_ID}|{PROJECT_NAME}|{SCRIPTS_LOADED}')