seismo
Dependencies: SDFileSystem circular_buffer MPU6050 SoftSerial
source/MotorService.h@7:bc915651d90e, 2018-11-23 (annotated)
- Committer:
- suads
- Date:
- Fri Nov 23 13:44:27 2018 +0000
- Revision:
- 7:bc915651d90e
seismo
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
suads | 7:bc915651d90e | 1 | #ifndef __BLE_MOTOR_SERVICE_H_ |
suads | 7:bc915651d90e | 2 | #define __BLE_MOTOR_SERVICE_H_ |
suads | 7:bc915651d90e | 3 | |
suads | 7:bc915651d90e | 4 | #include "ble/BLE.h" |
suads | 7:bc915651d90e | 5 | #include "UUID.h" |
suads | 7:bc915651d90e | 6 | |
suads | 7:bc915651d90e | 7 | extern const uint8_t MOTOR_SERVICE_LONG_UUID[UUID::LENGTH_OF_LONG_UUID]; |
suads | 7:bc915651d90e | 8 | extern const uint8_t MOTOR_1_CHARACTERISTIC_LONG_UUID[UUID::LENGTH_OF_LONG_UUID]; |
suads | 7:bc915651d90e | 9 | extern const uint8_t MOTOR_2_CHARACTERISTIC_LONG_UUID[UUID::LENGTH_OF_LONG_UUID]; |
suads | 7:bc915651d90e | 10 | extern const uint8_t MOTOR_3_CHARACTERISTIC_LONG_UUID[UUID::LENGTH_OF_LONG_UUID]; |
suads | 7:bc915651d90e | 11 | |
suads | 7:bc915651d90e | 12 | |
suads | 7:bc915651d90e | 13 | class MotorService { |
suads | 7:bc915651d90e | 14 | public: |
suads | 7:bc915651d90e | 15 | |
suads | 7:bc915651d90e | 16 | const static uint16_t TEST_CHARACTERISTIC_UUID = 0xA011; |
suads | 7:bc915651d90e | 17 | |
suads | 7:bc915651d90e | 18 | |
suads | 7:bc915651d90e | 19 | MotorService(BLEDevice &_ble, float initialValueMotor1, float initialValueMotor2, float initialValueMotor3) : |
suads | 7:bc915651d90e | 20 | ble(_ble), |
suads | 7:bc915651d90e | 21 | motor1(MOTOR_1_CHARACTERISTIC_LONG_UUID, &initialValueMotor1), |
suads | 7:bc915651d90e | 22 | motor2(MOTOR_2_CHARACTERISTIC_LONG_UUID, &initialValueMotor2), |
suads | 7:bc915651d90e | 23 | motor3(MOTOR_3_CHARACTERISTIC_LONG_UUID, &initialValueMotor3) |
suads | 7:bc915651d90e | 24 | { |
suads | 7:bc915651d90e | 25 | GattCharacteristic *charTable[] = {&motor1, &motor2, &motor3}; |
suads | 7:bc915651d90e | 26 | GattService motorService(MOTOR_SERVICE_LONG_UUID, charTable, sizeof(charTable) / sizeof(GattCharacteristic *)); |
suads | 7:bc915651d90e | 27 | ble.gattServer().addService(motorService); |
suads | 7:bc915651d90e | 28 | } |
suads | 7:bc915651d90e | 29 | |
suads | 7:bc915651d90e | 30 | GattAttribute::Handle_t getValueHandleMotor1() const { |
suads | 7:bc915651d90e | 31 | return motor1.getValueHandle(); |
suads | 7:bc915651d90e | 32 | } |
suads | 7:bc915651d90e | 33 | |
suads | 7:bc915651d90e | 34 | GattAttribute::Handle_t getValueHandleMotor2() const { |
suads | 7:bc915651d90e | 35 | return motor2.getValueHandle(); |
suads | 7:bc915651d90e | 36 | } |
suads | 7:bc915651d90e | 37 | |
suads | 7:bc915651d90e | 38 | GattAttribute::Handle_t getValueHandleMotor3() const { |
suads | 7:bc915651d90e | 39 | return motor3.getValueHandle(); |
suads | 7:bc915651d90e | 40 | } |
suads | 7:bc915651d90e | 41 | |
suads | 7:bc915651d90e | 42 | |
suads | 7:bc915651d90e | 43 | private: |
suads | 7:bc915651d90e | 44 | BLEDevice &ble; |
suads | 7:bc915651d90e | 45 | |
suads | 7:bc915651d90e | 46 | ReadWriteGattCharacteristic<float> motor1; |
suads | 7:bc915651d90e | 47 | ReadWriteGattCharacteristic<float> motor2; |
suads | 7:bc915651d90e | 48 | ReadWriteGattCharacteristic<float> motor3; |
suads | 7:bc915651d90e | 49 | }; |
suads | 7:bc915651d90e | 50 | |
suads | 7:bc915651d90e | 51 | #endif /* #ifndef __BLE_MOTOR_SERVICE_H_ */ |
suads | 7:bc915651d90e | 52 |