Originally Posted by dattier
In another Echostar CECB thread, now closed for consolidation into this one,Er, how does the tuner know whether the current setting should be "on" or "off," then?
I have been reading a little more from the standard, and I think I understand how it works.
The daylight_savings structure from the standard is:
Table A1 Structure of Daylight Savings Time Control
Syntax No. of Bits Format
DS_status 1 bslbf
reserved 2 ‘11’
DS_day_of_month 5 uimsbf
DS_hour 8 uimsbf
DS_status — This bit indicate the status of daylight savings.
DS_status = ‘0’: Not in daylight savings time.
DS_status = ‘1’: In daylight savings time.
DS_day_of_month — This 5-bit unsigned integer field indicates the local day of the month on
which the transition into or out of daylight savings time is to occur (1–31).
DS_hour — This 8-bit unsigned integer field indicates the local hour at which the transition into
or out of daylight savings time is to occur (0–18). This usually occurs at 2 a.m. in the U.S.
In general, DS_status should indicate whether DST is on or off. The transition date and time are intended to provide advance notice when the change should take place. That way a receiver would not have to constantly check the status, and handle the one potential anomaly.
It appears that some stations jumped the gun, and set the DS_day_of_month to 02 and the DS_hour to 02, on or before October 2, 2008. This would create confusion. If a receiver saw that information on October 2, 2008 at 1AM, it would conclude that DST would end on October 2, 2008, and would switch out of daylight savings time when it thought it was 2AM. As I read it, on the transition day, a receiver cannot be sure that a station will switch the DS_status to the new value at the the DS_HOUR. The actual rule is:
After all time zones (within the span of the network) have shifted out of daylight savings time, the DS_status bit takes the value 0, indicating that daylight savings time is off. The DS_day_of_month field and the DS_hour field take the value 0. (In the U.S., this transition has to occur no later than 7 p.m. Pacific Time on the day day_out).
This does mean that if a receiver found DS_status still true and DS_day_of_month set to 02 on October 3, 2008 it would know that DST was active and would not change until November 2, 2008. If the DS_status was still true and DS_day_of_month was set to 00 it would know that DST was active, but it would not know when it would change.
I hope I finally got that right, and made it clear.