Hi all,
Now, I have a troube. In Mesh 3.0, I want to advertising data. This is my function :
#define ADVERTISER_BUFFER_SIZE (128)
void adv_start(uint8_t *data, uint32_t length) { if(length > 31){ __RESPONSE_UART("LENGTH ADV TOO LONG\n",20); } else{ advertiser_enable(&m_advertiser); /* Allocate packet */ adv_packet_t * p_packet = advertiser_packet_alloc(&m_advertiser, length); if (p_packet) { /* Construct packet contents */ memcpy(p_packet->packet.payload, data, length); /* Repeat forever */ p_packet->config.repeats = ADVERTISER_REPEAT_INFINITE; advertiser_packet_send(&m_advertiser, p_packet); } } }
And whenever the data changes, I call adv_start function for advertising it. But I only do this 4 times, and from the 5th, data advertising not change. p_packet alway = NULL .Why?
How to resolve it ? Thank very much.