a serial library to communicate with pebble time's smart strap interface
Dependents: xadow_smartstrap_for_pebble
mbedPebbleSerial.h@0:e4dad9e53f06, 2015-11-04 (annotated)
- Committer:
- KillingJacky
- Date:
- Wed Nov 04 09:58:41 2015 +0000
- Revision:
- 0:e4dad9e53f06
initial commit;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
KillingJacky | 0:e4dad9e53f06 | 1 | /* |
KillingJacky | 0:e4dad9e53f06 | 2 | * This is an Arduino library wrapper around the PebbleSerial library. |
KillingJacky | 0:e4dad9e53f06 | 3 | */ |
KillingJacky | 0:e4dad9e53f06 | 4 | #ifndef __ARDUINO_PEBBLE_SERIAL_H__ |
KillingJacky | 0:e4dad9e53f06 | 5 | #define __ARDUINO_PEBBLE_SERIAL_H__ |
KillingJacky | 0:e4dad9e53f06 | 6 | |
KillingJacky | 0:e4dad9e53f06 | 7 | #define USE_HARDWARE_SERIAL 0 |
KillingJacky | 0:e4dad9e53f06 | 8 | |
KillingJacky | 0:e4dad9e53f06 | 9 | #include "mbed.h" |
KillingJacky | 0:e4dad9e53f06 | 10 | extern "C" { |
KillingJacky | 0:e4dad9e53f06 | 11 | #include "PebbleSerial.h" |
KillingJacky | 0:e4dad9e53f06 | 12 | }; |
KillingJacky | 0:e4dad9e53f06 | 13 | |
KillingJacky | 0:e4dad9e53f06 | 14 | typedef enum { |
KillingJacky | 0:e4dad9e53f06 | 15 | Baud9600, |
KillingJacky | 0:e4dad9e53f06 | 16 | Baud14400, |
KillingJacky | 0:e4dad9e53f06 | 17 | Baud19200, |
KillingJacky | 0:e4dad9e53f06 | 18 | Baud28800, |
KillingJacky | 0:e4dad9e53f06 | 19 | Baud38400, |
KillingJacky | 0:e4dad9e53f06 | 20 | Baud57600, |
KillingJacky | 0:e4dad9e53f06 | 21 | Baud62500, |
KillingJacky | 0:e4dad9e53f06 | 22 | Baud115200, |
KillingJacky | 0:e4dad9e53f06 | 23 | Baud125000, |
KillingJacky | 0:e4dad9e53f06 | 24 | Baud230400, |
KillingJacky | 0:e4dad9e53f06 | 25 | Baud250000, |
KillingJacky | 0:e4dad9e53f06 | 26 | Baud460800, |
KillingJacky | 0:e4dad9e53f06 | 27 | } Baud; |
KillingJacky | 0:e4dad9e53f06 | 28 | |
KillingJacky | 0:e4dad9e53f06 | 29 | typedef enum { |
KillingJacky | 0:e4dad9e53f06 | 30 | RequestTypeRead, |
KillingJacky | 0:e4dad9e53f06 | 31 | RequestTypeWrite, |
KillingJacky | 0:e4dad9e53f06 | 32 | RequestTypeWriteRead |
KillingJacky | 0:e4dad9e53f06 | 33 | } RequestType; |
KillingJacky | 0:e4dad9e53f06 | 34 | |
KillingJacky | 0:e4dad9e53f06 | 35 | class mbedPebbleSerial { |
KillingJacky | 0:e4dad9e53f06 | 36 | public: |
KillingJacky | 0:e4dad9e53f06 | 37 | static void begin(uint8_t *buffer, size_t length, Baud baud, const uint16_t *services, uint8_t num_services); |
KillingJacky | 0:e4dad9e53f06 | 38 | static bool feed(uint16_t *service_id, uint16_t *attribute_id, size_t *length, RequestType *type); |
KillingJacky | 0:e4dad9e53f06 | 39 | static bool write(bool success, const uint8_t *payload, size_t length); |
KillingJacky | 0:e4dad9e53f06 | 40 | static void notify(uint16_t service_id, uint16_t attribute_id); |
KillingJacky | 0:e4dad9e53f06 | 41 | static bool is_connected(void); |
KillingJacky | 0:e4dad9e53f06 | 42 | }; |
KillingJacky | 0:e4dad9e53f06 | 43 | |
KillingJacky | 0:e4dad9e53f06 | 44 | #endif //__ARDUINO_PEBBLE_SERIAL_H__ |