Skip to content

Commit 7f9698f

Browse files
committed
enhance sensor service, use begin sensor or callback
1 parent 6da419f commit 7f9698f

File tree

6 files changed

+14
-25
lines changed

6 files changed

+14
-25
lines changed

libraries/BLEAdafruitService/src/services/BLEAdafruitAccel.cpp

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,19 +56,9 @@ const uint8_t BLEAdafruitAccel::UUID128_CHR_DATA[16] =
5656
// Constructor
5757
BLEAdafruitAccel::BLEAdafruitAccel(void)
5858
: BLEAdafruitSensor(UUID128_SERVICE, UUID128_CHR_DATA)
59-
{
60-
61-
}
62-
63-
err_t BLEAdafruitAccel::begin(Adafruit_Sensor* sensor, int32_t ms)
6459
{
6560
// Setup Measurement Characteristic
6661
_measurement.setProperties(CHR_PROPS_READ | CHR_PROPS_NOTIFY);
6762
_measurement.setPermission(SECMODE_OPEN, SECMODE_NO_ACCESS);
6863
_measurement.setFixedLen(4*3);
69-
70-
// Invoke base class begin(), this will add Service, Measurement and Period characteristics
71-
VERIFY_STATUS( BLEAdafruitSensor::begin(sensor, ms) );
72-
73-
return ERROR_NONE;
7464
}

libraries/BLEAdafruitService/src/services/BLEAdafruitAccel.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ class BLEAdafruitAccel : public BLEAdafruitSensor
3030
public:
3131
static const uint8_t UUID128_SERVICE[16];
3232
static const uint8_t UUID128_CHR_DATA[16];
33-
static const int32_t DEFAULT_PERIOD = 1000;
3433

3534
BLEAdafruitAccel(void);
36-
virtual err_t begin(Adafruit_Sensor* sensor, int32_t ms = DEFAULT_PERIOD);
35+
36+
using BLEAdafruitSensor::begin;
3737
};
3838

3939
#endif /* BLEADAFRUIT_ACCEL_H_ */

libraries/BLEAdafruitService/src/services/BLEAdafruitBaro.cpp

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,19 +56,9 @@ const uint8_t BLEAdafruitBaro::UUID128_CHR_DATA[16] =
5656
// Constructor
5757
BLEAdafruitBaro::BLEAdafruitBaro(void)
5858
: BLEAdafruitSensor(UUID128_SERVICE, UUID128_CHR_DATA)
59-
{
60-
61-
}
62-
63-
err_t BLEAdafruitBaro::begin (void)
6459
{
6560
// Setup Measurement Characteristic
6661
_measurement.setProperties(CHR_PROPS_READ | CHR_PROPS_NOTIFY);
6762
_measurement.setPermission(SECMODE_OPEN, SECMODE_NO_ACCESS);
6863
_measurement.setFixedLen(4);
69-
70-
// Invoke base class begin(), this will add Service, Measurement and Period characteristics
71-
VERIFY_STATUS( BLEAdafruitSensor::begin(DEFAULT_PERIOD) );
72-
73-
return ERROR_NONE;
7464
}

libraries/BLEAdafruitService/src/services/BLEAdafruitBaro.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ class BLEAdafruitBaro : public BLEAdafruitSensor
3030
public:
3131
static const uint8_t UUID128_SERVICE[16];
3232
static const uint8_t UUID128_CHR_DATA[16];
33-
static const int32_t DEFAULT_PERIOD = 1000;
3433

3534
BLEAdafruitBaro(void);
36-
virtual err_t begin(void);
35+
36+
using BLEAdafruitSensor::begin;
3737
};
3838

3939
#endif /* BLEADAFRUIT_BARO_H_ */

libraries/BLEAdafruitService/src/services/BLEAdafruitSensor.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ BLEAdafruitSensor::BLEAdafruitSensor(BLEUuid service_uuid, BLEUuid data_uuid)
3232
: BLEService(service_uuid), _measurement(data_uuid), _period(UUID128_CHR_ADAFRUIT_MEASUREMENT_PERIOD)
3333
{
3434
_measure_cb = NULL;
35+
_sensor = NULL;
3536
}
3637

3738
void BLEAdafruitSensor::setMeasureCallback(measure_callback_t fp)
@@ -62,6 +63,12 @@ err_t BLEAdafruitSensor::begin(int32_t ms)
6263
return ERROR_NONE;
6364
}
6465

66+
err_t BLEAdafruitSensor::begin(measure_callback_t fp, int32_t ms)
67+
{
68+
_measure_cb = fp;
69+
return begin(ms);
70+
}
71+
6572
err_t BLEAdafruitSensor::begin(Adafruit_Sensor* sensor, int32_t ms)
6673
{
6774
_sensor = sensor;

libraries/BLEAdafruitService/src/services/BLEAdafruitSensor.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,14 @@
3030
class BLEAdafruitSensor : public BLEService
3131
{
3232
public:
33+
static const int32_t _DEFAULT_PERIOD = 1000;
3334
typedef uint16_t (*measure_callback_t )(uint8_t* buf, uint16_t bufsize);
3435

3536
BLEAdafruitSensor(BLEUuid service_uuid, BLEUuid data_uuid);
3637
virtual err_t begin(int32_t ms);
3738

38-
virtual err_t begin(Adafruit_Sensor* sensor, int32_t ms);
39+
virtual err_t begin(measure_callback_t fp, int32_t ms = _DEFAULT_PERIOD);
40+
virtual err_t begin(Adafruit_Sensor* sensor, int32_t ms = _DEFAULT_PERIOD);
3941

4042
void setMeasureCallback(measure_callback_t fp);
4143
void setPeriod(int32_t period_ms);

0 commit comments

Comments
 (0)