Skip to content

Commit 61ad332

Browse files
Juliana MashonJuliana Mashon
Juliana Mashon
authored and
Juliana Mashon
committed
Boomark--working
1 parent 85dce79 commit 61ad332

File tree

6 files changed

+69
-42
lines changed

6 files changed

+69
-42
lines changed

functions/basic_commands.py

+38-18
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,13 @@ def __init__(self, state):
1717
self.broker = BrokerConnect(state)
1818

1919
def wait(self, duration):
20-
# Tell bot to wait for some time
20+
verbosity_level = {
21+
1: lambda: print("`wait` called"),
22+
2: lambda: print(f"Waiting for {duration} milliseconds...")
23+
}
24+
25+
verbosity_level[self.broker.state.verbosity]()
26+
2127
wait_message = {
2228
"kind": "rpc_request",
2329
"args": {
@@ -31,13 +37,17 @@ def wait(self, duration):
3137
}
3238
}]
3339
}
34-
self.broker.publish(wait_message)
3540

36-
# No inherent return value
37-
return print("Waiting for "+str(duration)+" milliseconds...")
41+
self.broker.publish(wait_message)
3842

3943
def e_stop(self):
40-
# Tell bot to emergency stop
44+
verbosity_level = {
45+
1: lambda: print("`e_stop` called"),
46+
2: lambda: print(f"Triggered device emergency stop at: {datetime.now()}")
47+
}
48+
49+
verbosity_level[self.broker.state.verbosity]()
50+
4151
stop_message = {
4252
"kind": "rpc_request",
4353
"args": {
@@ -49,13 +59,17 @@ def e_stop(self):
4959
"args": {}
5060
}]
5161
}
52-
self.broker.publish(stop_message)
5362

54-
# No inherent return value
55-
return print("Triggered device emergency stop.")
63+
self.broker.publish(stop_message)
5664

5765
def unlock(self):
58-
# Tell bot to unlock
66+
verbosity_level = {
67+
1: lambda: print("`unlock` called"),
68+
2: lambda: print(f"Triggered device unlock at: {datetime.now()}")
69+
}
70+
71+
verbosity_level[self.broker.state.verbosity]()
72+
5973
unlock_message = {
6074
"kind": "rpc_request",
6175
"args": {
@@ -67,14 +81,17 @@ def unlock(self):
6781
"args": {}
6882
}]
6983
}
70-
self.broker.publish(unlock_message)
7184

72-
# No inherent return value
73-
return print("Triggered device unlock.")
85+
self.broker.publish(unlock_message)
7486

7587
def reboot(self):
76-
# Tell bot to reboot
77-
# No inherent return value
88+
verbosity_level = {
89+
1: lambda: print("`reboot` called"),
90+
2: lambda: print(f"Triggered device reboot at: {datetime.now()}")
91+
}
92+
93+
verbosity_level[self.broker.state.verbosity]()
94+
7895
reboot_message = {
7996
**RPC_REQUEST,
8097
"body": [{
@@ -86,11 +103,15 @@ def reboot(self):
86103
}
87104

88105
self.broker.publish(reboot_message)
89-
return print("Triggered device reboot.")
90106

91107
def shutdown(self):
92-
# Tell bot to shutdown
93-
# No inherent return value
108+
verbosity_level = {
109+
1: lambda: print("`shutdown` called"),
110+
2: lambda: print(f"Triggered device shutdown at: {datetime.now()}")
111+
}
112+
113+
verbosity_level[self.broker.state.verbosity]()
114+
94115
shutdown_message = {
95116
**RPC_REQUEST,
96117
"body": [{
@@ -100,4 +121,3 @@ def shutdown(self):
100121
}
101122

102123
self.broker.publish(shutdown_message)
103-
return print("Triggered device shutdown.")

functions/broker.py

-11
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,6 @@ def __init__(self, state):
1818
self.state = state
1919
self.client = None
2020

21-
# def connect() --> connect to message broker to send messages
22-
# def disconnect() --> disconnect from message broker
23-
24-
# def publish() --> send message via message broker
25-
26-
# def on_connect() --> subscribe to messages from specific broker channel
27-
# def on_message() --> update message queue with latest response
28-
29-
# def start_listen() --> start listening to broker channel (print each message if echo == true)
30-
# def stop_listen() --> stop listening to broker channel
31-
3221
def connect(self):
3322
self.client = mqtt.Client()
3423
self.client.username_pw_set(

functions/camera.py

+16-6
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,13 @@ def __init__(self, state):
1515
self.broker = BrokerConnect(state)
1616

1717
def calibrate_camera(self):
18-
# Execute calibrate camera script
19-
# No inherent return value
18+
verbosity_level = {
19+
1: lambda: print("`calibrate_camera` called"),
20+
2: lambda: print(f"Triggered camera calibration at: {datetime.now()}")
21+
}
22+
23+
verbosity_level[self.broker.state.verbosity]()
24+
2025
calibrate_message = {
2126
**RPC_REQUEST,
2227
"body": [{
@@ -30,16 +35,21 @@ def calibrate_camera(self):
3035
self.broker.publish(calibrate_message)
3136

3237
def take_photo(self):
33-
# Take single photo
34-
# No inherent return value
35-
take_photo_message = {
38+
verbosity_level = {
39+
1: lambda: print("`take_photo` called"),
40+
2: lambda: print(f"Took a photo at: {datetime.now()}")
41+
}
42+
43+
verbosity_level[self.broker.state.verbosity]()
44+
45+
photo_message = {
3646
**RPC_REQUEST,
3747
"body": [{
3848
"kind": "take_photo",
3949
"args": {}
4050
}]
4151
}
4252

43-
self.broker.publish(take_photo_message)
53+
self.broker.publish(photo_message)
4454

4555
# TODO: photo_grid()

functions/imports.py

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import requests
1010

1111
import time
12+
import datetime
1213
from datetime import datetime
1314

1415
import paho.mqtt.client as mqtt

functions/information.py

+13-6
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,28 @@ def __init__(self, state):
2323
self.auth = Authentication(state)
2424

2525
def get_info(self, endpoint, id=None):
26-
# Get endpoint info
2726
endpoint_data = self.auth.request('GET', endpoint, id)
28-
# Return endpoint info as json object: endpoint[""]
27+
28+
verbosity_level = {
29+
1: lambda: print("`get_info` called"),
30+
2: lambda: (
31+
print(json.dumps(endpoint_data[f"{id}"], indent=4)) if id else None,
32+
print(json.dumps(endpoint_data, indent=4))
33+
)
34+
}
35+
36+
verbosity_level[self.auth.state.verbosity]()
37+
2938
return endpoint_data
3039

3140
def set_info(self, endpoint, field, value, id=None):
32-
# Edit endpoint info
3341
new_value = {
3442
field: value
3543
}
44+
3645
self.auth.request('PATCH', endpoint, id, new_value)
3746

38-
# Return endpoint info as json object: endpoint[""]
39-
new_endpoint_data = self.auth.request('GET', endpoint, id)
40-
return new_endpoint_data
47+
return self.get_info(endpoint, id)
4148

4249
def safe_z(self):
4350
# Get safe z height via get_info()

main.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ def __init__(self):
99
self.token = None
1010
self.error = None
1111
self.last_message = None
12-
self.verbosity = 1
12+
self.verbosity = 2
1313

1414
class Farmbot():
1515
def __init__(self):

0 commit comments

Comments
 (0)