anchor.diff:      #rxframe{frid=FrId, dir=Dir, network=NetName,
           app=App, devaddr=DevAddr, gateways=[{M, #rxq{}} || M <- MAC],
           fcnt=FCnt, confirm=Confirm, port=Port, data=Data,
  -        datetime=calendar:universal_time()}.
  +        datetime=lorawan_utils:precise_universal_time()}.
   
   bit_to_bool(0) -> false;
   bit_to_bool(1) -> true.
  
positive.code:         app=App, devaddr=DevAddr, location=Location, gateways=Gateways,
          average_qs=AverageQs, powe=TXPower,
          fcnt=FCnt, confirm=bit_to_bool(Confirm), port=Port, data=Data,
          datetime=calendar:universal_time()};
  build_rxframe(Dir, MAC, {#network{name=NetName}, #profile{app=App},
          #node{location=Location, devaddr=DevAddr, fcntdown=FCnt}},
          #txdata{confirmed=Confirm, port=Port, data=Data}) ->
  
negative.code:     #rxframe{frid=FrId, dir=Dir, network=NetName,
          app=App, devaddr=DevAddr, location=Location, gateways=[{MAC, #rxq{}}],
          fcnt=FCnt, confirm=Confirm, port=Port, data=Data,
          datetime=lorawan_utils:precise_universal_time()};
  build_rxframe(Dir, MAC, {#network{name=NetName}, #profile{app=App},
          #multicast_channel{devaddr=DevAddr, fcntdown=FCnt}},
          #txdata{confirmed=Confirm, port=Port, data=Data}) ->
  