13
13
#include " utility/HCI.h"
14
14
#include < Arduino_HEX.h>
15
15
16
+ extern const char *SKETCH_VERSION;
17
+
16
18
ClaimingHandlerClass::ClaimingHandlerClass ():
17
19
_uhwid {nullptr },
18
20
_state {ClaimingHandlerStates::END},
@@ -45,6 +47,10 @@ bool ClaimingHandlerClass::begin(SecureElement &secureElement, String &uhwid, Cl
45
47
return false ;
46
48
}
47
49
50
+ if (!_agentManager.addRequestHandler (RequestType::GET_PROVISIONING_SKETCH_VERSION, getProvSketchVersionRequestCb)) {
51
+ return false ;
52
+ }
53
+
48
54
if (!_agentManager.addReturnTimestampCallback (setTimestamp)) {
49
55
return false ;
50
56
}
@@ -76,9 +82,10 @@ void ClaimingHandlerClass::poll() {
76
82
_agentManager.update ();
77
83
78
84
switch (_receivedEvent) {
79
- case ClaimingReqEvents::GET_ID: getIdReqHandler (); break ;
80
- case ClaimingReqEvents::RESET: resetStoredCredReqHandler (); break ;
81
- case ClaimingReqEvents::GET_BLE_MAC_ADDRESS: getBLEMacAddressReqHandler (); break ;
85
+ case ClaimingReqEvents::GET_ID: getIdReqHandler (); break ;
86
+ case ClaimingReqEvents::RESET: resetStoredCredReqHandler (); break ;
87
+ case ClaimingReqEvents::GET_BLE_MAC_ADDRESS: getBLEMacAddressReqHandler (); break ;
88
+ case ClaimingReqEvents::GET_PROV_SKETCH_VERSION: getProvSketchVersionReqHandler (); break ;
82
89
}
83
90
_receivedEvent = ClaimingReqEvents::NONE;
84
91
return ;
@@ -149,6 +156,13 @@ void ClaimingHandlerClass::getBLEMacAddressReqHandler() {
149
156
_agentManager.sendMsg (outputMsg);
150
157
}
151
158
159
+ void ClaimingHandlerClass::getProvSketchVersionReqHandler () {
160
+ ProvisioningOutputMessage outputMsg;
161
+ outputMsg.type = MessageOutputType::PROV_SKETCH_VERSION;
162
+ outputMsg.m .provSketchVersion = SKETCH_VERSION;
163
+ _agentManager.sendMsg (outputMsg);
164
+ }
165
+
152
166
void ClaimingHandlerClass::getIdRequestCb () {
153
167
DEBUG_VERBOSE (" CH Get ID request received" );
154
168
_receivedEvent = ClaimingReqEvents::GET_ID;
@@ -167,6 +181,11 @@ void ClaimingHandlerClass::getBLEMacAddressRequestCb() {
167
181
_receivedEvent = ClaimingReqEvents::GET_BLE_MAC_ADDRESS;
168
182
}
169
183
184
+ void ClaimingHandlerClass::getProvSketchVersionRequestCb () {
185
+ DEBUG_VERBOSE (" CH Get provisioning sketch version request received" );
186
+ _receivedEvent = ClaimingReqEvents::GET_PROV_SKETCH_VERSION;
187
+ }
188
+
170
189
bool ClaimingHandlerClass::sendStatus (StatusMessage msg) {
171
190
ProvisioningOutputMessage statusMsg = { MessageOutputType::STATUS, { msg } };
172
191
return _agentManager.sendMsg (statusMsg);
0 commit comments