# basicSchedule::DailySchedule

    sys::Obj
      sys::Virtual
        sys::Component
          basicSchedule::DailySchedule

`public abstract class DailySchedule`

DailySchedule represents a simple daily schedule with up to two active periods. Each active period is defined by a start time and duration. If the duration is zero, the period is disabled. If the periods overlap, then first period (defined by start1 and dur1) take precedence. If the duration extends past midnight, then the active period will span two separate calendar days.

dtSrvc

  `public DateTimeService dtSrvc`

dur1

  `public property short dur1 [min=0, config, unit="minute", max=1440]`

  Duration for first active period, expressed in minutes after midnight

dur2

  `public property short dur2 [min=0, config, unit="minute", max=1440]`

  Duration for the second active period, expressed in minutes after midnight

minsInDay

  `public static const define int minsInDay`

output1

  `public static const define int output1`

output2

  `public static const define int output2`

outputDefault

  `public static const define int outputDefault`

start1

  `public property short start1 [config, unit="minute"]`

  Start time for first active period, expressed in minutes after midnight

start2

  `public property short start2 [config, unit="minute"]`

  Start time for second active period, expressed in minutes after midnight

execute

  `public virtual override void execute()`

setOutValue

  `public virtual void setOutValue(int activeVal)`

  Subclasses of DailySchedule must implement this to set the proper output value based on current time and schedule configuration

start

  `public virtual override void start()`