   '***********************************************************
   '* Teszt panel
   '* Atmega8
   '*==========================================================
   '*
   '*
   '*
   '*
   '***********************************************************
   '-----------------------------------------------------------

   ' Bascom AVR config
   $regfile = "m8def.dat"
   $crystal = 4000000
   '$hwstack = 32
   '$swstack = 10
   '$framesize = 40
   '$baud = 19200

   '..........................................................................................................
   Config Pind.2 = Input
   Nirq Alias Pind.2

   Config Pinb.2 = Output
   'Ss Alias Portb.2
   'Set Ss
   Config Pinb.1 = Output
   Fsk Alias Portb.1

'-------------------------------------------------------------------------
   Dim Count As Byte
   Dim Temp As Byte
   Dim Cmd(2) As Byte
   Dim I As Byte

'-------------------------------------------------------------------------
   Declare Sub Fsk_send(byval Fsk_byte As Byte)
   Declare Sub Rf_cmd(byval Tmp As Word)

'-------------------------------------------------------------------------

   'config SPI
   Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 16 , Noss = 0
   'Config Spi = Soft , Din = Pinb.4 , Dout = Portb.3 , Ss = Portb.2 , Clock = Portb.5

   'init the spi
   Spiinit

   Waitms 100
'-------------------------------------------------------------------------
   Call Rf_cmd(&Hcc00)
   Call Rf_cmd(&H9582)                                      '868band, 1(9082)-3.3(9582h)MHz CLK pin, 12.5pF, 60kHz
   Call Rf_cmd(&Ha640)                                      'Frequency: 868MHz (86 + 6 )
   Call Rf_cmd(&Hc847)                                      '4.8kbps
   Call Rf_cmd(&Hc220)                                      'tx bit sync
   Call Rf_cmd(&Hc000)                                      'TX off
   Call Rf_cmd(&Hd240)                                      'PLL 25%
   Call Rf_cmd(&Hb300)                                      '-9 db
   Call Rf_cmd(&He000)                                      'disable wakeup timer

'(
   Call Rf_cmd(&Hcc00)
   Call Rf_cmd(&H8b62)                                      '433MHzband, 11.5pf, fsk90kHz, 2MHz clock
   Call Rf_cmd(&Ha620)                                      '433.92MHz
   Call Rf_cmd(&Hc811)                                      '19,2 kbit
   Call Rf_cmd(&Hc220)                                      'tx bit sync
   Call Rf_cmd(&Hc001)                                      'TX off
   Call Rf_cmd(&Hd240)                                      'PLL 25%
   Call Rf_cmd(&Hb300)                                      '-9 db
   Call Rf_cmd(&He000)                                      'disable wakeup timer
'-------------------------------------------------------------------------
')
   Waitms 100                                               'Várakozás hogy az adó inicializálására

   'Másodpercenként küldi az I értékét +1,2,3 -at ami egyel nőminden loop-nál
   'tehát 4 számot
   Do

      I = I + 1
      If I = 2 Then I = 0
      'TX an
      Call Rf_cmd(&Hc038)                                   ''(&Hc039)

      '-------------------------------------------------------------------------
      'Preamble 3x AA
      'Reset Ss
      Call Fsk_send(&Haa)
      Call Fsk_send(&Haa)
      Call Fsk_send(&Haa)
      'HI/LOW Frame-Erkennung
      Call Fsk_send(&H2d)
      Call Fsk_send(&Hd4)
      '*******************************
      'Ezek a hasznosan küldött adatok
      Call Fsk_send(i)
      Call Fsk_send(i)
      Call Fsk_send(1)
      Call Fsk_send(1)
      'Eddig
      '*******************************
      'Frame-Ende Kennung
      Call Fsk_send(&Haa)
      'Set Ss
      '-------------------------------------------------------------------------
      'TX aus
      Call Rf_cmd(&Hc000)                                   ''(&Hc001)      'TX off

      '-------------------------------------------------------------------------

      Wait 1

   Loop

   End
'-------------------------------------------------------------------------
'-------------------------------------------------------------------------
'-------------------------------------------------------------------------
   Sub Fsk_send(byref Fsk_byte As Byte)
      For Count = 1 To 8
         While Nirq = 0                                     'wait NIRQ goes high
         Wend
         While Nirq = 1
         Wend                                               'wait NIRQ goes low
         Temp = Fsk_byte And &H80
            If Temp = &H80 Then
               Set Fsk
               Else
               Reset Fsk
            End If
         Shift Fsk_byte , Left
      Next
   End Sub

'-------------------------------------------------------------------------
   Sub Rf_cmd(byval Tmp As Word)
      Cmd(2) = Tmp And 255
      Shift Tmp , Right , 8
      Cmd(1) = Tmp
      'Reset Ss
      Spiout Cmd(1) , 2
      'Set Ss
   End Sub
'-------------------------------------------------------------------------