void QueryControlS(time ti) { InitPush(0); PushChar(0xC0); PushChar(0x48); PushAddressS(); PushChar(0xD7); PushChar(0x01); PushChar(0x21); PushChar(ToBCD(tiCurr.bSecond)); PushChar(ToBCD(tiCurr.bMinute)); PushChar(ToBCD(tiCurr.bHour)); PushChar((GetWeekdayYMD(ti.bYear, ti.bMonth, ti.bDay) + 1) % 7); PushChar(ToBCD(tiCurr.bDay)); PushChar(ToBCD(tiCurr.bMonth)); PushChar(ToBCD(tiCurr.bYear)); QueryS(100+11, 22); }
void MakeAllPrevTariffs(time ti) { uchar i, j; uchar ibMonth, ibMode; ibMonth = ti.bMonth - 1; if (boGapsFlag == false) { ibMonth = ti.bMonth - 1; } else { MakeGaps(); ibMonth = mpbGaps[GetDayIndexMD(ti.bMonth, ti.bDay)]; } ibMode = GetMode(ti); zoAlt = *PGetZoneEngMonthMode(ibMonth,ibMode); MakeTariff(mpibEngPrevTariff); zoAlt = *PGetZonePowMonthMode(ibMonth,ibMode); MakeTariff(mpibPowPrevTariff); if (boRelaxsFlag == true) { j = RelaxIndex(ti); i = GetWeekdayYMD(ti.bYear, ti.bMonth, ti.bDay); if ((j != 2) && ((i == 5) || (i == 6) || (j == 1))) { i = ibRelaxsTariff; if (i >= bTARIFFS) i = 0; // memset(&mpibEngPrevTariff, i, sizeof(mpibEngPrevTariff)); memset(&mpibPowPrevTariff, i, sizeof(mpibPowPrevTariff)); } } }
void MakeAllCurrTariffs(void) { uchar ibMonth, ibMode; time ti = *GetCurrTimeDate(); ASSERT(ValidTimeDateRTC(ti)); if (boGapsFlag == false) { ibMonth = ti.bMonth - 1; } else { MakeGaps(); ibMonth = mpbGaps[GetDayIndexMD(ti.bMonth, ti.bDay)]; } ibMode = GetMode(ti); zoAlt = *PGetZoneEngMonthMode(ibMonth,ibMode); MakeTariff(mpibEngCurrTariff); zoAlt = *PGetZonePowMonthMode(ibMonth,ibMode); MakeTariff(mpibPowCurrTariff); if (boRelaxsFlag == true) { uchar j = RelaxIndex(ti); uchar i = GetWeekdayYMD(ti.bYear, ti.bMonth, ti.bDay); if ((j != 2) && ((i == 5) || (i == 6) || (j == 1))) { i = ibRelaxsTariff; if (i >= bTARIFFS) i = 0; // memset(&mpibEngCurrTariff, i, sizeof(mpibEngCurrTariff)); memset(&mpibPowCurrTariff, i, sizeof(mpibPowCurrTariff)); } } }