![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
seismo
Dependencies: SDFileSystem circular_buffer MPU6050 SoftSerial
Diff: source/MotorService.h
- Revision:
- 7:bc915651d90e
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/source/MotorService.h Fri Nov 23 13:44:27 2018 +0000 @@ -0,0 +1,52 @@ +#ifndef __BLE_MOTOR_SERVICE_H_ +#define __BLE_MOTOR_SERVICE_H_ + +#include "ble/BLE.h" +#include "UUID.h" + +extern const uint8_t MOTOR_SERVICE_LONG_UUID[UUID::LENGTH_OF_LONG_UUID]; +extern const uint8_t MOTOR_1_CHARACTERISTIC_LONG_UUID[UUID::LENGTH_OF_LONG_UUID]; +extern const uint8_t MOTOR_2_CHARACTERISTIC_LONG_UUID[UUID::LENGTH_OF_LONG_UUID]; +extern const uint8_t MOTOR_3_CHARACTERISTIC_LONG_UUID[UUID::LENGTH_OF_LONG_UUID]; + + +class MotorService { +public: + + const static uint16_t TEST_CHARACTERISTIC_UUID = 0xA011; + + + MotorService(BLEDevice &_ble, float initialValueMotor1, float initialValueMotor2, float initialValueMotor3) : + ble(_ble), + motor1(MOTOR_1_CHARACTERISTIC_LONG_UUID, &initialValueMotor1), + motor2(MOTOR_2_CHARACTERISTIC_LONG_UUID, &initialValueMotor2), + motor3(MOTOR_3_CHARACTERISTIC_LONG_UUID, &initialValueMotor3) + { + GattCharacteristic *charTable[] = {&motor1, &motor2, &motor3}; + GattService motorService(MOTOR_SERVICE_LONG_UUID, charTable, sizeof(charTable) / sizeof(GattCharacteristic *)); + ble.gattServer().addService(motorService); + } + + GattAttribute::Handle_t getValueHandleMotor1() const { + return motor1.getValueHandle(); + } + + GattAttribute::Handle_t getValueHandleMotor2() const { + return motor2.getValueHandle(); + } + + GattAttribute::Handle_t getValueHandleMotor3() const { + return motor3.getValueHandle(); + } + + +private: + BLEDevice &ble; + + ReadWriteGattCharacteristic<float> motor1; + ReadWriteGattCharacteristic<float> motor2; + ReadWriteGattCharacteristic<float> motor3; +}; + +#endif /* #ifndef __BLE_MOTOR_SERVICE_H_ */ +