anchor.diff:  
   \ this is the intended public API for the RF69 driver
   
  -: rf69-power ( n -- )  \ change TX power level (0..31)
  +: rf-power ( n -- )  \ change TX power level (0..31)
     RF:PA rf@ $E0 and or RF:PA rf! ;
   
  -: rf69-sleep ( -- ) RF:M_SLEEP rf!mode ;  \ put radio module to sleep
  -
  -: rf69-recv ( -- b )  \ check whether a packet has been received, return #bytes
  +: rf-sleep ( -- ) RF:M_SLEEP rf!mode ;  \ put radio module to sleep
  +
  +: rf-recv ( -- b )  \ check whether a packet has been received, return #bytes
     rf.mode @ RF:M_RX <> if
       RF:M_RX rf!mode
  -  else rf-status then
  +  else rf-rssi rf-status then
     RF:IRQ2 rf@  RF:IRQ2_RECVD and if
       RF:FIFO rf@
  -    rf.buf over 66 max rf-n@spi
  +    rf.buf over 66 min rf-n@spi
     else 0 then ;
   
  -: rf69-send ( addr count hdr -- )  \ send out one packet
  +: rf-send ( addr count hdr -- )  \ send out one packet
     RF:M_STDBY rf!mode
     over 2+ RF:FIFO rf!
     dup rf-parity or RF:FIFO rf!
  -  $C0 and rf69.nodeid @ or RF:FIFO rf!
  +  $C0 and rf.nodeid @ or RF:FIFO rf!
     ( addr count ) rf-n!spi
     RF:M_TX rf!mode
     begin RF:IRQ2 rf@ RF:IRQ2_SENT and until
     RF:M_STDBY rf!mode ;
   
  -: rf69-init ( -- )  \ init RFM69 with current rf69.group and rf69.freq values
  -  rf69.group @ rf69.freq @ rf-init ;
  -
  -: rf69-info ( -- )  \ display reception parameters as hex string
  -  rf69.freq @ h.4 rf69.group @ h.2 rf.rssi @ h.2 rf.lna @ h.2 rf.afc @ h.4 ;
  -
  -: rf69-listen ( -- )  \ init RFM69 and report incoming packets until key press
  -  rf69-init cr
  +: rf-init ( -- )  \ init RFM69 with current rf.group and rf.freq values
  +  rf.group @ rf.freq @ rf-ini ;
  +
  +: rf-info ( -- )  \ display reception parameters as hex string
  +  rf.freq @ h.4 rf.group @ h.2 rf.rssi @ h.2 rf.lna @ h.2 rf.afc @ h.4 ;
  +
  +: rf-listen ( -- )  \ init RFM69 and report incoming packets until key press
  +  rf-init cr
  +  0 rf.last !
     begin
  -    rf69-recv ?dup if
  -      ." RF69 " rf69-info
  +    rf-recv ?dup if
  +      ." RF69 " rf-info
         dup 0 do
           rf.buf i + c@ h.2
           i 1 = if 2- h.2 space then
  
positive.code:   ( u ) dup 10 rshift  RF:FRF rf!
    ( u ) dup 2 rshift  RF:FRF 1+ rf!
    ( u ) 6 lshift RF:FRF 2+ rf!
  ;
  
  : rf-group ( u -- ) RF:SYN2 rf! ;  \ set the net group (1..250)
  
  
negative.code: 
  0 2 lshift constant RF:M_SLEEP
  1 2 lshift constant RF:M_STDBY
  2 2 lshift constant RF:M_FS
  3 2 lshift constant RF:M_TX
  4 2 lshift constant RF:M_RX
  
  