AX25

Warning

This object is being replaced by a new set of functions

  • AX25 object
var frame = new AX25(speed);

or using (G3RUH FSK9600) :

var frame = new AX25(speed, true);
  • Available speed and modulation : 300/AFSK, 1200/AFSK, 2400/AFSK and 9600/FSK (G3RUH)

.setFrom

setFrom( string callsign , ssid ) ; // setFrom('F4XXX', 1);

.setTo

setTo( string callsign , ssid ) ;   // setTo("F4YYY", 0);

.setData

  setData( array );

getBits

array symbols = getBits()

modulate

var samples = modulateFSK();

modulateFSK

var samples = modulateFSK();

Example

var frame = new AX25(9600,true);
frame.setFrom('F4XXX', 0);
frame.setTo('F4YYY', 0);

var L = 240 ;
var tc_data = new Uint8Array(L) ;
for( var i=0 ; i < L ; i++ )
    {
    tc_data[i] = 170 ;
    }

frame.setData( tc_data );
var IQ = frame.modulateFSK();
IQ.saveToFile('test.cf32');
IQ.dump();
// tx.txData( IQ );

NBFM

.configure

    modem.configure( {'modulation_index': 0.1} );

.modulate

      IQData iq = modem.modulate( array );

.demodulate

    array symbols = modem.demodulate( IQData );
  • Exemple :
var audio = new IQData('audio');
if( !audio.loadFromFile('lamableu.wav')) {
     print('file not found.');
     exit();
}
// retrieve channel (mono audio)
var speak = audio.getReal();

// now generate IQ signal from FM audio
var fm = new NBFM('modulator'); 
fm.configure( {'modulation_index': 0.1} );
var IQ = fm.modulate( speak );
Last update: February 13, 2022