diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-02-18 12:41:59 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-02-18 12:41:59 +0000 |
| commit | 0386cfb6d71fd4d58e4ed30ea2bcfaa74f4eb604 (patch) | |
| tree | 17430fedba959c33c9266ff0d342908ed8ec5d9c /lib | |
| parent | ce143a3aa7197c0b066e22d4bc4825d3d63a252e (diff) | |
| download | enigma2-0386cfb6d71fd4d58e4ed30ea2bcfaa74f4eb604.tar.gz enigma2-0386cfb6d71fd4d58e4ed30ea2bcfaa74f4eb604.zip | |
rotor fix
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/dvb/sec.cpp | 33 |
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 |
