-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcli
More file actions
executable file
·87 lines (70 loc) · 2.58 KB
/
cli
File metadata and controls
executable file
·87 lines (70 loc) · 2.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!/usr/bin/env python3
# The MIT License (MIT)
#
# Copyright (c) 2019 Chris Osterwood for Capable Robot Components
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
import os, sys, inspect
import time
import argparse
import logging
import click
import adafruit_tca9548a
from capablerobot_camera import *
def setup_logging():
fmtstr = '%(asctime)s | %(filename)25s:%(lineno)4d %(funcName)20s() | %(levelname)7s | %(message)s'
formatter = logging.Formatter(fmtstr)
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.DEBUG)
handler.setFormatter(formatter)
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
logger.addHandler(handler)
@click.group()
@click.option('--verbose', default=False, is_flag=True, help='Increase logging level.')
@click.option('--i2c', default=1, help='Hardware is on this system I2C bus')
@click.option('--tca', default=-1, help='Hardware is behind this channel of a TCA9548A.')
def cli(verbose, i2c, tca):
global pipe
if verbose:
setup_logging()
logging.debug("Logging Setup")
i2c_obj = DirectI2C(bus=i2c)
if tca >= 0:
tca_obj = adafruit_tca9548a.TCA9548A(i2c_obj)
pipe = Pipeline(tca_obj[tca])
else:
pipe = Pipeline(i2c_obj)
print()
@cli.command()
def init():
"""Configure hardware"""
pipe.init()
@cli.command()
def poc_status():
"""Print Power over Coax (PoC) Status"""
pipe.poc_info()
@cli.command()
def loop_status():
"""Print system status in a loop"""
pipe.loop_status()
def main():
cli()
if __name__ == '__main__':
main()