@@ -266,68 +266,86 @@ void setState(State state)
266
266
* BLE Event handlers
267
267
************************************************************************/
268
268
269
- #if 0
270
- void handleNumSamplesRxWritten(BLEDevice central, BLECharacteristic characteristic)
269
+ void handleNumSamplesRxWritten (uint16_t conn_hdl, BLECharacteristic* chr, uint8_t * data, uint16_t len)
271
270
{
272
- model_tester::setNumSamples(numSamplesRxChar.value());
271
+ (void ) conn_hdl; (void ) chr; (void ) data; (void ) len;
272
+
273
+ const int value = (int ) numSamplesRxChar.read32 ();
274
+ model_tester::setNumSamples (value);
273
275
Serial.print (" Received numSamples: " );
274
- Serial.println(numSamplesRxChar. value() );
276
+ Serial.println (value);
275
277
}
276
278
277
- void handleThresholdRxWritten(BLEDevice central , BLECharacteristic characteristic )
279
+ void handleThresholdRxWritten (uint16_t conn_hdl , BLECharacteristic* chr, uint8_t * data, uint16_t len )
278
280
{
279
- model_tester::setThreshold(thresholdRxChar.value());
281
+ (void ) conn_hdl; (void ) chr; (void ) data; (void ) len;
282
+
283
+ const float value = thresholdRxChar.readFloat ();
284
+ model_tester::setThreshold (value);
280
285
Serial.print (" Received threshold: " );
281
- Serial.println(thresholdRxChar. value() , 4);
286
+ Serial.println (value, 4 );
282
287
}
283
288
284
- void handleCaptureDelayRxWritten(BLEDevice central , BLECharacteristic characteristic )
289
+ void handleCaptureDelayRxWritten (uint16_t conn_hdl , BLECharacteristic* chr, uint8_t * data, uint16_t len )
285
290
{
286
- model_tester::setCaptureDelay(captureDelayRxChar.value());
291
+ (void ) conn_hdl; (void ) chr; (void ) data; (void ) len;
292
+
293
+ const int value = captureDelayRxChar.read32 ();
294
+ model_tester::setCaptureDelay (value);
287
295
Serial.print (" Received delay: " );
288
- Serial.println(captureDelayRxChar. value() );
296
+ Serial.println (value);
289
297
}
290
298
291
- void handleNumClassesRxWritten(BLEDevice central , BLECharacteristic characteristic )
299
+ void handleNumClassesRxWritten (uint16_t conn_hdl , BLECharacteristic* chr, uint8_t * data, uint16_t len )
292
300
{
293
- model_tester::setNumClasses(numClassesRxChar.value());
301
+ (void ) conn_hdl; (void ) chr; (void ) data; (void ) len;
302
+
303
+ const unsigned char value = (unsigned char ) numClassesRxChar.read8 ();
304
+ model_tester::setNumClasses (value);
294
305
Serial.print (" Received numClasses: " );
295
- Serial.println(numClassesRxChar. value() );
306
+ Serial.println (value);
296
307
}
297
308
298
- void handleDisableMagnetometerRxWritten(BLEDevice central , BLECharacteristic characteristic )
309
+ void handleDisableMagnetometerRxWritten (uint16_t conn_hdl , BLECharacteristic* chr, uint8_t * data, uint16_t len )
299
310
{
300
- bool val = disableMagnetometerRx.value();
311
+ (void ) conn_hdl; (void ) chr; (void ) data; (void ) len;
312
+
313
+ const bool val = (bool ) disableMagnetometerRx.read8 ();
301
314
model_tester::setDisableMagnetometer (val);
302
315
303
316
useMagnetometer = !val;
304
317
305
318
Serial.print (" Received disableMagnetometer: " );
306
- Serial.println(disableMagnetometerRx.value() );
319
+ Serial.println (val );
307
320
}
308
321
309
- void handleStateWritten(BLEDevice central , BLECharacteristic characteristic )
322
+ void handleStateWritten (uint16_t conn_hdl , BLECharacteristic* chr, uint8_t * data, uint16_t len )
310
323
{
311
- setState((State)stateRxChar.value());
324
+ (void ) conn_hdl; (void ) chr; (void ) data; (void ) len;
325
+
326
+ const uint8_t value = stateRxChar.read8 ();
327
+
328
+ setState ((State) value);
312
329
Serial.print (" Received state: " );
313
- Serial.println(stateRxChar. value() );
330
+ Serial.println (value);
314
331
}
315
332
316
- void handleMetaWritten(BLEDevice central , BLECharacteristic characteristic )
333
+ void handleMetaWritten (uint16_t conn_hdl , BLECharacteristic* chr, uint8_t * data, uint16_t len )
317
334
{
335
+ (void ) conn_hdl; (void ) chr; (void ) data; (void ) len;
336
+
318
337
// Meta is just a 64 byte storage for anything, just publish it
319
- byte values[64];
320
- metaRxChar.readValue(values, 64);
321
- metaTxChar.writeValue(values, 64);
338
+ metaTxChar.write (data, len);
322
339
}
323
340
324
- void handleFileTransferTypeWritten(BLEDevice central , BLECharacteristic characteristic )
341
+ void handleFileTransferTypeWritten (uint16_t conn_hdl , BLECharacteristic* chr, uint8_t * data, uint16_t len )
325
342
{
326
- fileTransferType = (FileTransferType)fileTransferTypeRxChar.value();
343
+ (void ) conn_hdl; (void ) chr; (void ) data; (void ) len;
344
+
345
+ fileTransferType = (FileTransferType) fileTransferTypeRxChar.read8 ();
327
346
Serial.print (" Received fileTransferType: " );
328
347
Serial.println (fileTransferType);
329
348
}
330
- #endif
331
349
332
350
/* ***********************************************************************
333
351
* Callbacks
@@ -447,17 +465,17 @@ void setup()
447
465
metaRxChar.begin ();
448
466
metaTxChar.begin ();
449
467
450
- #if 0
451
468
// Event driven reads.
452
- numClassesRxChar.setEventHandler(BLEWritten, handleNumClassesRxWritten);
453
- numSamplesRxChar.setEventHandler(BLEWritten, handleNumSamplesRxWritten);
454
- thresholdRxChar.setEventHandler(BLEWritten, handleThresholdRxWritten);
455
- captureDelayRxChar.setEventHandler(BLEWritten, handleCaptureDelayRxWritten);
456
- stateRxChar.setEventHandler(BLEWritten, handleStateWritten);
457
- fileTransferTypeRxChar.setEventHandler(BLEWritten, handleFileTransferTypeWritten);
458
- metaRxChar.setEventHandler(BLEWritten, handleMetaWritten);
459
- disableMagnetometerRx.setEventHandler(BLEWritten, handleDisableMagnetometerRxWritten);
469
+ numClassesRxChar.setWriteCallback ( handleNumClassesRxWritten);
470
+ numSamplesRxChar.setWriteCallback ( handleNumSamplesRxWritten);
471
+ thresholdRxChar.setWriteCallback ( handleThresholdRxWritten);
472
+ captureDelayRxChar.setWriteCallback ( handleCaptureDelayRxWritten);
473
+ stateRxChar.setWriteCallback ( handleStateWritten);
474
+ fileTransferTypeRxChar.setWriteCallback ( handleFileTransferTypeWritten);
475
+ metaRxChar.setWriteCallback ( handleMetaWritten);
476
+ disableMagnetometerRx.setWriteCallback ( handleDisableMagnetometerRxWritten);
460
477
478
+ #if 0
461
479
// Start the core BLE engine.
462
480
if (!BLE.begin())
463
481
{
0 commit comments