#Copyright (c) 1999 William Stearns mx_prep () { MX_DEV=${MX_DEV:-"/dev/ttyS0"} MX_BAUD=${MX_BAUD:-"19200"} case $MX_DEV in ttyS0|cua0|/dev/cua0|COM1) MX_DEV="/dev/ttyS0" ;; ttyS1|cua1|/dev/cua1|COM2) MX_DEV="/dev/ttyS1" ;; ttyS2|cua2|/dev/cua2|COM3) MX_DEV="/dev/ttyS2" ;; ttyS3|cua3|/dev/cua3|COM4) MX_DEV="/dev/ttyS3" ;; esac if [ -n "`type -path setserial`" ] && [ -x "`type -path setserial`" ]; then `type -path setserial` $MX_DEV baud_base $MX_BAUD fi } mx_command () { echo -ne "\376${1}${2}${3}${4}${5}${6}${7}${8}${9}" >$MX_DEV } mx_auto_repeat () { mx_command '~' `dec2oct 0` } mx_blink_on () { mx_command 'S' } mx_blink_off () { mx_command 'T' } mx_clear () { mx_command 'X' } mx_col_row_echo () { mx_goto $1 $2 ; shift 2 ; echo $* >$MX_DEV } #Column, Row, String in quotes mx_echo () { echo -n "$1" >$MX_DEV } mx_goto () { mx_command 'G' `dec2oct $1` `dec2oct $2` } #Column, Row mx_key_up_down () { mx_command '~' `dec2oct 1` } mx_light_off () { mx_command 'F' } mx_light_on () { mx_command 'B' `dec2oct ${1:-0}` } #Optional number of minutes; default indefinitely mx_wrap_on () { mx_command 'C' } mx_wrap_off () { mx_command 'D' } mx_scroll_on () { mx_command 'Q' } mx_scroll_off () { mx_command 'R' } mx_date_screen () { mx_clear mx_col_row_echo 3 2 "`date +%a`, `date +%D` " mx_col_row_echo 3 3 "`date +%T`" } mx_summary () { mx_clear mx_echo "`uptime`" } mx_netsummary () { if ping -c 3 home.netscape.com >/dev/null 2>/dev/null ; then mx_clear mx_col_row_echo 1 1 "Link up" else mx_clear mx_col_row_echo 1 4 "Link down" fi } dec2oct () { case $1 in 0) echo '\000' ;; 1) echo '\001' ;; 2) echo '\002' ;; 3) echo '\003' ;; 4) echo '\004' ;; 5) echo '\005' ;; 6) echo '\006' ;; 7) echo '\007' ;; 8) echo '\010' ;; 9) echo '\011' ;; 10) echo '\012' ;; 11) echo '\013' ;; 12) echo '\014' ;; 13) echo '\015' ;; 14) echo '\016' ;; 15) echo '\017' ;; 16) echo '\020' ;; 17) echo '\021' ;; 18) echo '\022' ;; 19) echo '\023' ;; 20) echo '\024' ;; 21) echo '\025' ;; 22) echo '\026' ;; 23) echo '\027' ;; 24) echo '\030' ;; 25) echo '\031' ;; 26) echo '\032' ;; 27) echo '\033' ;; 28) echo '\034' ;; 29) echo '\035' ;; 30) echo '\036' ;; 31) echo '\037' ;; *) echo "too large" ;; esac }