aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-02-18 12:41:59 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-02-18 12:41:59 +0000
commit0386cfb6d71fd4d58e4ed30ea2bcfaa74f4eb604 (patch)
tree17430fedba959c33c9266ff0d342908ed8ec5d9c /lib
parentce143a3aa7197c0b066e22d4bc4825d3d63a252e (diff)
downloadenigma2-0386cfb6d71fd4d58e4ed30ea2bcfaa74f4eb604.tar.gz
enigma2-0386cfb6d71fd4d58e4ed30ea2bcfaa74f4eb604.zip
rotor fix
Diffstat (limited to 'lib')
-rw-r--r--lib/dvb/sec.cpp33
1 files changed, 15 insertions, 18 deletions
diff --git a/lib/dvb/sec.cpp b/lib/dvb/sec.cpp
index 0b40ae50..aa00062a 100644
--- a/lib/dvb/sec.cpp
+++ b/lib/dvb/sec.cpp
@@ -602,27 +602,24 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
sec_sequence.push_back( eSecCommand(eSecCommand::SET_VOLTAGE, VOLTAGE(18)) );
// voltage was disabled..so we wait a longer time ..
sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, 500) );
- sec_sequence.push_back( eSecCommand(eSecCommand::GOTO, +4) ); // no need to send stop rotor cmd
+ sec_sequence.push_back( eSecCommand(eSecCommand::GOTO, +7) ); // no need to send stop rotor cmd
- eDVBDiseqcCommand diseqc;
- if ( !send_mask ) // no switch changed.. so we send first the rotor stop command
- {
- diseqc.len = 3;
- diseqc.data[0] = 0xE0;
- diseqc.data[1] = 0x31; // positioner
- diseqc.data[2] = 0x60; // stop
- sec_sequence.push_back( eSecCommand(eSecCommand::IF_ROTORPOS_VALID_GOTO, +3) );
- sec_sequence.push_back( eSecCommand(eSecCommand::SEND_DISEQC, diseqc) );
- // wait 300msec after send rotor stop cmd
- sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, 300) );
- }
+ if (send_mask)
+ sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, 750) ); // wait 750ms after send switch cmd
else
- {
- // wait 500msec after switching to rotor
- sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, 500) );
- sec_sequence.push_back( eSecCommand(eSecCommand::GOTO, +2) );
sec_sequence.push_back( eSecCommand(eSecCommand::GOTO, +1) );
- }
+
+ eDVBDiseqcCommand diseqc;
+ diseqc.len = 3;
+ diseqc.data[0] = 0xE0;
+ diseqc.data[1] = 0x31; // positioner
+ diseqc.data[2] = 0x60; // stop
+ sec_sequence.push_back( eSecCommand(eSecCommand::IF_ROTORPOS_VALID_GOTO, +5) );
+ sec_sequence.push_back( eSecCommand(eSecCommand::SEND_DISEQC, diseqc) );
+ sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, 50) );
+ sec_sequence.push_back( eSecCommand(eSecCommand::SEND_DISEQC, diseqc) );
+ // wait 300msec after send rotor stop cmd
+ sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, 300) );
diseqc.data[0] = 0xE0;
diseqc.data[1] = 0x31; // positioner