@@ -266,68 +266,86 @@ void setState(State state)
266266* BLE Event handlers
267267************************************************************************/
268268
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)
271270{
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);
273275 Serial.print (" Received numSamples: " );
274- Serial.println(numSamplesRxChar. value() );
276+ Serial.println (value);
275277}
276278
277- void handleThresholdRxWritten(BLEDevice central , BLECharacteristic characteristic )
279+ void handleThresholdRxWritten (uint16_t conn_hdl , BLECharacteristic* chr, uint8_t * data, uint16_t len )
278280{
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);
280285 Serial.print (" Received threshold: " );
281- Serial.println(thresholdRxChar. value() , 4);
286+ Serial.println (value, 4 );
282287}
283288
284- void handleCaptureDelayRxWritten(BLEDevice central , BLECharacteristic characteristic )
289+ void handleCaptureDelayRxWritten (uint16_t conn_hdl , BLECharacteristic* chr, uint8_t * data, uint16_t len )
285290{
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);
287295 Serial.print (" Received delay: " );
288- Serial.println(captureDelayRxChar. value() );
296+ Serial.println (value);
289297}
290298
291- void handleNumClassesRxWritten(BLEDevice central , BLECharacteristic characteristic )
299+ void handleNumClassesRxWritten (uint16_t conn_hdl , BLECharacteristic* chr, uint8_t * data, uint16_t len )
292300{
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);
294305 Serial.print (" Received numClasses: " );
295- Serial.println(numClassesRxChar. value() );
306+ Serial.println (value);
296307}
297308
298- void handleDisableMagnetometerRxWritten(BLEDevice central , BLECharacteristic characteristic )
309+ void handleDisableMagnetometerRxWritten (uint16_t conn_hdl , BLECharacteristic* chr, uint8_t * data, uint16_t len )
299310{
300- bool val = disableMagnetometerRx.value();
311+ (void ) conn_hdl; (void ) chr; (void ) data; (void ) len;
312+
313+ const bool val = (bool ) disableMagnetometerRx.read8 ();
301314 model_tester::setDisableMagnetometer (val);
302315
303316 useMagnetometer = !val;
304317
305318 Serial.print (" Received disableMagnetometer: " );
306- Serial.println(disableMagnetometerRx.value() );
319+ Serial.println (val );
307320}
308321
309- void handleStateWritten(BLEDevice central , BLECharacteristic characteristic )
322+ void handleStateWritten (uint16_t conn_hdl , BLECharacteristic* chr, uint8_t * data, uint16_t len )
310323{
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);
312329 Serial.print (" Received state: " );
313- Serial.println(stateRxChar. value() );
330+ Serial.println (value);
314331}
315332
316- void handleMetaWritten(BLEDevice central , BLECharacteristic characteristic )
333+ void handleMetaWritten (uint16_t conn_hdl , BLECharacteristic* chr, uint8_t * data, uint16_t len )
317334{
335+ (void ) conn_hdl; (void ) chr; (void ) data; (void ) len;
336+
318337 // 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);
322339}
323340
324- void handleFileTransferTypeWritten(BLEDevice central , BLECharacteristic characteristic )
341+ void handleFileTransferTypeWritten (uint16_t conn_hdl , BLECharacteristic* chr, uint8_t * data, uint16_t len )
325342{
326- fileTransferType = (FileTransferType)fileTransferTypeRxChar.value();
343+ (void ) conn_hdl; (void ) chr; (void ) data; (void ) len;
344+
345+ fileTransferType = (FileTransferType) fileTransferTypeRxChar.read8 ();
327346 Serial.print (" Received fileTransferType: " );
328347 Serial.println (fileTransferType);
329348}
330- #endif
331349
332350/* ***********************************************************************
333351* Callbacks
@@ -447,17 +465,17 @@ void setup()
447465 metaRxChar.begin ();
448466 metaTxChar.begin ();
449467
450- #if 0
451468 // 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);
460477
478+ #if 0
461479 // Start the core BLE engine.
462480 if (!BLE.begin())
463481 {
0 commit comments