#!/bin/sh
. /usr/share/libubox/jshn.sh

json_init
json_load_file /etc/hwinfo.json
json_select hwdata
json_get_var snapcap snapcap
json_load_file /etc/hwinfo.json
json_select gps
json_get_var defaultgps defaultgps
model=`strings /proc/device-tree/compatible | head -1`

gps(){
        echo 1 > /sys/class/gpio/gpio23/value
        echo 1 > /sys/class/gpio/gpio67/value
        [ $snapcap -ne 1 ] &&  # for E22X only. E21X do not have gpio68
        echo 1 > /sys/class/gpio/gpio68/value
        echo 1 > /sys/class/gpio/gpio69/value
        stty -F /dev/ttyS0 57600
}
uart(){
        echo 0 > /sys/class/gpio/gpio23/value
        echo 1 > /sys/class/gpio/gpio67/value
        [ $snapcap -ne 1 ] &&  # for E22X only. E21X do not have gpio68
        echo 0 > /sys/class/gpio/gpio68/value
        echo 0 > /sys/class/gpio/gpio69/value
        stty -F /dev/ttyS0 115200
        echo -e "AT+WMUSBVCC=1\r" > /dev/ttyS0
}
debug(){
        echo 1 > /sys/class/gpio/gpio23/value
        echo 0 > /sys/class/gpio/gpio67/value
        [ $snapcap -ne 1 ] &&  # for E22X only. E21X do not have gpio68
        echo 0 > /sys/class/gpio/gpio68/value
        echo 0 > /sys/class/gpio/gpio69/value
        stty -F /dev/ttyS0 57600
}
# exit

machine=`cat /tmp/sysinfo/board_name`
if [ "$machine" == "G520" ]; then
        return
fi

[ -z $1 ] && echo setting debug mode by default && debug && exit
[ -z "$defaultgps" ] || [ "$1" == "gps" -a $defaultgps -eq -1 ] && exit
[ "$1" == "gps" -a "$model" == "e21x" ] && exit
$1
echo gpio23 value `cat /sys/class/gpio/gpio23/value`
echo gpio67 value `cat /sys/class/gpio/gpio67/value`
[ $snapcap -ne 1 ] &&  # for E22X only. E21X do not have gpio68
echo gpio68 value `cat /sys/class/gpio/gpio68/value`
echo gpio69 value `cat /sys/class/gpio/gpio69/value`

