Bug #302 » rs232_uart.sh
1 |
#! /bin/bash -x
|
---|---|
2 |
#RS232_Test
|
3 |
# ./rs232.sh Send_Port:/dev/ttyS0 Receive_Port:/dev/ttyS4 115200 serial_test.log
|
4 |
WorkDir=$(cd "$(dirname "$0")"; pwd) |
5 |
function cat_vaule() |
6 |
{
|
7 |
for ((i=1;i<=3;i++)) |
8 |
do
|
9 |
sleep 0.1; echo -e "test/r/n" > $1 |
10 |
done
|
11 |
}
|
12 |
|
13 |
function serial_port_test() |
14 |
{
|
15 |
if [ -e $1 ] && [ -e $2 ]; then |
16 |
for ((i=1;i<=2;i++)) do echo -e "test/r/n" > $2;done |
17 |
cat_vaule $1 |
18 |
echo -e "*************************Send_Serial_Port___:$1*************************" |
19 |
echo -e "*************************Receive_Serial_Port:$2*************************" |
20 |
stty -F $1 raw speed $3 min 0 time 10 >/dev/null;rev_tx1=$?;sleep 1;stty -F $1 raw speed $3 min 0 time 10 >/dev/null;rev_tx2=$? |
21 |
stty -F $2 raw speed $3 min 0 time 10;rev_rx1=$?;sleep 1;stty -F $2 raw speed $3 min 0 time 10 >/dev/null;rev_rx2=$? |
22 |
rev_back=$(($rev_tx1+$rev_tx2+$rev_rx1+$rev_rx2)) |
23 |
if [ $rev_back = 0 ]; then |
24 |
# echo bbbb
|
25 |
rm -rf $4 |
26 |
sync
|
27 |
cat $2 >> $4 & |
28 |
cat_vaule $1; kill $(ps -elf |grep cat |grep -v grep|awk '{print $4}');grep "test" $4 >/dev/null;ret_val=$? |
29 |
if [ $ret_val -eq 0 ]; then |
30 |
echo -e "\033[32m \033[ [[********************$6$1***Connectivity is Pass********************] \033[0m" |
31 |
$WorkDir/logprint.sh $6'&'$1 PASS $5 $7 |
32 |
rm -rf $4 |
33 |
#cat_vaule $1
|
34 |
exit
|
35 |
elif [ $ret_val = 1 ] || [ $ret_val != 0 ]; then |
36 |
echo -e "\033[31m \033[ [[********************$6$1***Connectivity is Fail*******************] \033[0m" |
37 |
$WorkDir/logprint.sh $6'&'$1 FAIL $5 $7 |
38 |
rm -rf $4 |
39 |
exit
|
40 |
fi |
41 |
fi
|
42 |
fi
|
43 |
echo -e "\033[31m \033[ [[********************$6$1***Connectivity is Fail*******************] \033[0m" |
44 |
$WorkDir/logprint.sh $6'&'$1 FAIL $5 $7 |
45 |
}
|
46 |
serial_port_test $1 $2 $3 $4 $5 $6 $7 |