Nadawanie pakietów testowych

Korzystając ze struktury danych pakietu podanej w poprzednim ćwiczeniu, należy zrealizować nadawanie pakietów testowych. Jako dane należy podać dowolne wartości, najlepiej zmieniające się w przewidywalny sposób lub np. zależne od ustawień przełączników. Jako adres węzła nadającego, należy przyjąć numer komputera (1-15).

Przydatne funkcje (szczegóły w plikach źródłowych *.C, *.h i *.vhd):

Inicjalizacja transceivera:

void Init_CC1000(void); 

Obliczenie sumy kontrolnej:

Xuint8 GenerateCRC8(Xuint8 *Buf, Xuint8 Size);

Procedura obliczenia CRC przy nadawaniu pakietu:

  • wpisanie w pakiecie do nadania w miejsce CRC wartości 0x0;
  • obliczenie CRC za pomocą funkcji GenerateCRC8, CRC jest liczone dla całego pakietu (wraz z nagłówkiem, ale bez preambuły i SFD);
  • wstawienie obliczonej wartości CRC do pakietu;
  • transmisja pakietu. 

Zapis słowa (4 bajtów) do FIFO nadajnika, zwraca: 0=OK, -1=timeout:

int Wr_CC1000_Data(uint32_t Val);

Włączenie trybu nadawania danych:

void TurnOn_TX(void);

Czekanie na zakończenie nadawania:

while( !(Rd_CC1000_Status() & RXTX_TX_DONE_MASK) );

Powrót do trybu odbioru danych:

void TurnOn_RX(void);

Opracował: dr inż. M. Wójcikowski, 2020 r.

W ćwiczeniu wykorzystano wyniki pracy dyplomowej mgr inż. B. Durskiego.