add mi control cli
This commit is contained in:
parent
c926bc0072
commit
a7b4cf1d72
@ -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()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user