#!/bin/bash

#make sure the modbus test port is defined
if [ "$MOD_SER_PORT" = "" ]; then
    echo Error: MOD_SER_PORT variable is not set
    echo Error: example: export MOD_SER_PORT=com1
    exit
fi

BAUD=57600

#TEST ALL SWITCHES
echo "TESTING ALL SWITCHED COILS [ENTER]"
read

./fcoil_mult $MOD_SER_PORT 1 8 0x00FF $BAUD
sleep 1.0
./fcoil_mult $MOD_SER_PORT 1 8 0x0000 $BAUD
sleep 1.0

#./rcoil $MOD_SER_PORT 512 1
#sleep 1.0

# TEST LIGHT SWITCHES (LEDS WILL BLINK)
echo "TESTING LIGHT SWITCHES [ENTER]"
read

for coil in 1 2 3 4 5 6 
do
    ./fcoil $MOD_SER_PORT 1 $coil $BAUD
    sleep 1
    ./fcoil $MOD_SER_PORT 0 $coil $BAUD
done

echo "TEST INSTRUMENT 0 POWER (J3) [ENTER]"
read
./fcoil $MOD_SER_PORT 1 7   $BAUD
sleep 1
./fcoil $MOD_SER_PORT 0 7  $BAUD

echo "TEST INSTRUMENT 1 POWER (J6) [ENTER]"
read
./fcoil $MOD_SER_PORT 1 8   $BAUD
sleep 1
./fcoil $MOD_SER_PORT 0 8  $BAUD

echo "TEST VICOR CTL (J7-1) [ENTER]"
read
./fcoil $MOD_SER_PORT 1 16  $BAUD
sleep 1
./fcoil $MOD_SER_PORT 0 16 $BAUD


#READ INPUTS
echo "READING INPUTS"
echo "TEMP SENSOR [ENTER]"
read
./loop_test $MOD_SER_PORT 5 $BAUD



echo "HIGH FAULT SENSOR [ENTER]"
read
#TURN ON GF HIGH
./fcoil $MOD_SER_PORT 1 11 $BAUD
./loop_test $MOD_SER_PORT 6 $BAUD
./fcoil $MOD_SER_PORT 0 11 $BAUD
sleep 1.0

echo "LOW FAULT SENSOR [ENTER]"
read
#TURN ON GF LOW
./fcoil $MOD_SER_PORT 1 12 $BAUD
./loop_test $MOD_SER_PORT 6 $BAUD
./fcoil $MOD_SER_PORT 0 12 $BAUD
sleep 1.0

echo 

echo "READY TO START ANALOG OUTPUT TESTS [ENTER]"
read

#ANALOG OUTPUTS
echo "Channel 0"
read
echo -ne '\007'
./wr_reg $MOD_SER_PORT 0x200 0xFFFF $BAUD
sleep 4.0
./wr_reg $MOD_SER_PORT 0x200 0x0000 $BAUD

echo "Channel 1"
read
echo -ne '\007\007'
./wr_reg $MOD_SER_PORT 0x201 0xFFFF $BAUD
sleep 4.0
./wr_reg $MOD_SER_PORT 0x201 0x0000 $BAUD

echo "Channel 2"
read
echo -ne '\007\007\007'
./wr_reg $MOD_SER_PORT 0x202 0xFFFF $BAUD
sleep 4.0
./wr_reg $MOD_SER_PORT 0x202 0x0000 $BAUD

echo "Channel 3"
read
echo -ne '\007\007\007\007'
./wr_reg $MOD_SER_PORT 0x203 0xFFFF $BAUD
sleep 4.0
./wr_reg $MOD_SER_PORT 0x203 0x0000 $BAUD

echo "Channel 4"
read
echo -ne '\007\007\007\007\007'
./wr_reg $MOD_SER_PORT 0x204 0xFFFF $BAUD
sleep 4.0
./wr_reg $MOD_SER_PORT 0x204 0x0000 $BAUD

echo "Channel 5"
read
echo -ne '\007\007\007\007\007\007'
./wr_reg $MOD_SER_PORT 0x205 0xFFFF $BAUD
sleep 4.0
./wr_reg $MOD_SER_PORT 0x205 0x0000 $BAUD


echo "GET READY TO TEST THE WATER SENSOR, (SHORT J21/J22) [ENTER]"
read
./rinput $MOD_SER_PORT 5 1  $BAUD
sleep 1
echo "CLEAR THE ALARM"
./fcoil $MOD_SER_PORT 1 15 $BAUD
sleep 1
echo "CHECK AGAIN"
./rinput $MOD_SER_PORT 5 1  $BAUD



