[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Bash script] How can I read a tty device?



Ah, I get it. 'read -n1' is the way.


On Fri, May 17, 2013 at 12:19 PM, Magicloud Magiclouds <magicloud.magiclouds@gmail.com> wrote:
Hi,

  Say I have device /dev/ttyACM0. If I `stty -F /dev/ttyACM0 raw`, then `cat /dev/ttyACM0` in one term, and `echo -e "QUERYCOMMAND" > /dev/ttyACM0` in another term. I would get the data in first term.

  But if echo first, then cat. The data seemed lost. Cat would not get anything. So I think these two commands must be run at the same time.

  So I put this process be in a script like this:

        (stty -F $tty raw
        currentSettings=""
        while [ 1 ]
        do
                c=`dd if=$tty count=1`
                currentSettings=${currentSettings}${c}
                if [ c == '.' ]
                then
                        break
                fi
        done
        echo -n $currentSettings > $conf) &
        echo -e "${query}?." > $tty
        until [ -e $conf ]
        do
                sleep 1
        done
        currentSettings=`cat $conf`

  The script stuck at dd, it did not get anything.

  What should I do?
--
竹密岂妨流水过
山高哪阻野云飞

And for G+, please use magiclouds#gmail.com.



--
竹密岂妨流水过
山高哪阻野云飞

And for G+, please use magiclouds#gmail.com.

Reply to: