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 }