Exemple #1
0
void init_uid_frame_buffer() {
    uint8_t *encoded_advdata = edstn_frames[EDDYSTONE_UID].adv_frame;
    uint8_t *len_advdata = &edstn_frames[EDDYSTONE_UID].adv_len;

    eddystone_head_encode(encoded_advdata, 0x00, len_advdata);

    encoded_advdata[(*len_advdata)++] = APP_MEASURED_RSSI;
    encoded_advdata[(*len_advdata)++] = 0x00;
    encoded_advdata[(*len_advdata)++] = 0x01;
    encoded_advdata[(*len_advdata)++] = 0x02;
    encoded_advdata[(*len_advdata)++] = 0x03;
    encoded_advdata[(*len_advdata)++] = 0x04;
    encoded_advdata[(*len_advdata)++] = 0x05;
    encoded_advdata[(*len_advdata)++] = 0x06;
    encoded_advdata[(*len_advdata)++] = 0x07;
    encoded_advdata[(*len_advdata)++] = 0x08;
    encoded_advdata[(*len_advdata)++] = 0x09;

    encoded_advdata[(*len_advdata)++] = 0x00;
    encoded_advdata[(*len_advdata)++] = 0x01;
    encoded_advdata[(*len_advdata)++] = 0x02;
    encoded_advdata[(*len_advdata)++] = 0x03;
    encoded_advdata[(*len_advdata)++] = 0x04;
    encoded_advdata[(*len_advdata)++] = 0x05;
    encoded_advdata[(*len_advdata)++] = 0x06;

    encoded_advdata[0x07] = (*len_advdata) - 8; // Length	Service Data. Ibid. § 1.11
}
void init_url_frame_buffer() {
    uint8_t *encoded_advdata = edstn_frames[EDDYSTONE_URL].adv_frame;
    uint8_t *len_advdata = &edstn_frames[EDDYSTONE_URL].adv_len;

    eddystone_head_encode(encoded_advdata, 0x10, len_advdata);

    encoded_advdata[(*len_advdata)++] = APP_MEASURED_RSSI;
    encoded_advdata[(*len_advdata)++] = 0x02;
    encoded_advdata[(*len_advdata)++] = 'a';
    encoded_advdata[(*len_advdata)++] = 'l';
    encoded_advdata[(*len_advdata)++] = 'e';
    encoded_advdata[(*len_advdata)++] = 'x';
    encoded_advdata[(*len_advdata)++] = '.';
    encoded_advdata[(*len_advdata)++] = 'v';
    encoded_advdata[(*len_advdata)++] = 'a';
    encoded_advdata[(*len_advdata)++] = 'n';
    encoded_advdata[(*len_advdata)++] = 'b';
    encoded_advdata[(*len_advdata)++] = 'o';
    encoded_advdata[(*len_advdata)++] = 'x';
    encoded_advdata[(*len_advdata)++] = 'e';
    encoded_advdata[(*len_advdata)++] = 'l';
    encoded_advdata[(*len_advdata)++] = '.';
    encoded_advdata[(*len_advdata)++] = 'b';
    encoded_advdata[(*len_advdata)++] = 'e';

    encoded_advdata[0x07] = (*len_advdata) - 8; // Length	Service Data. Ibid. § 1.11
}