I'll make the change soon, thanks for the suggestion.
Edited by athoik, 6 August 2016 - 11:57.
Posted 6 August 2016 - 11:57
Edited by athoik, 6 August 2016 - 11:57.
Posted 7 August 2016 - 19:51
Which version do you prefer guys?
version 1.
@@ -631,16 +640,27 @@ void eDVBDB::saveServicelist(const char *file) { if (sat.system == eDVBFrontendParametersSatellite::System_DVB_S2) { - fprintf(f, "\ts %d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d\n", - sat.frequency, sat.symbol_rate, - sat.polarisation, sat.fec, - sat.orbital_position > 1800 ? sat.orbital_position - 3600 : sat.orbital_position, - sat.inversion, - flags, - sat.system, - sat.modulation, - sat.rolloff, - sat.pilot); + if (sat.is_id == NO_STREAM_ID_FILTER && + (sat.pls_code & 0x3FFFF) == eDVBFrontendParametersSatellite::PLS_Root && + (sat.pls_mode & 3) == 0) + { + fprintf(f, "\ts %d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d\n", + sat.frequency, sat.symbol_rate, + sat.polarisation, sat.fec, + sat.orbital_position > 1800 ? sat.orbital_position - 3600 : sat.orbital_position, + sat.inversion, flags, + sat.system, sat.modulation, sat.rolloff, sat.pilot); + } + else + { + fprintf(f, "\ts %d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d\n", + sat.frequency, sat.symbol_rate, + sat.polarisation, sat.fec, + sat.orbital_position > 1800 ? sat.orbital_position - 3600 : sat.orbital_position, + sat.inversion, flags, + sat.system, sat.modulation, sat.rolloff, sat.pilot, + sat.is_id, sat.pls_code & 0x3FFFF, sat.pls_mode & 3); + } } else {
version 2.
@@ -629,27 +638,26 @@ void eDVBDB::saveServicelist(const char *file) ch.m_frontendParameters->getFlags(flags); if (!ch.m_frontendParameters->getDVBS(sat)) { + fprintf(f, "\ts %d:%d:%d:%d:%d:%d:%d", + sat.frequency, sat.symbol_rate, + sat.polarisation, sat.fec, + sat.orbital_position > 1800 ? sat.orbital_position - 3600 : sat.orbital_position, + sat.inversion, flags); + if (sat.system == eDVBFrontendParametersSatellite::System_DVB_S2) { - fprintf(f, "\ts %d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d\n", - sat.frequency, sat.symbol_rate, - sat.polarisation, sat.fec, - sat.orbital_position > 1800 ? sat.orbital_position - 3600 : sat.orbital_position, - sat.inversion, - flags, - sat.system, - sat.modulation, - sat.rolloff, - sat.pilot); - } - else - { - fprintf(f, "\ts %d:%d:%d:%d:%d:%d:%d\n", - sat.frequency, sat.symbol_rate, - sat.polarisation, sat.fec, - sat.orbital_position > 1800 ? sat.orbital_position - 3600 : sat.orbital_position, - sat.inversion, flags); + fprintf(f, ":%d:%d:%d:%d", + sat.system, sat.modulation, sat.rolloff, sat.pilot); + + if (sat.is_id != NO_STREAM_ID_FILTER || + (sat.pls_code & 0x3FFFF) != eDVBFrontendParametersSatellite::PLS_Root || + (sat.pls_mode & 3) != 0) + { + fprintf(f, ":%d:%d:%d", + sat.is_id, sat.pls_code & 0x3FFFF, sat.pls_mode & 3); + } } + fprintf(f, "\n"); } else if (!ch.m_frontendParameters->getDVBT(ter)) {
With the second version you have less code and you can understand the extensions in lamedb (DVB-S, then the DVB-S2 and finally the DVB-S2X)
if (!ch.m_frontendParameters->getDVBS(sat)) { fprintf(f, "\ts %d:%d:%d:%d:%d:%d:%d", sat.frequency, sat.symbol_rate, sat.polarisation, sat.fec, sat.orbital_position > 1800 ? sat.orbital_position - 3600 : sat.orbital_position, sat.inversion, flags); if (sat.system == eDVBFrontendParametersSatellite::System_DVB_S2) { fprintf(f, ":%d:%d:%d:%d", sat.system, sat.modulation, sat.rolloff, sat.pilot); if (sat.is_id != NO_STREAM_ID_FILTER || (sat.pls_code & 0x3FFFF) != eDVBFrontendParametersSatellite::PLS_Root || (sat.pls_mode & 3) != 0) { fprintf(f, ":%d:%d:%d", sat.is_id, sat.pls_code & 0x3FFFF, sat.pls_mode & 3); } } fprintf(f, "\n"); }
Posted 8 August 2016 - 07:19
Last one is really nice, but not my decision.
FYI its still DVB-S2 not S2X, S2X will be much more complicated with its really strange/many new FEC values. And may require a real v5 format then as the old fec field can't store more than 16 values right, else we might break something but I'm not sure?
But hopefully we don't need it too soon...
Edited by dhwz, 8 August 2016 - 07:21.
Posted 8 August 2016 - 08:02
Edited by athoik, 8 August 2016 - 08:03.
Posted 14 August 2016 - 19:57
Ah ok great then dreamboxEDIT always was fully compatible with your MIS/PLS extensions, as dreamboxEDIT doesn't drop any extra parameters added to the transponders.
I may be improve the missing new modulations and also maybe adding editing functions for the 3 new fields. As said would be great if someone could provide me some real settings just for testing my parsers.
Also would be great, and saves me a lot of time, if someone could provide me the lamedb values for each valid modulation (the new ones) and the valid FEC values for each of it.
ATSC yes maybe, but thats low priority for me.
Will be glad to test ATSC if you decide to add it.
Posted 16 August 2016 - 14:07
I've been reading this thread with much interest!
First, let me congratulate all involved in this work! Many DX'ers like me are thrilled with it
Currentely, my main receiver is the Xtrend ET9200 running Openli (usually updated...). Can this receiver ever support TBS5925 + MIS? If yes, and if is possible at present, can you give me some lights where to begin?
Posted 16 August 2016 - 14:19
Edited by athoik, 16 August 2016 - 14:20.
Posted 16 August 2016 - 17:07
0 members, 2 guests, 0 anonymous users