There are a handful of binaries in the system which are closed source (but have simple interfaces and/or are well documented). However, the majority of IRLP is written in bash shell scripts, which the node owner can directly read and modify. Example: http://www.irlp.net/owners/cust-decod.html
IRLP Repeater Controller Project -The IRLP Repeater Project is only limited by your imagination and programming skills.
IRLP repeater relevant links:
The IRLP controller program is a simple controller that provides hangtime, DTMFmuting, activity controller ID, and controllable courtesy tones. Intelligent CW repeater ID. It uses the IRLP hardware interface, which can easily be built.
The IRLP controller requires a pair of courtesy tone files to be setup. Thecontroller requires files to be made that are RAW (no header), 8 bit, with a sample rate of 8000hz. The names are ct1.raw and ct2.raw. ct1.raw is played for local traffic, and ct2.raw is played for remote (IRLP and controller generated traffic). These can be made to whatever you like, using a program like CoolEdit. You can then use a program like WinSCP to transfer the files from a windows machine onto the embedded node. After the files have been sent, the flash_sync script must be run to save the changes.
The controller has an environment file at
which can adjust many of the features of the controller. You can adjust:
·The hangtime in milliseconds.
·The shortkey timer in milliseconds (COS time required for hangtime activation).
·The alligator timer in seconds (COS timeout).
·Toggle DTMF mute on/off.
·The DTMF mute duration in milliseconds.
·The ID interval in seconds (time between IDs).
·The courtesy tone frequency if ct1/2.raw files are not available (plays through through PC speaker).
After making any changes to the environment file, the controller must berestarted by running:
The DTMF mute is accomplished by setting the LINE volume slider to zero. Thisis done in software. This only affects the audio being passed from the Line INPUT to the Line OUTPUT, and not the volume of your IRLP output audio.
Explanation of some of the standard binaries
aux*software-controlled switches using MOSFET's. The three outputs are active LOW. They can sink several amps of current, so beware. DO NOT sink more than about 500mA though. The commands are: aux1off aux1on aux2off aux2on aux3off aux3on.
cosstateCOSSTATE is FALSE (equals 1) when there is a local signal being detected by the IRLP board (COS is high)
forcekey / forceunkey- see key / unkey
key / unkey- cause your radio to key and unkey (ptt) -- invoked automatically by incoming signals from other nodes or reflectors, or can be executed from the console (keyboard). If you are running an ID script that plays and ID when your node is already keyed by IRLP activity, if the IRLP activity drops in the middle of your ID the ID will be interrupted. The forcekey command was created for use in these circumstances to keep your node keyed if activity drops (ptt is then brought down with the forceunkey command). From VE7LTD: " So, if you use forcekeys for anything, make DARN sure that there is a forceunkey to accompany it! Or else you will have smoldering plastic if your radio can not handle it."
pttstatePTTSTATE is FALSE (equals 1) when there is a transmit signal being sent from the IRLP board to your radio.
readinput Mean for troubleshooting, it will display everything that comes across; PTT ACTIVE, PTT INACTIVE, COS ACTIVE, COS INACTIVE, DTMF 1, etc
imike - takes your voice from the mic input on the sound card and digitizes it into UDP voice packets and sends them out over the internet to any IP address and port number that you choose whenever pin 11 on the parallel printer port is shorted to ground. (imike is the modified version of sfmike)
ispeaker - listens for UDP voice packets from the internet on any port you choose and turns them back into analog and puts that audio out the speaker jack on the sound card. When valid UDP packets are received pin 3 on the parallel printer port goes high. (ispeaker is the modified version of sfspeaker)
************************************************ Notes on taking a stock IRLP install off-network ************************************************ In /home/irlp/custom/rc.irlp comment out:
#STARTS THE LISTENER FOR THE IRLP COMMS AND FILE UPDATER # killall -p mynetd >&/dev/null 2>&1 sleep 2 /bin/su - -c "$BIN/mynetd 15425 $BIN/irlpd" repeater >&dev/null 2>&1 echo -n "Updating StationID to IP address table... " /bin/su - -c "$SCRIPT/update hosts" repeater >&/dev/null 2>&1 & echo "(put in background) done!" echo -n "Updating my IP address on the server... " /bin/su - -c "$SCRIPT/ipupdate" repeater >&/dev/null 2>&1 & echo "(put in background) done!" echo -n "Updating IRLP filesystem... " /bin/su - -c "$SCRIPT/update files" repeater >&/dev/null 2>&1 & echo "(put in background) done!" ----------------------------------------------------------------- In /home/irlp/scripts/enable comment out: $SCRIPT/statupdate & Also check /home/irlp/scripts/irlp.crons