function  WriteFrequencyNav1Nav2(freq_1, freq_2, t_w)
%% ---------------------------------------------------------------------------------
% Version:      02/09/2015    
% (c):          Vicente Calabuig Simón
%               vicasim@etsid.upv.es     
%               
%
% 1.- Utilidad:
%
%       Escribir en las variables internas de X-Plane: sim/cockpit/radios/nav1_freq_hz 
%                                                      sim/cockpit/radios/nav2_freq_hz
%       
%       los valores especificados en freq_1 y freq_2, respectivamente.     
%
% 2.- Parámetros de entrada:
%
%       freq_1 : Frecuencia que desea escibirse en 'sim/cockpit/radios/nav1_freq_hz'
%       freq_2 : Frecuencia que desea escibirse en 'sim/cockpit/radios/nav2_freq_hz'
%       t_w    : Intervalo de tiempo que quiere asignársele al proceso de escritura. 
%                
%
%       Ambos valores deben ser un conjunto de 5 cifras, con rango [00000, 99999]
%
% 3.- Parámetros de salida:
%       [/]
%
% 4.- Ejemplo de uso:
%
%       WriteFrequencyNav1Nav2(10840, 11330, 1)
%       WriteFrequencyNav1Nav2(00000, 99999, 1)
%
%  NOTA : X-plane debe estar ejecutándose, y debe tener configurado:  IP salida de datos     : 127.0.0.1
%                                                                     Port that we recieve on: 6500
%         
%% -------------------------------------------------------------------------------------------
    ip      = '127.0.0.1';
    port    = 6500;
    try
    % Open the receiving socket
    ss = java.net.DatagramSocket();
    
    % Writing frequency on Nav_1
    value=single(freq_1);
    dataref='sim/cockpit/radios/nav1_freq_hz';
    UDPsendDREFfloat(ss,ip,port,dataref,value);
    pause(t_w);
    
    % Writing frequency on Nav_2
    value=single(freq_2);
    dataref='sim/cockpit/radios/nav2_freq_hz';
    UDPsendDREFfloat(ss,ip,port,dataref,value);
    pause(t_w);
    
    ss.close();
    catch err
    ss.close();
    rethrow(err);
    end

    function UDPsendDREFfloat(ssock,ip,port,dataref,value)
    send_msg=uint8(zeros(1,509));
    send_msg(1:4)=uint8('DREF');
    send_msg(5)=uint8(0);

    value=single(value);
    value_bytes=typecast(value,'uint8');
    len=6;
    for j=1:4
        send_msg(len)=value_bytes(j);
        len=len+1;
    end
    dataref_bytes=uint8(dataref);
    for j=1:length(dataref)
        send_msg(len)=dataref_bytes(j);
        len=len+1;
    end
    send_pkt = java.net.DatagramPacket(send_msg, size(send_msg,2),java.net.InetAddress.getByName(ip),port);
    ssock.send(send_pkt);
    end
end