a serial library to communicate with pebble time's smart strap interface

Dependents:   xadow_smartstrap_for_pebble

Committer:
KillingJacky
Date:
Wed Nov 04 09:58:41 2015 +0000
Revision:
0:e4dad9e53f06
initial commit;

Who changed what in which revision?

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