Example program for BLE devices using updated Puck library.
Fork of location-puck by
main.cpp
- Committer:
- cristea
- Date:
- 2014-06-19
- Revision:
- 3:4cb285fb29e7
- Parent:
- 2:67d603617000
- Child:
- 4:4324d5acd5d8
File content as of revision 3:4cb285fb29e7:
#include <mbed.h>
#include <nRF51822.h>
#define DEBUG 1
#ifdef DEBUG
#define LOG(args...) pc.printf(args)
#else
#define LOG(args...)
#endif
nRF51822n nrf;
DigitalOut led1(p1);
DigitalOut advertisiingStateLed(p30);
GapAdvertisingData advData;
GapAdvertisingData scanResponse;
GapAdvertisingParams advParams(GapAdvertisingOParams::ADV_CONNECTABLE_UNDIRECTED);
class GapEventHandler : public GapEvents {
virtual void onConnected(void) {
advertisingStateLed = 0;
LOG("Connected!\n\r");
}
virtual void onDisconnected(void) {
nrf.getGap().startAdvertising(advParams);
advertisingStateLed = 1;
LOG("Disconnected!\n\r");
LOG("Restarting the advertising process\n\r");
}
}
int main() {
nrf.getGap().setEventHandler(new GapEventHandler());
nrf.init();
nrf.reset();
advData.addFlags(GapAdvertisingData::BREDR_NOT_SUPPORTED);
advData.addData(GapAdvertisingData::SHORTENED_LOCAL_NAME,
(uint8_t*)"phlemz", sizeof("phlemz") - 1);
advData.addAppearance(GapAdvertisingData::UNKNOWN);
nrf.getGap().setAdvertisingData(advData. scanResponse);
nrf.getGap().startAdvertising(advParams);
for(;;) {
led1 = !led1;
wait(1);
}
}
