mirror of https://github.com/drowe67/pirip.git
prototyping frame repeater service, starts and stops OK :-)
parent
bb9af64722
commit
7e5f741a67
|
@ -254,7 +254,7 @@ $ ./build_rtlsdr.sh
|
||||||
$ ./src/rtl_fsk -g 49 -f 144490000 - -a 200000 -r 10000 --code H_256_512_4 --mask 10000 --filter 0x1 | hexdump
|
$ ./src/rtl_fsk -g 49 -f 144490000 - -a 200000 -r 10000 --code H_256_512_4 --mask 10000 --filter 0x1 | hexdump
|
||||||
```
|
```
|
||||||
Then send test frames from HackRF on laptop, e.g. bursts of 3 frames:
|
Then send test frames from HackRF on laptop, e.g. bursts of 3 frames:
|
||||||
```
|
```
|
||||||
$ ./src/freedv_data_raw_tx --source 0x1 -c --testframes 3 --burst 1 --Fs 100000 --Rs 10000 --tone1 10000 --shift 10000 -a 30000 FSK_LDPC /dev/zero - | ./misc/tlininterp - - 40 -d -f | hackrf_transfer -t - -s 4E6 -f 143.5E6
|
$ ./src/freedv_data_raw_tx --source 0x1 -c --testframes 3 --burst 1 --Fs 100000 --Rs 10000 --tone1 10000 --shift 10000 -a 30000 FSK_LDPC /dev/zero - | ./misc/tlininterp - - 40 -d -f | hackrf_transfer -t - -s 4E6 -f 143.5E6
|
||||||
```
|
```
|
||||||
This uses a source addressing scheme to filter out locally transmitted frames. In the example above, the laptop has
|
This uses a source addressing scheme to filter out locally transmitted frames. In the example above, the laptop has
|
||||||
|
@ -264,8 +264,7 @@ $ ./build_rtlsdr.sh
|
||||||
|
|
||||||
# Reading Further
|
# Reading Further
|
||||||
|
|
||||||
1. [Open IP over VHF/UHF 1](http://www.rowetel.com/?p=7207) - Blog post introducing this project
|
1. Open IP over VHF/UHF [Part 1](http://www.rowetel.com/?p=7207) [Part 2](http://www.rowetel.com/?p=7334) [Part 3](http://www.rowetel.com/?p=7567)
|
||||||
1. [Open IP over VHF/UHF 2](http://www.rowetel.com/?p=7334) - Second blog post on uncoded OTA tests
|
|
||||||
1. [FSK_LDPC Data Mode](http://www.rowetel.com/?p=7467) - Physical layer design and testing
|
1. [FSK_LDPC Data Mode](http://www.rowetel.com/?p=7467) - Physical layer design and testing
|
||||||
1. [Codec 2 FSK Raw Data Modes](https://github.com/drowe67/codec2/blob/master/README_data.md)
|
1. [Codec 2 FSK Raw Data Modes](https://github.com/drowe67/codec2/blob/master/README_data.md)
|
||||||
1. [Codec 2 FSK Modem](https://github.com/drowe67/codec2/blob/master/README_fsk.md)
|
1. [Codec 2 FSK Modem](https://github.com/drowe67/codec2/blob/master/README_fsk.md)
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
#!/bin/bash -x
|
||||||
|
# pirip service script
|
||||||
|
|
||||||
|
# TODO
|
||||||
|
# [X] way to send stderr to log file
|
||||||
|
# [ ] way to set freq at start up
|
||||||
|
# [ ] way to set Rs and M at start up
|
||||||
|
# [ ] way to start as frame repeater or beacon
|
||||||
|
|
||||||
|
TERM_ADDR=0x2
|
||||||
|
RS=10000
|
||||||
|
DATA_BITS_PER_FRAME=256
|
||||||
|
CODE=H_${DATA_BITS_PER_FRAME}_512_4
|
||||||
|
TR_SWITCH_GPIO=21
|
||||||
|
PIRIP_PATH=/home/pi/pirip
|
||||||
|
NAME=pirip
|
||||||
|
PIDFILE=/var/run/${NAME}.pid
|
||||||
|
LOGFILE=/var/log/${NAME}.log
|
||||||
|
PATH=${PIRIP_PATH}/tx:${PIRIP_PATH}/librtlsdr/build_rtlsdr/src:${PATH}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
( rtl_fsk -g 49 -f 144490000 - -a 200000 -r ${RS} --code ${CODE} --mask ${RS} --filter ${TERM_ADDR} -q -b | \
|
||||||
|
frame_repeater ${DATA_BITS_PER_FRAME} ${TERM_ADDR} | \
|
||||||
|
rpitx_fsk - --code ${CODE} -r ${RS} -s ${RS} -g ${TR_SWITCH_GPIO} -- ) >>${LOGFILE} 2>&1 &
|
||||||
|
RETVAL=$?
|
||||||
|
echo $!>${PIDFILE}
|
||||||
|
[ $RETVAL = 0 ] && echo -ne '\t\t\t\t\t[ \033[32mOK\033[0m ]\n'
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
parent=$(cat ${PIDFILE})
|
||||||
|
children=$(ps -o pid= --ppid ${parent})
|
||||||
|
kill ${children}
|
||||||
|
rm ${PIDFILE}
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
$0 stop
|
||||||
|
$0 start
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
if [ -e ${PIDFILE} ]; then
|
||||||
|
echo ${NAME} is running, pid=`cat ${PIDFILE}`
|
||||||
|
else
|
||||||
|
echo$ {NAME} is NOT running
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop|status|restart}"
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
Loading…
Reference in New Issue