@@ -48,22 +48,22 @@ static const struct smf_state states[];
48
48
static void init_entry (void * o );
49
49
static void init_run (void * o );
50
50
51
- static void connected_entry (void * o );
52
- static void connected_run (void * o );
51
+ static void cloud_connected_entry (void * o );
52
+ static void cloud_connected_run (void * o );
53
53
54
- static void disconnected_entry (void * o );
55
- static void disconnected_run (void * o );
54
+ static void cloud_disconnected_entry (void * o );
55
+ static void cloud_disconnected_run (void * o );
56
56
57
57
/* Defining the hierarchical trigger module states:
58
58
*
59
59
* STATE_INIT: Initial state where the module waits for time to be available.
60
- * STATE_DISCONNECTED : Cloud connection is not established or paused
61
- * STATE_CONNECTED : Cloud connection is established and ready to send data
60
+ * STATE_CLOUD_DISCONNECTED : Cloud connection is not established or paused
61
+ * STATE_CLOUD_CONNECTED : Cloud connection is established and ready to send data
62
62
*/
63
63
enum state {
64
64
STATE_INIT ,
65
- STATE_CONNECTED ,
66
- STATE_DISCONNECTED ,
65
+ STATE_CLOUD_CONNECTED ,
66
+ STATE_CLOUD_DISCONNECTED ,
67
67
};
68
68
69
69
/* Construct state table */
@@ -75,16 +75,16 @@ static const struct smf_state states[] = {
75
75
NULL ,
76
76
NULL
77
77
),
78
- [STATE_CONNECTED ] = SMF_CREATE_STATE (
79
- connected_entry ,
80
- connected_run ,
78
+ [STATE_CLOUD_CONNECTED ] = SMF_CREATE_STATE (
79
+ cloud_connected_entry ,
80
+ cloud_connected_run ,
81
81
NULL ,
82
82
NULL ,
83
83
NULL
84
84
),
85
- [STATE_DISCONNECTED ] = SMF_CREATE_STATE (
86
- disconnected_entry ,
87
- disconnected_run ,
85
+ [STATE_CLOUD_DISCONNECTED ] = SMF_CREATE_STATE (
86
+ cloud_disconnected_entry ,
87
+ cloud_disconnected_run ,
88
88
NULL ,
89
89
NULL ,
90
90
NULL
@@ -204,16 +204,25 @@ static void init_run(void *o)
204
204
205
205
LOG_DBG ("%s" , __func__ );
206
206
207
- if ((user_object -> chan == & TIME_CHAN ) && (user_object -> time_status == TIME_AVAILABLE )) {
208
- LOG_DBG ("Time available, going into disconnected state" );
209
- STATE_SET (app_state , STATE_DISCONNECTED );
210
- return ;
207
+ if (user_object -> chan == & CLOUD_CHAN ) {
208
+ if (user_object -> status == CLOUD_CONNECTED_READY_TO_SEND ) {
209
+ LOG_DBG ("Cloud connected and ready, going into connected state" );
210
+ STATE_SET (app_state , STATE_CLOUD_CONNECTED );
211
+ return ;
212
+ }
213
+
214
+ if ((user_object -> status == CLOUD_DISCONNECTED ) ||
215
+ (user_object -> status == CLOUD_CONNECTED_PAUSED )) {
216
+ LOG_DBG ("Cloud disconnected/paused, going into disconnected state" );
217
+ STATE_SET (app_state , STATE_CLOUD_DISCONNECTED );
218
+ return ;
219
+ }
211
220
}
212
221
}
213
222
214
223
/* STATE_DISCONNECTED */
215
224
216
- static void disconnected_entry (void * o )
225
+ static void cloud_disconnected_entry (void * o )
217
226
{
218
227
ARG_UNUSED (o );
219
228
@@ -222,22 +231,23 @@ static void disconnected_entry(void *o)
222
231
k_work_cancel_delayable (& trigger_work );
223
232
}
224
233
225
- static void disconnected_run (void * o )
234
+ static void cloud_disconnected_run (void * o )
226
235
{
227
236
struct state_object * user_object = o ;
228
237
229
238
LOG_DBG ("%s" , __func__ );
230
239
231
240
if ((user_object -> chan == & CLOUD_CHAN ) &&
232
241
(user_object -> status == CLOUD_CONNECTED_READY_TO_SEND )) {
233
- STATE_SET (app_state , STATE_CONNECTED );
242
+ LOG_DBG ("Cloud connected and ready, going into connected state" );
243
+ STATE_SET (app_state , STATE_CLOUD_CONNECTED );
234
244
return ;
235
245
}
236
246
}
237
247
238
248
/* STATE_CONNECTED */
239
249
240
- static void connected_entry (void * o )
250
+ static void cloud_connected_entry (void * o )
241
251
{
242
252
ARG_UNUSED (o );
243
253
@@ -246,7 +256,7 @@ static void connected_entry(void *o)
246
256
k_work_reschedule (& trigger_work , K_NO_WAIT );
247
257
}
248
258
249
- static void connected_run (void * o )
259
+ static void cloud_connected_run (void * o )
250
260
{
251
261
struct state_object * user_object = o ;
252
262
@@ -256,7 +266,7 @@ static void connected_run(void *o)
256
266
((user_object -> status == CLOUD_CONNECTED_PAUSED ) ||
257
267
(user_object -> status == CLOUD_DISCONNECTED ))) {
258
268
LOG_DBG ("Cloud disconnected/paused, going into disconnected state" );
259
- STATE_SET (app_state , STATE_DISCONNECTED );
269
+ STATE_SET (app_state , STATE_CLOUD_DISCONNECTED );
260
270
return ;
261
271
}
262
272
0 commit comments