#!/bin/bash
#

# Enable/Disable RS485 
# bit 3 (Rx) active low
# bit 4 (Tx) active high

insmod registers
cd /proc/cpu/registers

# get PPDR state
let ppdr=`cat PPDR`
#echo `printf "PPDR=0x%08X" $ppdr`

# Configure PPDR RS485 Enable bits as outputs
let ppdr="$ppdr|0x18"
echo `printf "0x%08X" $ppdr` > PPDR
#echo `printf "PPDR=0x%08X" $ppdr`

# set RS485 Enable bits
case "$1" in
[Ee] ) 
	# get PPSR
	let ppsr=`cat PPSR`
	#echo `printf "ENABLE: PPSR=0x%08X" $ppsr`
	let ppsr="$ppsr|0x00000010"
	let ppsr="$ppsr&0xFFFFFFF7"
	echo `printf "0x%08X" $ppsr` > PPSR
	echo
	echo "RS485 ENABLED"
	echo
;;
[Dd] )
	# get PPSR
	let ppsr=`cat PPSR`
	#echo `printf "DISABLE: PPSR=0x%08X" $ppsr`
	let ppsr="$ppsr&0xFFFFFFEF"
	let ppsr="$ppsr|0x00000008"
	echo `printf "0x%08X" $ppsr` > PPSR
	echo
	echo "RS485 DISABLED"
	echo
;;
* )
echo
echo "Usage  (e)nable|(d)isable"
echo
;;
esac
#echo `printf "PPSR=0x%08X" $ppsr`

# Configure PPDR RF Power bits as inputs
#let ppdr="$ppdr&0xFFFFFFE7"
#echo `printf "0x%08X" $ppdr` > PPDR
#echo `printf "PPDR=0x%08X" $ppdr`

