lager-cli 0.22.0__tar.gz → 0.22.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lager_cli-0.22.0/lager_cli.egg-info → lager_cli-0.22.2}/PKG-INFO +1 -1
- {lager_cli-0.22.0 → lager_cli-0.22.2}/__init__.py +1 -1
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/box/config.py +2 -2
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/box/diagnose.py +2 -2
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/box/nets.py +1 -1
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/communication/i2c.py +4 -4
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/communication/spi.py +4 -4
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/communication/uart.py +4 -4
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/communication/usb.py +3 -3
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/development/arm.py +4 -4
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/development/debug/commands.py +4 -4
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/measurement/adc.py +2 -2
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/measurement/dac.py +3 -3
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/measurement/energy.py +3 -3
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/measurement/gpi.py +3 -3
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/measurement/gpo.py +3 -3
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/measurement/logic.py +4 -4
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/measurement/scope.py +5 -5
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/measurement/thermocouple.py +2 -2
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/measurement/watt.py +2 -2
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/power/battery.py +5 -5
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/power/eload.py +4 -4
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/power/solar.py +4 -4
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/power/supply.py +5 -5
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/utility/update.py +2 -2
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/utility/webcam.py +4 -4
- {lager_cli-0.22.0 → lager_cli-0.22.2}/core/net_group.py +2 -2
- {lager_cli-0.22.0 → lager_cli-0.22.2}/core/version_skew.py +1 -1
- {lager_cli-0.22.0 → lager_cli-0.22.2/lager_cli.egg-info}/PKG-INFO +1 -1
- {lager_cli-0.22.0 → lager_cli-0.22.2}/LICENSE +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/MANIFEST.in +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/README.md +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/__main__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/address_utils.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/battery/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/battery/battery_tui.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/battery/websocket_client.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/box_storage.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/box/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/box/_host_ops.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/box/_mount_prep.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/box/_pip_validation.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/box/_shim_verbs.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/box/_ssh.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/box/box_group.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/box/boxes.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/box/hello.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/box/instruments.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/box/lock.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/box/net_tui.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/box/ssh.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/communication/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/communication/ble.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/communication/blufi.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/communication/router.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/communication/websocket_client.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/communication/wifi.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/development/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/development/debug/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/development/debug/gdb.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/development/debug/net_cache.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/development/debug/service_client.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/development/debug/service_helper.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/development/debug/tunnel.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/development/devenv.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/development/python.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/measurement/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/power/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/utility/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/utility/binaries.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/utility/defaults.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/utility/exec_.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/utility/install.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/utility/install_wheel.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/utility/logs.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/commands/utility/uninstall.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/config.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/context/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/context/ci_detection.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/context/constants.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/context/core.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/context/error_handlers.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/context/session.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/core/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/core/matchers.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/core/net_helpers.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/core/net_storage.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/core/param_types.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/core/ssh_utils.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/core/utils.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/core/ws_diagnose.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/deployment/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/deployment/scripts/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/deployment/scripts/convert_to_sparse_checkout.sh +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/deployment/scripts/setup_and_deploy_box.sh +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/deployment/scripts/setup_ssh_key.sh +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/deployment/security/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/deployment/security/secure_box_firewall.sh +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/common/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/common/construct_utils.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/common/exceptions.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/common/py3compat.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/common/utils.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/construct/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/construct/adapters.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/construct/core.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/construct/debug.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/construct/macros.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/dwarf/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/dwarf/abbrevtable.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/dwarf/aranges.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/dwarf/callframe.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/dwarf/compileunit.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/dwarf/constants.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/dwarf/descriptions.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/dwarf/die.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/dwarf/dwarf_expr.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/dwarf/dwarfinfo.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/dwarf/enums.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/dwarf/lineprogram.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/dwarf/locationlists.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/dwarf/namelut.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/dwarf/ranges.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/dwarf/structs.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/ehabi/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/ehabi/constants.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/ehabi/decoder.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/ehabi/ehabiinfo.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/ehabi/structs.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/elf/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/elf/constants.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/elf/descriptions.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/elf/dynamic.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/elf/elffile.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/elf/enums.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/elf/gnuversions.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/elf/hash.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/elf/notes.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/elf/relocation.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/elf/sections.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/elf/segments.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/elftools/elf/structs.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/errors.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/exceptions.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/box_config.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/communication/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/communication/ble.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/communication/blufi.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/communication/i2c.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/communication/router.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/communication/spi.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/communication/uart.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/communication/wifi.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/device/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/device/arm.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/device/hello.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/device/usb.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/device/webcam.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/measurement/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/measurement/adc.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/measurement/dac.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/measurement/energy.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/measurement/gpio.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/measurement/scope.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/measurement/scope_stream.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/measurement/thermocouple.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/measurement/watt.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/net.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/power/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/power/battery.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/power/eload.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/power/enable_disable.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/power/solar.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/power/supply.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/impl/query_instruments.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/lager_cli.egg-info/SOURCES.txt +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/lager_cli.egg-info/dependency_links.txt +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/lager_cli.egg-info/entry_points.txt +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/lager_cli.egg-info/requires.txt +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/lager_cli.egg-info/top_level.txt +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/main.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/pyproject.toml +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/safe_unpickle.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/setup.cfg +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/setup.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/simple_hdlc.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/sort_utils.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/status.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/supply/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/supply/supply_tui.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/supply/websocket_client.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/terminal/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/terminal/core/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/terminal/core/executor.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/terminal/main.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/terminal/ui/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/terminal/ui/completer.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/terminal/ui/display.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/terminal/ui/logo.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/terminal/ui/repl.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/terminal/ui/themes.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/tests/test_box_lager_imports.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/tests/test_box_storage.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/tests/test_io_imports.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/update_check.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/vendor/PyCRC/CRC16.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/vendor/PyCRC/CRC16DNP.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/vendor/PyCRC/CRC16Kermit.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/vendor/PyCRC/CRC16SICK.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/vendor/PyCRC/CRC32.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/vendor/PyCRC/CRCCCITT.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/vendor/PyCRC/__init__.py +0 -0
- {lager_cli-0.22.0 → lager_cli-0.22.2}/vendor/__init__.py +0 -0
|
@@ -206,7 +206,7 @@ def show_cmd(
|
|
|
206
206
|
click.echo(json.dumps(payload, indent=2))
|
|
207
207
|
continue
|
|
208
208
|
# Resolve a display label: prefer the box's stored name; fall back
|
|
209
|
-
# to the resolved IP. The original --box arg might be "
|
|
209
|
+
# to the resolved IP. The original --box arg might be "<BOX>,<BOX>";
|
|
210
210
|
# we already split + resolved per-box.
|
|
211
211
|
name = get_box_name_by_ip(resolved)
|
|
212
212
|
label = name or resolved
|
|
@@ -633,7 +633,7 @@ def diff_cmd(ctx: click.Context, box: Optional[str], as_json: bool) -> None:
|
|
|
633
633
|
def status_cmd(ctx: click.Context, box: Optional[str], as_json: bool) -> None:
|
|
634
634
|
"""Quick health check: clean vs. drifted, field counts, last audit entry.
|
|
635
635
|
|
|
636
|
-
Designed for `lager box config status --box
|
|
636
|
+
Designed for `lager box config status --box <BOX>,<BOX>,<BOX>` —
|
|
637
637
|
one line of signal per box without needing to read full `show` output.
|
|
638
638
|
"""
|
|
639
639
|
targets = _resolve_boxes(ctx, box)
|
|
@@ -227,8 +227,8 @@ def diagnose(ctx, net, box, net_type):
|
|
|
227
227
|
|
|
228
228
|
Example:
|
|
229
229
|
|
|
230
|
-
lager diagnose battery1 --box
|
|
231
|
-
lager diagnose supply1 --box
|
|
230
|
+
lager diagnose battery1 --box <BOX>
|
|
231
|
+
lager diagnose supply1 --box <BOX> --type power-supply
|
|
232
232
|
"""
|
|
233
233
|
resolved_box, box_name = resolve_and_validate_box_with_name(ctx, box)
|
|
234
234
|
display_name = box_name or resolved_box
|
|
@@ -1664,7 +1664,7 @@ def set_script_cmd(
|
|
|
1664
1664
|
|
|
1665
1665
|
Pass ``SCRIPT_PATH='-'`` to read from stdin, e.g.::
|
|
1666
1666
|
|
|
1667
|
-
cat custom.cfg | lager nets set-script SWD - --box
|
|
1667
|
+
cat custom.cfg | lager nets set-script SWD - --box <BOX>
|
|
1668
1668
|
"""
|
|
1669
1669
|
_set_debug_script_impl(ctx, name, script_path, box, backend)
|
|
1670
1670
|
|
|
@@ -334,10 +334,10 @@ def i2c(ctx, netname, box):
|
|
|
334
334
|
|
|
335
335
|
|
|
336
336
|
i2c.net_examples = [
|
|
337
|
-
"lager i2c i2c1 scan --box
|
|
338
|
-
"lager i2c i2c1 read 4 --address 0x48 --box
|
|
339
|
-
"lager i2c i2c1 write 0x0A03 --address 0x48 --box
|
|
340
|
-
"lager i2c i2c1 --box
|
|
337
|
+
"lager i2c i2c1 scan --box <BOX>",
|
|
338
|
+
"lager i2c i2c1 read 4 --address 0x48 --box <BOX>",
|
|
339
|
+
"lager i2c i2c1 write 0x0A03 --address 0x48 --box <BOX>",
|
|
340
|
+
"lager i2c i2c1 --box <BOX> (show net config)",
|
|
341
341
|
]
|
|
342
342
|
|
|
343
343
|
|
|
@@ -437,10 +437,10 @@ def spi(ctx, netname, box):
|
|
|
437
437
|
|
|
438
438
|
|
|
439
439
|
spi.net_examples = [
|
|
440
|
-
"lager spi spi1 transfer --data 0x9f 4 --box
|
|
441
|
-
"lager spi spi1 read 4 --fill 0xFF --box
|
|
442
|
-
"lager spi spi1 config --mode 0 --frequency 1M --box
|
|
443
|
-
"lager spi spi1 --box
|
|
440
|
+
"lager spi spi1 transfer --data 0x9f 4 --box <BOX>",
|
|
441
|
+
"lager spi spi1 read 4 --fill 0xFF --box <BOX>",
|
|
442
|
+
"lager spi spi1 config --mode 0 --frequency 1M --box <BOX>",
|
|
443
|
+
"lager spi spi1 --box <BOX> (show net config)",
|
|
444
444
|
]
|
|
445
445
|
|
|
446
446
|
|
|
@@ -446,8 +446,8 @@ def uart(ctx, netname, action, box, baudrate, bytesize, parity, stopbits, xonxof
|
|
|
446
446
|
|
|
447
447
|
|
|
448
448
|
uart.net_examples = [
|
|
449
|
-
"lager uart uart1 --box
|
|
450
|
-
"lager uart uart1 --baudrate 115200 --box
|
|
451
|
-
"lager uart uart1 --interactive --box
|
|
452
|
-
"lager uart --box
|
|
449
|
+
"lager uart uart1 --box <BOX>",
|
|
450
|
+
"lager uart uart1 --baudrate 115200 --box <BOX>",
|
|
451
|
+
"lager uart uart1 --interactive --box <BOX>",
|
|
452
|
+
"lager uart --box <BOX> (list UART nets)",
|
|
453
453
|
]
|
|
@@ -215,7 +215,7 @@ def toggle(ctx, box):
|
|
|
215
215
|
|
|
216
216
|
|
|
217
217
|
usb.net_examples = [
|
|
218
|
-
"lager usb usb1 enable --box
|
|
219
|
-
"lager usb usb1 toggle --box
|
|
220
|
-
"lager usb --box
|
|
218
|
+
"lager usb usb1 enable --box <BOX>",
|
|
219
|
+
"lager usb usb1 toggle --box <BOX>",
|
|
220
|
+
"lager usb --box <BOX> (list USB nets)",
|
|
221
221
|
]
|
|
@@ -144,10 +144,10 @@ def arm(ctx, box, netname):
|
|
|
144
144
|
|
|
145
145
|
|
|
146
146
|
arm.net_examples = [
|
|
147
|
-
"lager arm arm1 position --box
|
|
148
|
-
"lager arm arm1 move --x 100 --y 200 --z 50 --box
|
|
149
|
-
"lager arm arm1 go-home --box
|
|
150
|
-
"lager arm --box
|
|
147
|
+
"lager arm arm1 position --box <BOX>",
|
|
148
|
+
"lager arm arm1 move --x 100 --y 200 --z 50 --box <BOX>",
|
|
149
|
+
"lager arm arm1 go-home --box <BOX>",
|
|
150
|
+
"lager arm --box <BOX> (list arm nets)",
|
|
151
151
|
]
|
|
152
152
|
|
|
153
153
|
|
|
@@ -504,10 +504,10 @@ class NetDebugGroup(NetGroupHelpMixin, click.MultiCommand):
|
|
|
504
504
|
"""Custom multi-command that treats first argument as net name"""
|
|
505
505
|
|
|
506
506
|
net_examples = [
|
|
507
|
-
"lager debug SWD reset --box
|
|
508
|
-
"lager debug SWD flash --elf firmware.elf --box
|
|
509
|
-
"lager debug SWD memrd 0x20000000 256 --box
|
|
510
|
-
"lager debug status --box
|
|
507
|
+
"lager debug SWD reset --box <BOX>",
|
|
508
|
+
"lager debug SWD flash --elf firmware.elf --box <BOX>",
|
|
509
|
+
"lager debug SWD memrd 0x20000000 256 --box <BOX>",
|
|
510
|
+
"lager debug status --box <BOX> (uses default debug net)",
|
|
511
511
|
]
|
|
512
512
|
|
|
513
513
|
def list_commands(self, ctx):
|
|
@@ -90,7 +90,7 @@ def dac(ctx, box, netname, voltage):
|
|
|
90
90
|
|
|
91
91
|
|
|
92
92
|
dac.net_examples = [
|
|
93
|
-
"lager dac dac1 3.3 --box
|
|
94
|
-
"lager dac dac1 --box
|
|
95
|
-
"lager dac --box
|
|
93
|
+
"lager dac dac1 3.3 --box <BOX> (set 3.3 V)",
|
|
94
|
+
"lager dac dac1 --box <BOX> (read current value)",
|
|
95
|
+
"lager dac --box <BOX> (list DAC nets)",
|
|
96
96
|
]
|
|
@@ -94,9 +94,9 @@ def energy(ctx, netname):
|
|
|
94
94
|
|
|
95
95
|
|
|
96
96
|
energy.net_examples = [
|
|
97
|
-
"lager energy energy1 read --duration 10 --box
|
|
98
|
-
"lager energy energy1 stats --duration 5 --box
|
|
99
|
-
"lager energy --box
|
|
97
|
+
"lager energy energy1 read --duration 10 --box <BOX>",
|
|
98
|
+
"lager energy energy1 stats --duration 5 --box <BOX>",
|
|
99
|
+
"lager energy --box <BOX> (list energy analyzer nets)",
|
|
100
100
|
]
|
|
101
101
|
|
|
102
102
|
|
|
@@ -95,7 +95,7 @@ def gpi(ctx, box, wait_for, timeout, scan_rate, scans_per_read, poll_interval, n
|
|
|
95
95
|
|
|
96
96
|
|
|
97
97
|
gpi.net_examples = [
|
|
98
|
-
"lager gpi gpi1 --box
|
|
99
|
-
"lager gpi gpi1 --wait-for high --timeout 5 --box
|
|
100
|
-
"lager gpi --box
|
|
98
|
+
"lager gpi gpi1 --box <BOX>",
|
|
99
|
+
"lager gpi gpi1 --wait-for high --timeout 5 --box <BOX>",
|
|
100
|
+
"lager gpi --box <BOX> (list GPIO nets)",
|
|
101
101
|
]
|
|
@@ -81,7 +81,7 @@ def gpo(ctx, box, netname, level, hold):
|
|
|
81
81
|
|
|
82
82
|
|
|
83
83
|
gpo.net_examples = [
|
|
84
|
-
"lager gpo gpo1 high --box
|
|
85
|
-
"lager gpo gpo1 toggle --box
|
|
86
|
-
"lager gpo --box
|
|
84
|
+
"lager gpo gpo1 high --box <BOX>",
|
|
85
|
+
"lager gpo gpo1 toggle --box <BOX>",
|
|
86
|
+
"lager gpo --box <BOX> (list GPIO nets)",
|
|
87
87
|
]
|
|
@@ -59,10 +59,10 @@ def logic(ctx, box, netname):
|
|
|
59
59
|
|
|
60
60
|
|
|
61
61
|
logic.net_examples = [
|
|
62
|
-
"lager logic logic1 enable --box
|
|
63
|
-
"lager logic logic1 start --box
|
|
64
|
-
"lager logic logic1 trigger --box
|
|
65
|
-
"lager logic --box
|
|
62
|
+
"lager logic logic1 enable --box <BOX>",
|
|
63
|
+
"lager logic logic1 start --box <BOX>",
|
|
64
|
+
"lager logic logic1 trigger --box <BOX>",
|
|
65
|
+
"lager logic --box <BOX> (list logic nets)",
|
|
66
66
|
]
|
|
67
67
|
|
|
68
68
|
|
|
@@ -129,11 +129,11 @@ def scope(ctx, box, netname):
|
|
|
129
129
|
|
|
130
130
|
|
|
131
131
|
scope.net_examples = [
|
|
132
|
-
"lager scope scope1 enable --box
|
|
133
|
-
"lager scope scope1 scale 0.5 --box
|
|
134
|
-
"lager scope scope1 timebase 1e-3 --box
|
|
135
|
-
"lager scope scope1 start --box
|
|
136
|
-
"lager scope --box
|
|
132
|
+
"lager scope scope1 enable --box <BOX>",
|
|
133
|
+
"lager scope scope1 scale 0.5 --box <BOX>",
|
|
134
|
+
"lager scope scope1 timebase 1e-3 --box <BOX>",
|
|
135
|
+
"lager scope scope1 start --box <BOX>",
|
|
136
|
+
"lager scope --box <BOX> (list scope nets)",
|
|
137
137
|
]
|
|
138
138
|
|
|
139
139
|
|
|
@@ -78,6 +78,6 @@ def thermocouple(ctx, box, netname):
|
|
|
78
78
|
|
|
79
79
|
|
|
80
80
|
thermocouple.net_examples = [
|
|
81
|
-
"lager thermocouple tc1 --box
|
|
82
|
-
"lager thermocouple --box
|
|
81
|
+
"lager thermocouple tc1 --box <BOX>",
|
|
82
|
+
"lager thermocouple --box <BOX> (list thermocouple nets)",
|
|
83
83
|
]
|
|
@@ -138,11 +138,11 @@ def battery(ctx, box, netname):
|
|
|
138
138
|
|
|
139
139
|
|
|
140
140
|
battery.net_examples = [
|
|
141
|
-
"lager battery batt1 soc 80 --box
|
|
142
|
-
"lager battery batt1 voc 3.7 --box
|
|
143
|
-
"lager battery batt1 enable --box
|
|
144
|
-
"lager battery batt1 state --box
|
|
145
|
-
"lager battery --box
|
|
141
|
+
"lager battery batt1 soc 80 --box <BOX>",
|
|
142
|
+
"lager battery batt1 voc 3.7 --box <BOX>",
|
|
143
|
+
"lager battery batt1 enable --box <BOX>",
|
|
144
|
+
"lager battery batt1 state --box <BOX>",
|
|
145
|
+
"lager battery --box <BOX> (list battery nets)",
|
|
146
146
|
]
|
|
147
147
|
|
|
148
148
|
|
|
@@ -89,10 +89,10 @@ def eload(ctx, netname, box):
|
|
|
89
89
|
|
|
90
90
|
|
|
91
91
|
eload.net_examples = [
|
|
92
|
-
"lager eload eload1 cc 0.5 --box
|
|
93
|
-
"lager eload eload1 cv 3.3 --box
|
|
94
|
-
"lager eload eload1 state --box
|
|
95
|
-
"lager eload --box
|
|
92
|
+
"lager eload eload1 cc 0.5 --box <BOX>",
|
|
93
|
+
"lager eload eload1 cv 3.3 --box <BOX>",
|
|
94
|
+
"lager eload eload1 state --box <BOX>",
|
|
95
|
+
"lager eload --box <BOX> (list electronic load nets)",
|
|
96
96
|
]
|
|
97
97
|
|
|
98
98
|
|
|
@@ -120,10 +120,10 @@ def solar(ctx, netname, box):
|
|
|
120
120
|
|
|
121
121
|
|
|
122
122
|
solar.net_examples = [
|
|
123
|
-
"lager solar solar1 set --box
|
|
124
|
-
"lager solar solar1 irradiance 1000 --box
|
|
125
|
-
"lager solar solar1 voc --box
|
|
126
|
-
"lager solar --box
|
|
123
|
+
"lager solar solar1 set --box <BOX>",
|
|
124
|
+
"lager solar solar1 irradiance 1000 --box <BOX>",
|
|
125
|
+
"lager solar solar1 voc --box <BOX>",
|
|
126
|
+
"lager solar --box <BOX> (list solar nets)",
|
|
127
127
|
]
|
|
128
128
|
|
|
129
129
|
|
|
@@ -230,11 +230,11 @@ def supply(ctx, box, netname):
|
|
|
230
230
|
|
|
231
231
|
|
|
232
232
|
supply.net_examples = [
|
|
233
|
-
"lager supply supply1 voltage 3.3 --box
|
|
234
|
-
"lager supply supply1 current 0.5 --box
|
|
235
|
-
"lager supply supply1 enable --box
|
|
236
|
-
"lager supply supply1 state --box
|
|
237
|
-
"lager supply --box
|
|
233
|
+
"lager supply supply1 voltage 3.3 --box <BOX>",
|
|
234
|
+
"lager supply supply1 current 0.5 --box <BOX>",
|
|
235
|
+
"lager supply supply1 enable --box <BOX>",
|
|
236
|
+
"lager supply supply1 state --box <BOX>",
|
|
237
|
+
"lager supply --box <BOX> (list supply nets)",
|
|
238
238
|
]
|
|
239
239
|
|
|
240
240
|
|
|
@@ -1064,7 +1064,7 @@ def _update_logic(ctx, *, box, yes, version, verbose, check, force=False):
|
|
|
1064
1064
|
|
|
1065
1065
|
# `git checkout -f` so a prior flatten artifact (a root-level tracked
|
|
1066
1066
|
# file overwritten by box/<same-name>) doesn't block the switch.
|
|
1067
|
-
# Observed on
|
|
1067
|
+
# Observed on one box: flatten of a branch that had both root README.md
|
|
1068
1068
|
# and box/README.md left the root copy looking modified, and
|
|
1069
1069
|
# `git checkout main` failed with "local changes would be
|
|
1070
1070
|
# overwritten". Editing the on-box git tree by hand is not a
|
|
@@ -1075,7 +1075,7 @@ def _update_logic(ctx, *, box, yes, version, verbose, check, force=False):
|
|
|
1075
1075
|
# version of this code happened to run in a separate SSH call whose
|
|
1076
1076
|
# exit was never checked, so the failure was silently swallowed; the
|
|
1077
1077
|
# `|| true` here preserves that behavior so a newer-git box (e.g.
|
|
1078
|
-
#
|
|
1078
|
+
# one box at 2.43) doesn't abort the whole pull. udev_rules is a
|
|
1079
1079
|
# directory and never hits this, so it stays strict.
|
|
1080
1080
|
pull_script = (
|
|
1081
1081
|
'cd ~/box && '
|
|
@@ -269,10 +269,10 @@ def webcam(ctx, box):
|
|
|
269
269
|
|
|
270
270
|
|
|
271
271
|
webcam.net_examples = [
|
|
272
|
-
"lager webcam cam1 start --box
|
|
273
|
-
"lager webcam cam1 stop --box
|
|
274
|
-
"lager webcam url --box
|
|
275
|
-
"lager webcam start-all --box
|
|
272
|
+
"lager webcam cam1 start --box <BOX>",
|
|
273
|
+
"lager webcam cam1 stop --box <BOX>",
|
|
274
|
+
"lager webcam url --box <BOX> (URLs of active streams)",
|
|
275
|
+
"lager webcam start-all --box <BOX> (no NET_NAME needed)",
|
|
276
276
|
]
|
|
277
277
|
|
|
278
278
|
|
|
@@ -17,9 +17,9 @@ where:
|
|
|
17
17
|
|
|
18
18
|
Click's stock usage line for a group is ``[OPTIONS] COMMAND [ARGS]...``. That
|
|
19
19
|
is actively misleading here: it implies ``--box`` is a *group* option that
|
|
20
|
-
precedes the command (``lager debug --box
|
|
20
|
+
precedes the command (``lager debug --box <BOX> reset``), when in fact
|
|
21
21
|
``--box`` is defined on each subcommand and must follow it
|
|
22
|
-
(``lager debug reset --box
|
|
22
|
+
(``lager debug reset --box <BOX>``). New users hit this constantly.
|
|
23
23
|
|
|
24
24
|
This module supplies three building blocks:
|
|
25
25
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"""
|
|
5
5
|
Version-skew warning between CLI and box.
|
|
6
6
|
|
|
7
|
-
The
|
|
7
|
+
The 2026-05-26 incident started with CLI 0.19.2 talking to box
|
|
8
8
|
0.18.3 and the first error was opaque. A simple one-line warning at the
|
|
9
9
|
start of the session would have cut diagnosis time by hours. This module
|
|
10
10
|
implements that:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|