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.
main.cpp
- Committer:
- petter
- Date:
- 2016-01-05
- Revision:
- 4:3041a571b7a7
- Parent:
- 3:b76c74783d0d
- Child:
- 5:8e468fef2754
File content as of revision 4:3041a571b7a7:
// Inspired from BlueSaab // Project/Hardware: http://bluesaab.blogspot.com/ // Code: https://github.com/kveilands/SAAB-CDC/tree/master/SAAB-CDC // I-Bus information from http://pikkupossu.1g.fi/tomi/projects/i-bus/i-bus.html #include "mbed.h" #include "CDC.h" #include "RN52.h" CDC cdc; RN52 rn52; RN52_RESULT res; Serial pc(USBTX, USBRX); // tx, rx int main() { printf("Petters BT CDC-emulator\r\n"); printf("Initializing\r\n"); cdc.init(); rn52.init(); printf("Starting loop\r\n"); while(1) { //Debug connection to PC if(pc.readable()) { switch (pc.getc()) { case 'p': if(rn52.set(RN52_PLAYPAUSE)) { printf("play/pause\r\n"); } break; case 'v': printf("volume up\r\n"); rn52.set(RN52_VOLUMEUP); break; case 'n': printf("next track\r\n"); rn52.set(RN52_NEXTTRACK); break; case 'q': printf("getting status\r\n"); rn52.get(RN52_GETSTATUS, &res); printf("%s", res.response); break; case 't': rn52.get(RN52_CALLER_ID, &res); printf("%s", res.response); break; } } switch (cdc.get_cmd()) { case IBUS_OTHER_MESSAGE: break; case IBUS_DOORS_LOCKED: //Goto sleep break; case IBUS_DOORS_UNLOCKED: //wake up break; case IBUS_NEXT: cdc.display("NEXT"); rn52.set(RN52_PLAYPAUSE); break; case IBUS_CDC_ON: cdc.display("CDC ON"); break; case IBUS_CDC_OFF: cdc.display("CDC OFF"); break; case IBUS_VOLUME_UP: cdc.display("VOLUME UP"); rn52.set(RN52_VOLUMEUP); break; case IBUS_VOLUME_DOWN: cdc.display("VOLUME DOWN"); break; case IBUS_SKIP_FW: cdc.display("SKIP FW"); rn52.set(RN52_NEXTTRACK); break; case IBUS_SKIP_BW: cdc.display("SKIP BW"); rn52.set(RN52_PREVTRACK); break; case IBUS_SET: cdc.display("SET"); rn52.set(RN52_CONNECT); break; case IBUS_CLEAR: cdc.display("CLEAR"); rn52.set(RN52_DISCONNECT); break; } if(rn52.check_event(&res)) { switch (res.event) { case RN52_CALLER_ID_EVENT: break; case RN52_TRACK_CHANGE_EVENT: cdc.reset_elapsed_time(); break; case RN52_NO_EVENT: //no event occured, check connection status if(res.connection == RN52_AUDIO_STREAMING) { cdc.display("BT SPELAR"); cdc.start_elapsed_time(); } else { cdc.stop_elapsed_time(); cdc.reset_elapsed_time(); } } } } }