seismo

Dependencies:   SDFileSystem circular_buffer MPU6050 SoftSerial

Committer:
suads
Date:
Fri Nov 23 13:44:27 2018 +0000
Revision:
7:bc915651d90e
seismo

Who changed what in which revision?

UserRevisionLine numberNew 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