DiSEqC 1.2 v0.2 for Kathrein UFS910

Status
Not open for further replies.

aitchala

VIP
Messages
1,394
DiSEqC 1.2 v0.2 for Kathrein UFS910

Commands & pseudo code for diseqcsend1.2
----------------------------------------

diseqcsend 1.2 <Framing Byte> <Address Byte> <Command Byte> (<Parameter>,...)
(All input in decimal)

<Framing Byte>:

E0 - No reply requested from Master
E2 - Reply requested


<Address Byte>:


10 - Uncommitted switch
30 - All motors (wildcard)
31 - Azimuth motor
32 - Elevation motor


<Command Byte> (<Parameter>,...):

DiseqC 1.2 Hex-command from master to all motors (no reply):
E0 30 xx xx


XX XX - Rotor commands & parameters:

6B NN - Drive motor to stored Sat position NN
6B 00 - Drive motor to reference position (usually due south)

68 NN - Drive motor East, NN positive (01-7F): timeout after N seconds
68 NN - NN negative (80-FF): Move motor N steps (FF equal one step)

69 NN - Drive motor West, NN positive (01-7F): timeout after N seconds
69 NN - NN negative (80-FF): Move motor N steps (FF equals one step

60 - Stop motor movement

66 - Set motor East limit

67 - Set motor West limit

6A NN - Store Sat to motor position NN

6F 00 - Recalculate all Sat positions based on current




DiseqC 1.2 Code examples for AAF Menu & Linux scripts:
------------------------------------------------------

# osdshell.cfg with 1.2 Motor Dish Control & setup

font=/data/menue/ARIALNBI2.ttf
newBox=true
#lirc_sense=400000
popupTime=3

entrie_count=9
menu_elements=9
title=AAF 1.2 Main-OSD
1_sh=Emu Management|/data/plugins/emuman.mnu|MENU
2_sh=Emu Setup|/data/plugins/emusetup.mnu|MENU
3_sh=Network configuration|/data/plugins/network.mnu|MENU
4_sh=PICVIEW|/data/menue/osd.sh|EXIT_BLOCK
5_sh=Sleep Timer|/data/plugins/trigsleep.sh|INPUT|3|Sleep Timer|Input in XXX Minutes|ONLY_123
6_sh=Restart|/data/www/cgi-bin/reboot.sh|NORMAL
7_sh=Shutdown|/data/plugins/shutdown.sh|NORMAL
8_sh=Motor Dish Control|/data/plugins/ssat.sh|INPUT|3|Motor Dish Control|Input Satellite Position|ONLY_123
9_sh=Motor Dish Setup|/data/plugins/dishsetup.mnu|MENU
debugMode=true



# dishsetup.mnu

entrie_count=9
menu_elements=9
title= Dish Setup

1_sh=Move dish to reference position|/data/plugins/mdtrp.sh|NORMAL
2_sh=Move dish one step east|/data/plugins/mdose.sh|NORMAL
3_sh=Move dish one step west|/data/plugins/mdosw.sh|NORMAL
4_sh=Drive dish to east|/data/plugins/ddte.sh|NORMAL
5_sh=Drive dish to west|/data/plugins/ddtw.sh|NORMAL
6_sh=Set motor East limit|/data/plugins/smel.sh|NORMAL
7_sh=Set motor East limit|/data/plugins/smwl.sh|NORMAL
8_sh=Store current position to motor|/data/plugins/scptm.sh|INPUT|3|Motor Position|Input motor position|ONLY_123
9_sh=Recalculate all Sat positions|/data/plugins/rasp.sh|NORMAL


########################
# Dish setup menu: #
########################

#!/bin/sh
# mdtrp.sh
# 1: Move dish to reference position:
#
/data/bin/diseqcsend1.2 224 48 107 0


#!/bin/sh
# mdose.sh
# 2: Move dish one step east:
#
/data/bin/diseqcsend1.2 224 48 104 255


#!/bin/sh
# mdosw.sh
# 3: Move dish one step west:
#
/data/bin/diseqcsend1.2 224 48 105 255


#!/bin/sh
# ddte.sh
# 4: Drive dish to east for two seconds:
#
/data/bin/diseqcsend1.2 224 48 104 2
sleep 2
/data/bin/diseqcsend1.2 224 48 96


#!/bin/sh
# ddtw.sh
# 5: Drive dish to west for two seconds:
#
/data/bin/diseqcsend1.2 224 48 105 2
sleep 2
/data/bin/diseqcsend1.2 224 48 96


#!/bin/sh
# smel.sh
# 6: Set motor East limit:
#
/data/bin/diseqcsend1.2 224 48 102


#!/bin/sh
# smwl.sh
# 7: Set motor West limit
#
/data/bin/diseqcsend1.2 224 48 103


#!/bin/sh
# scptm.sh
# 8: Store current position to motor:
#
ssat=`grep '[0-9]' /tmp/input.log`
if [ $ssat = "0" ]
then
/data/vfdctl "Not a defined dish position"
elif [ $ssat -lt 32 ]
then
/data/vfdctl "Stored current Sat to Motor position $ssat "
/data/plugins/diseqcsend1.2 224 48 106 $ssat
else
/data/vfdctl "Not a defined dish position"
fi



#!/bin/sh
# rasp.sh
# 9: Recalculate all Sat positions based on current position:
#
/data/bin/diseqcsend1.2 224 48 111 00


########################
# Dish control menu: #
########################

#!/bin/sh
#
# ssat.sh
# Move Dish to a stored motor position
#
ssat=`grep '[0-9]' /tmp/input.log`
if [ $ssat = "0" ]
then
/data/vfdctl "Not a defined dish position"
elif [ $ssat -lt 32 ]
then
/data/vfdctl "Driving motor to Sat position $ssat "
/data/plugins/diseqcsend1.2 224 48 107 $ssat
else
/data/vfdctl "Not a defined dish position"
fi


-------------------------------------

Not tested or debugged but if some want to test anyway.....

-Upload to 910 /data/plugins and /bin
-Chmod to 755
-Reboot box
-Play and have fun !!!!

Almost forgot: All cred for the binary to konfetti & chriwi !!!
 
Status
Not open for further replies.
Top