Статус документа
Статус документа

ГОСТ Р 70036-2022 Информационные технологии (ИТ). Интернет вещей. Протокол беспроводной передачи данных на основе узкополосной модуляции радиосигнала (NB-Fi)

Приложение В

(справочное)

Фрагменты исходных кодов реализации 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);