github.com/archlabjp/eeslism-go@v0.0.0-20231109122333-4bb7bfcdf292/eeslism/sched.go (about)

     1  package eeslism
     2  
     3  // 季節設定
     4  type SEASN struct {
     5  	name       string // 季節名 (sname)
     6  	N          int    // sday, edayの配列の長さ
     7  	sday, eday []int  // 開始日・終了日(通日)
     8  }
     9  
    10  // 曜日設定
    11  type WKDY struct {
    12  	name string // 曜日名 (wname)
    13  	wday [8]bool
    14  }
    15  
    16  // 一日の設定値スケジュ-ル
    17  type DSCH struct {
    18  	name         string    // 設定値名 (vdname)
    19  	N            int       // stime, etimeの配列の長さ
    20  	stime, etime []int     // 開始時分, 終了時分
    21  	val          []float64 // 設定値
    22  }
    23  
    24  // 一日の切り替えスケジュ-ル
    25  type DSCW struct {
    26  	name         string            // 切替設定名 (wdname)
    27  	dcode        [10]ControlSWType // 切替名 (mode)
    28  	N            int               // 切替時間帯の数(stime,mode,etimeのスライスの長さ)
    29  	stime, etime []int             // 切替開始時分, 切替終了時分
    30  	Nmod         int               // 切替モードの種類の数 (modeの重複を除いた数)
    31  	mode         []ControlSWType   // 切替モード
    32  }
    33  
    34  type SCH struct /*スケジュ-ル*/
    35  {
    36  	name string
    37  	Type rune
    38  	day  [366]int //インデックス0は使用しない
    39  }
    40  
    41  // 一日の設定値、切換スケジュールおよび季節、曜日の指定
    42  // See: [eeslism.]
    43  type SCHDL struct {
    44  	Seasn []SEASN // SCHTBデータセット:季節設定 (-wkd or WKD)
    45  	Wkdy  []WKDY  // SCHTBデータセット:曜日設定 (-wkd)
    46  	Dsch  []DSCH  // SCHTBデータセット:1日の設定値スケジュール定義(-v or VL)
    47  	Dscw  []DSCW  // SCHTBデータセット:1日の切替設定スケジュール定義(-s or SW)
    48  
    49  	Sch []SCH // SCHNMデータセット: 年間の設定値スケジュール
    50  	Scw []SCH // SCHNMデータセット: 年間の切替スケジュール
    51  
    52  	Val []float64       // 設定値? (`Sch`の要素数と同数)
    53  	Isw []ControlSWType // 切替状態? (`Scw`の要素数と同数)
    54  }