@@ -41,61 +41,28 @@ GAPClass::~GAPClass()
4141{
4242}
4343
44- void GAPClass::setAdvertisedServiceUuid (const char * advertisedServiceUuid)
45- {
46- _advertisingData.setAdvertisedServiceUuid (advertisedServiceUuid);
47- }
48-
49- void GAPClass::setManufacturerData (const uint8_t manufacturerData[], int manufacturerDataLength)
50- {
51- _advertisingData.setManufacturerData (manufacturerData, manufacturerDataLength);
52- }
53-
54- void GAPClass::setManufacturerData (const uint16_t companyId, const uint8_t manufacturerData[], int manufacturerDataLength)
55- {
56- _advertisingData.setManufacturerData (companyId, manufacturerData, manufacturerDataLength);
57- }
58-
59- void GAPClass::setLocalName (const char *localName)
60- {
61- _scanResponseData.setLocalName (localName);
62- }
63-
64- void GAPClass::setAdvertisedServiceData (uint16_t uuid, const uint8_t data[], int length)
65- {
66- _advertisingData.setAdvertisedServiceData (uuid, data, length);
67- }
68-
6944bool GAPClass::advertising ()
7045{
7146 return _advertising;
7247}
7348
74- int GAPClass::advertise ()
49+ int GAPClass::advertise (uint8_t * advData, uint8_t advDataLen, uint8_t * scanData, uint8_t scanDataLen )
7550{
7651 uint8_t directBdaddr[6 ] = {0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 };
7752
78- _advertisingData.updateData ();
79- _scanResponseData.updateData ();
80-
81- uint8_t scanLength = _scanResponseData.getDataLength ();
82- uint8_t type = (_connectable) ? GAP_ADV_IND : (scanLength ? GAP_ADV_SCAN_IND : GAP_ADV_NONCONN_IND);
53+ uint8_t type = (_connectable) ? GAP_ADV_IND : (scanDataLen ? GAP_ADV_SCAN_IND : GAP_ADV_NONCONN_IND);
8354
8455 stopAdvertise ();
8556
8657 if (HCI.leSetAdvertisingParameters (_advertisingInterval, _advertisingInterval, type, 0x00 , 0x00 , directBdaddr, 0x07 , 0 ) != 0 ) {
8758 return 0 ;
8859 }
8960
90- uint8_t * advertisingData = _advertisingData.getData ();
91- uint8_t advertisingDataLen = _advertisingData.getDataLength ();
92- if (HCI.leSetAdvertisingData (advertisingDataLen, advertisingData) != 0 ) {
61+ if (HCI.leSetAdvertisingData (advDataLen, advData) != 0 ) {
9362 return 0 ;
9463 }
9564
96- uint8_t * scanResponseData = _scanResponseData.getData ();
97- uint8_t scanResponseDataLen = _scanResponseData.getDataLength ();
98- if (HCI.leSetScanResponseData (scanResponseDataLen, scanResponseData) != 0 ) {
65+ if (HCI.leSetScanResponseData (scanDataLen, scanData) != 0 ) {
9966 return 0 ;
10067 }
10168
0 commit comments