Exemplo n.º 1
0
nfc_ndef_record_desc_t * nfc_ep_oob_rec_declare(uint8_t                        rec_payload_id,
                                                ble_advdata_t    const * const p_ble_advdata)
{
    static uint8_t payload_id = 0;

    NFC_NDEF_GENERIC_RECORD_DESC_DEF( nfc_ep_oob_rec,
                                      TNF_MEDIA_TYPE,
                                      &payload_id,   // memory for possible ID value
                                      0,             // no ID by default
                                      (ep_oob_rec_type_field),
                                      sizeof(ep_oob_rec_type_field),
                                      nfc_ep_oob_payload_constructor,
                                      NULL);

    nfc_ndef_record_desc_t * nfc_ep_oob_rec = &NFC_NDEF_GENERIC_RECORD_DESC( nfc_ep_oob_rec);

    /* Update record descriptor */
    nfc_ep_oob_rec->p_payload_descriptor = (void *) p_ble_advdata;

    /* Handle record ID configuration */
    payload_id                = rec_payload_id;
    nfc_ep_oob_rec->id_length = (rec_payload_id != 0) ? 1 : 0;

    return nfc_ep_oob_rec;
}
Exemplo n.º 2
0
nfc_ndef_record_desc_t * nfc_uri_rec_declare( nfc_uri_id_t           uri_id_code,
                                              uint8_t const *  const p_uri_data,
                                              uint8_t                uri_data_len)
{
    static uri_payload_desc_t uri_payload_desc;
    static const uint8_t static_uri_type = 'U';
    
    NFC_NDEF_GENERIC_RECORD_DESC_DEF( uri_rec,
                                      TNF_WELL_KNOWN, // tnf <- well-known
                                      NULL,
                                      0,    // no id
                                      &static_uri_type,
                                      1, // type size 1B
                                      nfc_uri_payload_constructor,
                                      &uri_payload_desc);
   
   uri_payload_desc.uri_id_code  = uri_id_code;
   uri_payload_desc.p_uri_data   = p_uri_data;
   uri_payload_desc.uri_data_len = uri_data_len;
   
   return &NFC_NDEF_GENERIC_RECORD_DESC( uri_rec);
}