__version__ = "0.3.9-0" import sys import importlib import compLib.LogstashLogging import compLib.MetricsLogging from compLib.Lock import Lock apt_found = importlib.util.find_spec("apt") is not None spi_found = importlib.util.find_spec("spidev") is not None if apt_found: import apt try: __versions = apt.Cache()["python3-complib"].versions if len(__versions) != 1: print(f"Starting compLib! \033[91mVersion: {__version__} is outdated\033[0m\n" f"\033[92m[!] run the command 'sudo apt update && sudo apt install python3-complib' to install the newest version\033[0m") else: print(f"Starting compLib! \033[92mVersion: {__version__} is up to date\033[0m") except Exception as e: compLib.LogstashLogging.Logging.get_logger().error(f"error during checking apt package version -> {str(e)}") print(f"\033[91merror during checking apt package version -> {str(e)}\033[0m\n") else: print("apt is not installed! This is for local development only!") if Lock.is_locked(): print("Another program using compLib is still running! Delete /root/complib.lock if this is an error. Exiting...") sys.exit() else: Lock.lock() if spi_found: from compLib.Spi import Spi from compLib.Reset import Reset from compLib.Encoder import Encoder from compLib.Motor import Motor import logging print(f"\033[34mInitializing chipmunk board...\033[0m") Reset.reset_bot() Spi.health_check() Spi.start_health_check_loop() Motor.start_robot_state_loop() Encoder.clear_all() print(f"\033[34mReady\033[0m\n") else: print("spidev is not installed! This is for local development only!")