# since we're using devfsd, we need to create our symlinks on every reboot
cd /dev

#setserial /dev/ttyAM0 baud_base 460800
#stty  -F  /dev/ttyAM0 9600 min 1 time 0 -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo

echo "set-up /dev/port_rack"
setserial /dev/tts/0 baud_base 460800
stty  -F  /dev/tts/0 9600 min 1 time 0 -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo
rm -f  /dev/port_rack
ln -s  /dev/tts/0  /dev/port_rack

setserial /dev/tts/1 baud_base 460800
stty  -F  /dev/tts/1 9600 min 1 time 0 -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo

echo "set-up /dev/starboard_optode"
setserial /dev/tts/3 baud_base 460800
stty  -F  /dev/tts/3 9600 min 1 time 0 -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo
rm -f  /dev/starboard_optode
ln -s  /dev/tts/3  /dev/starboard_optode

setserial /dev/tts/8 baud_base 460800
stty  -F  /dev/tts/8 9600 min 1 time 0 -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo
rm -f  /dev/relay1
ln -s  /dev/tts/8  /dev/relay1

echo "set-up /dev/relay2"
setserial /dev/tts/4 baud_base 460800
stty  -F  /dev/tts/4 9600 min 1 time 0 -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo
rm -f  /dev/relay2
ln -s  /dev/tts/4  /dev/relay2

echo "set-up /dev/ezservo"
setserial /dev/tts/6 baud_base 460800
stty  -F  /dev/tts/6 9600 min 1 time 0 -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo
rm -f  /dev/ezservo
ln -s  /dev/tts/6  /dev/ezservo

echo "set-up /dev/stbd_rack"
setserial /dev/tts/7 baud_base 460800
stty  -F  /dev/tts/7 9600 min 1 time 0 -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo
rm -f  /dev/stbd_rack
ln -s  /dev/tts/7  /dev/stbd_rack

echo "set-up /dev/acm"
setserial /dev/tts/9 baud_base 460800
stty  -F  /dev/tts/9 9600 min 1 time 0 -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo
rm -f  /dev/acm
ln -s  /dev/tts/9  /dev/acm

echo "set-up /dev/modem"
setserial /dev/tts/10 baud_base 460800
stty  -F  /dev/tts/10 9600 min 1 time 0 -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo
rm -f  /dev/modem
ln -s  /dev/tts/10  /dev/modem

echo "set-up /dev/port_ref_optode"
setserial /dev/tts/11 baud_base 460800
stty  -F  /dev/tts/11 9600 min 1 time 0 -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo
rm -f  /dev/port_ref_optode
ln -s  /dev/tts/11  /dev/port_ref_optode

echo "set-up /dev/port_optode"
setserial /dev/tts/2 baud_base 460800
stty  -F  /dev/tts/2 9600 min 1 time 0 -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo
rm -f  /dev/port_optode
ln -s  /dev/tts/2  /dev/port_optode

echo "set-up /dev/stbd_ref_optode"
setserial /dev/tts/5 baud_base 460800
stty  -F  /dev/tts/5 9600 min 1 time 0 -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo
rm -f  /dev/ref_optode
ln -s  /dev/tts/5  /dev/stbd_ref_optode

# bat3 board interfaces
#
#echo "install tsuart0.o"
#insmod -f -q /cf/rover/lib/tsuart0.o
#
#echo "install tsuart-bat3.o"
#insmod -f -q /cf/rover/lib/tsuart-bat3.o

#leave interrupts unmasked on IDE accesses so we don't lose serial input
[ "hd[a-z]" = 'hd[a-z]' ] || hdparm -u1k1 hd[a-z] >null

I2Cgate= #ttyAM0   #serial port that talks to the I2C gateway
[ -c "$I2Cgate" ] && {
  ln -s $I2Cgate I2Cgate 
  chmod g+rw $I2Cgate
  chgrp tty $I2Cgate
}

freewave= #tts/15 #serial port connected to the freewave radio modem
[ -c "$freewave" ] && {
  ln -s $freewave freewave
  stty -F freewave 19200 clocal raw -echo -echonl  #for modem configuration
  modprobe ppp_async && modprobe ppp_deflate     #supprt for the ppp deamon
}

for port in $I2Cgate tts/* ; do
  [ $port = "$freewave" ] && continue  #freewave may not be touched by users
  chgrp tty $port && chmod g+rw $port
done

