Petter Bellander / Mbed 2 deprecated Saab-BT

Dependencies:   mbed

Committer:
petter
Date:
Mon Jan 11 20:49:59 2016 +0000
Revision:
5:8e468fef2754
Parent:
4:3041a571b7a7
Child:
6:c454f88524d6
Restructured main; Moved RN52 set commands into separate functions

Who changed what in which revision?

UserRevisionLine numberNew contents of line
petter 0:6cf6e566c0da 1 #ifndef RN52_H
petter 0:6cf6e566c0da 2 #define RN52_H
petter 0:6cf6e566c0da 3
petter 0:6cf6e566c0da 4
petter 0:6cf6e566c0da 5 typedef enum
petter 0:6cf6e566c0da 6 {
petter 0:6cf6e566c0da 7 RN52_REBOOT,
petter 0:6cf6e566c0da 8 RN52_GETSTATUS,
petter 0:6cf6e566c0da 9 RN52_ASSISTANT,
petter 0:6cf6e566c0da 10 RN52_CALLER_ID,
petter 0:6cf6e566c0da 11 RN52_TRACK_METADATA,
petter 0:6cf6e566c0da 12
petter 0:6cf6e566c0da 13 RN52_COMMAND_LAST
petter 0:6cf6e566c0da 14
petter 0:6cf6e566c0da 15 } RN52_COMMAND;
petter 0:6cf6e566c0da 16
petter 0:6cf6e566c0da 17
petter 0:6cf6e566c0da 18 typedef enum
petter 0:6cf6e566c0da 19 {
petter 0:6cf6e566c0da 20 RN52_LIMBO,
petter 0:6cf6e566c0da 21 RN52_CONNECTABLE,
petter 0:6cf6e566c0da 22 RN52_CONNECTABLE_DISCOVERABLE,
petter 0:6cf6e566c0da 23 RN52_CONNECTED,
petter 0:6cf6e566c0da 24 RN52_OUTGOING_CALL,
petter 0:6cf6e566c0da 25 RN52_INCOMING_CALL,
petter 0:6cf6e566c0da 26 RN52_ACTIVE_CALL,
petter 0:6cf6e566c0da 27 RN52_TEST_MODE,
petter 0:6cf6e566c0da 28 RN52_THREE_WAY_CALL_WAITING,
petter 0:6cf6e566c0da 29 RN52_THREE_WAY_CALL_ON_HOLD,
petter 0:6cf6e566c0da 30 RN52_THREE_WAY_CALL_MULTI_CALL,
petter 2:10c60edc8573 31 RN52_INCOMING_CALL_ON_HOLD,
petter 0:6cf6e566c0da 32 RN52_ACTIVE_CALL2,
petter 0:6cf6e566c0da 33 RN52_AUDIO_STREAMING,
petter 0:6cf6e566c0da 34 RN52_LOW_BATTERY,
petter 0:6cf6e566c0da 35
petter 0:6cf6e566c0da 36 RN52_CONNECTION_LAST
petter 0:6cf6e566c0da 37
petter 0:6cf6e566c0da 38 } RN52_CONNECTION;
petter 0:6cf6e566c0da 39
petter 0:6cf6e566c0da 40
petter 0:6cf6e566c0da 41 typedef enum
petter 0:6cf6e566c0da 42 {
petter 0:6cf6e566c0da 43 RN52_NO_EVENT,
petter 0:6cf6e566c0da 44 RN52_CALLER_ID_EVENT,
petter 0:6cf6e566c0da 45 RN52_TRACK_CHANGE_EVENT,
petter 0:6cf6e566c0da 46
petter 0:6cf6e566c0da 47 RN52_EVENT_LAST
petter 0:6cf6e566c0da 48
petter 0:6cf6e566c0da 49 } RN52_EVENT;
petter 0:6cf6e566c0da 50
petter 0:6cf6e566c0da 51 typedef struct
petter 0:6cf6e566c0da 52 {
petter 0:6cf6e566c0da 53 RN52_EVENT event;
petter 0:6cf6e566c0da 54 bool media_connected;
petter 0:6cf6e566c0da 55 bool phone_connected;
petter 0:6cf6e566c0da 56 RN52_CONNECTION connection;
petter 0:6cf6e566c0da 57 char response[40];
petter 0:6cf6e566c0da 58
petter 0:6cf6e566c0da 59 } RN52_RESULT;
petter 0:6cf6e566c0da 60
petter 0:6cf6e566c0da 61
petter 0:6cf6e566c0da 62
petter 0:6cf6e566c0da 63
petter 0:6cf6e566c0da 64 //----------------------------------------------------------------------------
petter 0:6cf6e566c0da 65 // CLASS
petter 0:6cf6e566c0da 66 //----------------------------------------------------------------------------
petter 0:6cf6e566c0da 67
petter 0:6cf6e566c0da 68 class RN52
petter 0:6cf6e566c0da 69 {
petter 0:6cf6e566c0da 70 public:
petter 0:6cf6e566c0da 71 void init();
petter 4:3041a571b7a7 72 bool check_event(RN52_RESULT * rn52_result);
petter 5:8e468fef2754 73 bool connect();
petter 5:8e468fef2754 74 bool disconnect();
petter 5:8e468fef2754 75 bool next_track();
petter 5:8e468fef2754 76 bool prev_track();
petter 5:8e468fef2754 77 bool toggle_play();
petter 5:8e468fef2754 78 bool maxvolume();
petter 0:6cf6e566c0da 79 bool get(RN52_COMMAND cmd, RN52_RESULT * rn52_result);
petter 5:8e468fef2754 80 bool capture_response(char * str);
petter 0:6cf6e566c0da 81 };
petter 0:6cf6e566c0da 82
petter 0:6cf6e566c0da 83 #endif