anchor.diff:      FOptsOut;
   append_mask(Idx, {TXPower, DataRate, Chans}, FOptsOut) ->
       append_mask(Idx-1, {TXPower, DataRate, Chans},
  -        [{link_adr_req, DataRate, TXPower, build_bin(Chans, {16*Idx, 16*(Idx+1)-1}), Idx, 0} | FOptsOut]).
  +        case build_bin(Chans, {16*Idx, 16*(Idx+1)-1}) of
  +            0 -> FOptsOut;
  +            ChMask -> [{link_adr_req, DataRate, TXPower, ChMask, Idx, 0} | FOptsOut]
  +        end).
   
   request_status({#link{devstat_time=LastDate, devstat_fcnt=LastFCnt}=Link, FOptsOut})
           when LastDate == undefined; LastFCnt == undefined ->
  
positive.code:     ?_assertEqual(false, none_bit({0, 71}, [{0,71}])),
      ?_assertEqual(true, some_bit({0, 15}, [{0,2}])),
      ?_assertEqual(false, all_bit({0, 15}, [{0,2}])),
      ?_assertEqual(false, none_bit({0, 15}, [{0,2}]))
  ].
  
  % end of file
  
negative.code: 
  set_channels(Region, {TXPower, DataRate, Chans}, FOptsOut)
          when Region == <<"EU863-870">>; Region == <<"CN779-787">>; Region == <<"EU433">> ->
      [{link_adr_req, DataRate, TXPower, build_bin(Chans, {0, 15}), 0, 0} | FOptsOut];
  set_channels(Region, {TXPower, DataRate, Chans}, FOptsOut)
          when Region == <<"US902-928">>; Region == <<"US902-928-PR">>; Region == <<"AU915-928">> ->
      case all_bit({0,63}, Chans) of
          true ->
              [{link_adr_req, DataRate, TXPower, build_bin(Chans, {64, 71}), 6, 0} | FOptsOut];
          false ->
              [{link_adr_req, DataRate, TXPower, build_bin(Chans, {64, 71}), 7, 0} |
                  append_mask(4, {TXPower, DataRate, Chans}, FOptsOut)]
      end;
  set_channels(Region, {TXPower, DataRate, Chans}, FOptsOut)
          when Region == <<"CN470-510">> ->
  