forked from switchdoclabs/WeatherArduino
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLocalExample.h
More file actions
106 lines (77 loc) · 2.77 KB
/
LocalExample.h
File metadata and controls
106 lines (77 loc) · 2.77 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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
// Filename: LocalExample.h
// Version 1.6 08/06/13 JS MiloCreek
// prototypes
void ExecuteLocalACTION_BUTTON_UITYPE(char returnJSON[], char *buffer, currentObjectStructure *parsedObject);
void ExecuteLocalTEXT_DISPLAY_UITYPE(char returnJSON[], char *buffer, currentObjectStructure *parsedObject);
void Local(char returnJSON[], char *buffer, currentObjectStructure *parsedObject)
{
#ifdef LOCALDEBUG
printObject(parsedObject, "In LocalExample.h");
#endif
switch (atol(parsedObject->ObjectType))
{
case FEEDBACK_ACTION_BUTTON_UITYPE:
case ACTION_BUTTON_UITYPE:
{
ExecuteLocalACTION_BUTTON_UITYPE(returnJSON, returnJSON, parsedObject);
}
break;
case TEXT_DISPLAY_UITYPE:
{
ExecuteLocalTEXT_DISPLAY_UITYPE(returnJSON, returnJSON, parsedObject);
}
break;
}
}
// Local Execute files
void ExecuteLocalACTION_BUTTON_UITYPE(char returnJSON[], char *buffer, currentObjectStructure *parsedObject)
{
#ifdef LOCALDEBUG
Serial.println("ExecuteACTION_BUTTON_UITYPE");
#endif
// B-3 does a toggle on the LED on pin 13 (like B-1 does!!!)
if (strcmp(parsedObject->ObjectServerID, "B-3") == 0)
{
if (strcmp(parsedObject->Validate, "YES") == 0)
{
// send validated response
returnJSONValidateResponse(returnJSON, returnJSON, parsedObject);
strcpy(returnJSON, buffer);
return;
}
#define led 13
pinMode(led, OUTPUT);
digitalWrite(led, HIGH);
delay(500);
digitalWrite(led, LOW);
returnJSONResponse(returnJSON, returnJSON, parsedObject, "OK" );
strcpy(returnJSON, buffer);
return;
}
// Note that Local objects DO NOT RETURN an Invalid Response. That is done by the ExecuteJSONCommand function
// returnJSONInValidResponse(returnJSON, returnJSON, parsedObject);
}
void ExecuteLocalTEXT_DISPLAY_UITYPE(char returnJSON[], char *buffer, currentObjectStructure *parsedObject)
{
#ifdef LOCALDEBUG
Serial.println("ExecuteLocalTEXT_DISPLAY_UITYPE");
#endif
// LT-5 returns a greeting message
if (strcmp(parsedObject->ObjectServerID, "LT-5") == 0)
{
if (strcmp(parsedObject->Validate, "YES") == 0)
{
// send validated response
returnJSONValidateResponse(returnJSON, returnJSON, parsedObject);
strcpy(returnJSON, buffer);
return;
}
char responseData[40];
sprintf(responseData, "0, Hello from Local, Greetings", messageCount);
returnJSONResponse(returnJSON, returnJSON, parsedObject, responseData );
strcpy(returnJSON, buffer);
return;
}
// Note that Local objects DO NOT RETURN an Invalid Response. That is done by the ExecuteJSONCommand function
// returnJSONInValidResponse(returnJSON, returnJSON, parsedObject);
}