diff --git a/flandre/launcher.py b/flandre/launcher.py index b8eb6e2..2ecb225 100644 --- a/flandre/launcher.py +++ b/flandre/launcher.py @@ -17,6 +17,8 @@ from flandre.BusClient import BusClient from flandre.kde_pyqt6_mainui import kde_pyqt6_mainui from flandre.nodes.Broker import Broker from flandre.utils.Msg import KillMsg, NodeOnlineMsg, Msg1, Msg2 +from flandre.utils.mi import c1_connect, c2_connect, c1_disconnect, c2_disconnect, c1_connected, c1_power, c2_connected + class LaunchComponent(Enum): MainUI = auto() @@ -93,21 +95,24 @@ def launch_from_file(file: Path): launch(arg_d) -@click.command() -@click.option('--data_folder', default=None) -@click.option('--generate_pyqt', default=True) +@click.group() @click.option('--dev/--no-dev', default=True) -@click.option('-p', '--path', type=str, - default=platformdirs.user_config_path('Flandre', 'Scarlet') / 'launch.toml', - help='Path to launch.toml' - ) -def entrypoint(data_folder, generate_pyqt, dev, path): +def entrypoint(dev): if dev: C.config_folder = P.DEV_PROJECT_FOLDER / 'config' C.log_folder = P.DEV_PROJECT_FOLDER / 'log' else: C.read_config(C.software_config_file) + +@entrypoint.command() +@click.option('--data_folder', default=None) +@click.option('--generate_pyqt', default=True) +@click.option('-p', '--path', type=str, + default=platformdirs.user_config_path('Flandre', 'Scarlet') / 'launch.toml', + help='Path to launch.toml' + ) +def gui(data_folder, generate_pyqt, path): if (pyuic6 := shutil.which('pyuic6')) is None: print('pyuic6 is not installed') return @@ -125,5 +130,38 @@ def entrypoint(data_folder, generate_pyqt, dev, path): launch_from_file(path) +@entrypoint.group() +def mi(): + pass + + +@mi.command() +@click.argument('name') +def on(name): + if name == 'c1': + c1_connect() + if name == 'c2': + c2_connect() + + +@mi.command() +@click.argument('name') +def off(name): + if name == 'c1': + c1_disconnect() + if name == 'c2': + c2_disconnect() + + +@mi.command() +@click.argument('name') +def status(name): + if name == 'c1': + print(c1_connected()) + print(c1_power()) + if name == 'c2': + print(c2_connected()) + + if __name__ == '__main__': entrypoint()