void EddystoneService::swapAdvertisedFrame(FrameType frameType) { switch(frameType) { case EDDYSTONE_FRAME_URL: updateAdvertisementPacket(rawUrlFrame, urlFrame.getRawFrameSize()); ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_NON_CONNECTABLE_UNDIRECTED); break; case EDDYSTONE_FRAME_UID: updateAdvertisementPacket(rawUidFrame, uidFrame.getRawFrameSize()); ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_NON_CONNECTABLE_UNDIRECTED); break; case EDDYSTONE_FRAME_TLM: updateRawTLMFrame(); updateAdvertisementPacket(rawTlmFrame, tlmFrame.getRawFrameSize()); ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_NON_CONNECTABLE_UNDIRECTED); break; case NORMAL_FRAME: ble.gap().clearAdvertisingPayload(); ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t *)normalFrameUuid16List, normalFrameUuid16ListLength); ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)normalFrameName, normalFrameNameLength); ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); break; default: /* Some error occurred */ error("Frame to swap in does not specify a valid type"); break; } }
void EddystoneService::swapAdvertisedFrame(FrameType frameType) { switch(frameType) { case EDDYSTONE_FRAME_URL: updateAdvertisementPacket(rawUrlFrame, urlFrame.getRawFrameSize()); break; case EDDYSTONE_FRAME_UID: updateAdvertisementPacket(rawUidFrame, uidFrame.getRawFrameSize()); break; case EDDYSTONE_FRAME_TLM: updateRawTLMFrame(); updateAdvertisementPacket(rawTlmFrame, tlmFrame.getRawFrameSize()); break; default: /* Some error occurred */ error("Frame to swap in does not specify a valid type"); break; } }