BLE: Allow null value for periodic interval in advertising report event.

pull/8998/head
Vincent Coubard 2018-12-07 00:03:50 +00:00
parent df443c20ca
commit df95a1f8bd
2 changed files with 10 additions and 5 deletions

View File

@ -63,7 +63,7 @@ struct AdvertisingReportEvent {
advertising_sid_t SID, advertising_sid_t SID,
advertising_power_t txPower, advertising_power_t txPower,
rssi_t rssi, rssi_t rssi,
periodic_interval_t periodicInterval, uint16_t periodicInterval,
const peer_address_type_t &directAddressType, const peer_address_type_t &directAddressType,
const address_t &directAddress, const address_t &directAddress,
const mbed::Span<const uint8_t> &advertisingData const mbed::Span<const uint8_t> &advertisingData
@ -133,10 +133,15 @@ struct AdvertisingReportEvent {
return rssi; return rssi;
} }
/** Indicate if periodic interval is valid */
bool isPeriodicIntervalPresent() const {
return periodicInterval != 0;
}
/** Get interval. */ /** Get interval. */
periodic_interval_t getPeriodicInterval() const periodic_interval_t getPeriodicInterval() const
{ {
return periodicInterval; return periodic_interval_t(periodicInterval);
} }
/** Get target address type in directed advertising. */ /** Get target address type in directed advertising. */
@ -166,7 +171,7 @@ private:
advertising_sid_t SID; advertising_sid_t SID;
advertising_power_t txPower; advertising_power_t txPower;
rssi_t rssi; rssi_t rssi;
periodic_interval_t periodicInterval; uint16_t periodicInterval;
peer_address_type_t directAddressType; peer_address_type_t directAddressType;
const address_t &directAddress; const address_t &directAddress;
mbed::Span<const uint8_t> advertisingData; mbed::Span<const uint8_t> advertisingData;

View File

@ -1589,7 +1589,7 @@ void GenericGap::on_advertising_report(const pal::GapAdvertisingReportEvent &e)
/* SID - NO ADI FIELD IN THE PDU */ 0xFF, /* SID - NO ADI FIELD IN THE PDU */ 0xFF,
/* tx power information not available */ 127, /* tx power information not available */ 127,
advertising.rssi, advertising.rssi,
/* NO PERIODIC ADVERTISING */ periodic_interval_t(0), /* NO PERIODIC ADVERTISING */ 0,
peer_address_type_t::ANONYMOUS, peer_address_type_t::ANONYMOUS,
ble::address_t (), ble::address_t (),
mbed::Span<const uint8_t>(advertising.data.data(), advertising.data.size()) mbed::Span<const uint8_t>(advertising.data.data(), advertising.data.size())
@ -2642,7 +2642,7 @@ void GenericGap::on_extended_advertising_report(
advertising_sid, advertising_sid,
tx_power, tx_power,
rssi, rssi,
periodic_interval_t(periodic_advertising_interval), periodic_advertising_interval,
(PeerAddressType_t::type) direct_address_type.value(), (PeerAddressType_t::type) direct_address_type.value(),
(BLEProtocol::AddressBytes_t &) direct_address, (BLEProtocol::AddressBytes_t &) direct_address,
mbed::make_Span(data, data_length) mbed::make_Span(data, data_length)