11
11
}
12
12
}
13
13
14
+ """MESSAGE TEMPLATE
15
+
16
+ message = {
17
+ "kind": "rpc_request",
18
+ "args": {
19
+ "label": "",
20
+ "priority": # Code here... (600)
21
+ },
22
+ "body": [
23
+ {
24
+ # Instructions here...
25
+ }
26
+ ]
27
+ }
28
+
29
+ """
30
+
14
31
class BrokerFunctions ():
15
32
def __init__ (self ):
16
33
self .broker_connect = BrokerConnect ()
@@ -20,15 +37,21 @@ def __init__(self):
20
37
21
38
def read_status (self ):
22
39
# Get device status tree
23
- status_message = {
24
- ** RPC_REQUEST ,
25
- "body" : {
26
- "kind" : "read_status" ,
27
- "args" : {}
28
- }
40
+ message = {
41
+ "kind" : "rpc_request" ,
42
+ "args" : {
43
+ "label" : "" ,
44
+ "priority" : 600
45
+ },
46
+ "body" : [
47
+ {
48
+ "kind" : "read_status" ,
49
+ "args" : {}
50
+ }
51
+ ]
29
52
}
30
53
31
- self .broker_connect .publish (status_message )
54
+ self .broker_connect .publish (message )
32
55
self .broker_connect .listen (5 , 'status' )
33
56
34
57
status_tree = self .broker_connect .last_message
@@ -38,7 +61,6 @@ def read_status(self):
38
61
39
62
def read_sensor (self , id ):
40
63
# Get sensor data
41
- # Return sensor as json object: sensor[""]
42
64
peripheral_str = self .api .get_info ('peripherals' , id )
43
65
mode = peripheral_str ['mode' ]
44
66
@@ -60,52 +82,63 @@ def read_sensor(self, id):
60
82
}]
61
83
}
62
84
85
+ # Return sensor as json object: sensor[""]
86
+
63
87
def message (self , message , type = None ):
64
88
# Send new log message via broker
65
- # No inherent return value
66
- message_message = {
67
- ** RPC_REQUEST ,
68
- "body" : {
69
- "kind" : "send_message" ,
70
- "args" : {
71
- "message" : message ,
72
- "message_type" : type
89
+ message = {
90
+ "kind" : "rpc_request" ,
91
+ "args" : {
92
+ "label" : "" ,
93
+ "priority" : 600
94
+ },
95
+ "body" : [
96
+ {
97
+ "kind" : "send_message" ,
98
+ "args" : {
99
+ "message" : message ,
100
+ "message_type" : type
101
+ }
73
102
}
74
- }
103
+ ]
75
104
}
76
-
77
- self . broker_connect . publish ( message_message )
105
+ self . broker_connect . publish ( message )
106
+ # No inherent return value
78
107
79
108
def debug (self , message ):
80
109
# Send 'debug' type message
81
110
# No inherent return value
82
- self .message (message , ' debug' )
111
+ self .message (message , " debug" )
83
112
84
113
def toast (self , message ):
85
114
# Send 'toast' type message
86
115
# No inherent return value
87
- self .message (message , ' toast' )
116
+ self .message (message , " toast" )
88
117
89
118
def wait (self , duration ):
90
119
# Tell bot to wait for some time
91
- # No inherent return value
92
- wait_message = {
93
- ** RPC_REQUEST ,
94
- "body" : {
95
- "kind" : "wait" ,
96
- "args" : {
97
- "milliseconds" : duration
120
+ message = {
121
+ "kind" : "rpc_request" ,
122
+ "args" : {
123
+ "label" : "" ,
124
+ "priority" : 600
125
+ },
126
+ "body" : [
127
+ {
128
+ "kind" : "wait" ,
129
+ "args" : {
130
+ "milliseconds" : duration
131
+ }
98
132
}
99
- }
133
+ ]
100
134
}
135
+ self .broker_connect .publish (message )
101
136
102
- self . broker_connect . publish ( wait_message )
137
+ # No inherent return value
103
138
return print ("Waiting for " + str (duration )+ " milliseconds..." )
104
139
105
140
def e_stop (self ):
106
141
# Tell bot to emergency stop
107
- # No inherent return value
108
-
109
142
new_message = {
110
143
"kind" : "rpc_request" ,
111
144
"args" : {
@@ -119,16 +152,9 @@ def e_stop(self):
119
152
}
120
153
]
121
154
}
122
- # e_stop_message = {
123
- # **RPC_REQUEST,
124
- # "body": {
125
- # "kind": "emergency_lock",
126
- # "args": {}
127
- # }
128
- # }
129
-
130
- # self.broker_connect.publish(e_stop_message)
131
155
self .broker_connect .publish (new_message )
156
+
157
+ # No inherent return value
132
158
return print ("Triggered device emergency stop." )
133
159
134
160
def unlock (self ):
@@ -192,8 +218,6 @@ def shutdown(self):
192
218
return print ("Triggered device shutdown." )
193
219
194
220
def move (self , x , y , z ):
195
- # Tell bot to move to new xyz coord
196
- # Return new xyz position as values
197
221
def axis_overwrite (axis , value ):
198
222
return {
199
223
"kind" : "axis_overwrite" ,
@@ -208,35 +232,49 @@ def axis_overwrite(axis, value):
208
232
}
209
233
}
210
234
235
+ # Tell bot to move to new xyz coord
211
236
move_message = {
212
- ** RPC_REQUEST ,
213
- "body" : {
214
- "kind" : "move" ,
215
- "args" : {},
216
- "body" : [
217
- axis_overwrite ("x" , x ),
218
- axis_overwrite ("y" , y ),
219
- axis_overwrite ("z" , z )
220
- ]
221
- }
237
+ "kind" : "rpc_request" ,
238
+ "args" : {
239
+ "label" : "" ,
240
+ "priority" : 600
241
+ },
242
+ "body" : [
243
+ {
244
+ "kind" : "move" ,
245
+ "args" : {},
246
+ "body" : [
247
+ axis_overwrite ("x" , x ),
248
+ axis_overwrite ("y" , y ),
249
+ axis_overwrite ("z" , z )
250
+ ]
251
+ }
252
+ ]
222
253
}
223
254
224
255
self .broker_connect .publish (move_message )
256
+ # Return new xyz position as values
225
257
226
258
def set_home (self , axis = 'all' ):
227
259
# Set current xyz coord as 0,0,0
228
- # No inherent return value
229
260
set_home_message = {
230
- ** RPC_REQUEST ,
231
- "body" : {
232
- "kind" : "zero" ,
233
- "args" : {
234
- "axis" : axis
261
+ "kind" : "rpc_request" ,
262
+ "args" : {
263
+ "label" : "" ,
264
+ "priority" : 600
265
+ },
266
+ "body" : [
267
+ {
268
+ "kind" : "zero" ,
269
+ "args" : {
270
+ "axis" : axis
271
+ }
235
272
}
236
- }
273
+ ]
237
274
}
238
275
239
276
self .broker_connect .publish (set_home_message )
277
+ # No inherent return value
240
278
241
279
def find_home (self , axis = 'all' , speed = 100 ):
242
280
# Move to 0,0,0
0 commit comments