#!/bin/sh

function error()
{
    echo "$1" >&2
}

function log()
{
   logger -t $1 "${2}"
}
function gnxio_toggle()
{
    PIN=$1
    STATE=$2
    echo -n "[${PIN} -> ${STATE}] ... "
    ${GNXIO} set ${PIN} ${STATE}
    RESULT=`gnxio get ${PIN}`
    if [[ "${RESULT}" == "${STATE}" ]] ; then
        echo "OK"
    else
       echo "failed"
       error "Error toggling pin ${PIN}"
       exit 1
    fi
}

function modem_tx()
{
    if [[ -c ${MODEM} ]] ; then
        echo -e "$1\r" >> "${MODEM}"
        echo "TX: $1" >> "${MODEM_LOG}"
    else
        error "${MODEM} is not a character device"
        exit 1
    fi
}

function modem_rx()
{
    IFS=$'\r\n' :; RX=($(timeout 0.75 cat ${MODEM}))
    for line in "${RX[@]}" ;
    do
        echo "RX: ${line}" >> ${MODEM_LOG}
        if [[ "${line}" == "OK" ]] ; then
            RX_RESULT="OK"
        fi
    done
}

function modem_txrx()
{
    modem_tx "$1"
    RX_RESULT="failed"
    modem_rx
}


