(справочное)
Фрагменты исходных кодов реализации MAC-уровня
В.1 Функция формирования и отправки UPLIINK-пакета
nbfi_status_t NBFi_MAC_TX_ProtocolE (nbfi_transport_packet_t* pkt)
{
const uint8_t protE_preambula [ ] = {0x97, 0x15, 0x7A, 0x6F};
uint8_t ul_buf [20];
uint8_t ul_buf_encoded [36];
uint8_t len=0;
static _Bool parity=0;
uint32_t tx_freq;
uint32 t mic_or_crc32;
ul_buf [len++]=Modem_ID [3];
ul_buf [len++]=Modem_ID [2];
ul_buf [len++]=Modem_ID [1];
ul_buf [len++]=Modem ID [0];
ul_buf [len++]=nbfi_iter.ul;
ul_buf [len++]=pkt->phy_data.header;
memcpy (&ul_buf [len], pkt->phy_data.payload, pkt->phy_data_length);
NBFi_Crypto_Encode (&ul_buf [len-1], *((uint32_t*) Modem_ID), nbfi_iter.ul, 9);
len+=8;
mic_or_crc32=NBFi_Crypto_UL_MIC(&ul_buf [len-9], 9);