Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: RN52.cpp
- Revision:
- 5:8e468fef2754
- Parent:
- 4:3041a571b7a7
- Child:
- 6:c454f88524d6
--- a/RN52.cpp Tue Jan 05 22:10:16 2016 +0000 +++ b/RN52.cpp Mon Jan 11 20:49:59 2016 +0000 @@ -24,16 +24,16 @@ printf("Serial baudrate set\r\n"); } -bool RN52::check_event(RN52_RESULT * rn52_result){ +bool RN52::check_event(RN52_RESULT * result){ static bool last = 0; if((last == 1) && (event_pin == 0)) { - get(RN52_GETSTATUS, rn52_result); - switch (rn52_result->event) { + get(RN52_GETSTATUS, result); + switch (result->event) { case RN52_CALLER_ID_EVENT: - get(RN52_CALLER_ID, rn52_result); + get(RN52_CALLER_ID, result); break; case RN52_TRACK_CHANGE_EVENT: - get(RN52_TRACK_METADATA, rn52_result); + get(RN52_TRACK_METADATA, result); break; } last = event_pin; @@ -43,42 +43,44 @@ return 0; } +bool RN52::connect(){ + char response[40]; + serial.printf(CONNECT); + return capture_response(response); +} -bool RN52::set(RN52_COMMAND cmd){ +bool RN52::disconnect(){ + char response[40]; + serial.printf(DISCONNECT); + return capture_response(response); +} + +bool RN52::next_track(){ char response[40]; - switch (cmd) { - case RN52_PLAYPAUSE: - serial.printf(PLAYPAUSE); - break; - case RN52_NEXTTRACK: - serial.printf(NEXTTRACK); - break; - case RN52_PREVTRACK: - serial.printf(PREVTRACK); - break; - case RN52_CONNECT: - serial.printf(CONNECT); - break; - case RN52_DISCONNECT: - serial.printf(DISCONNECT); - break; - case RN52_REBOOT: - serial.printf(REBOOT); - break; - case RN52_VOLUMEUP: - serial.printf(VOLUMEUP); - break; - case RN52_MAXVOLUME: - serial.printf(MAXVOLUME); - break; - case RN52_ASSISTANT: - serial.printf(ASSISTANT); - break; - default: - return false; - } - capture_response(response); - return (response[0] == 'A'); + serial.printf(NEXTTRACK); + return capture_response(response); +} + +bool RN52::prev_track(){ + char response[40]; + serial.printf(PREVTRACK); + return capture_response(response); +} + +bool RN52::toggle_play(){ + char response[40]; + serial.printf(PLAYPAUSE); + return capture_response(response); +} + +bool RN52::maxvolume(){ + char response[40]; + //serial.printf(MAXVOLUME); + serial.printf(VOLUMEUP); + serial.printf(VOLUMEUP); + serial.printf(VOLUMEUP); + serial.printf(VOLUMEUP); + return capture_response(response); } bool RN52::get(RN52_COMMAND cmd, RN52_RESULT * result){ @@ -120,7 +122,7 @@ } -void RN52::capture_response(char * str){ +bool RN52::capture_response(char * str){ char c = ' '; char n = 0; while(c != '\n') { @@ -131,4 +133,5 @@ } } str[n] = '\0'; + return (str[0] == 'A'); } \ No newline at end of file