Refactor LED control logic.

This commit is contained in:
Patrick Fairbank
2018-05-19 21:42:32 -07:00
parent 3f1840126f
commit 4890d11f88
14 changed files with 758 additions and 557 deletions

View File

@@ -37,7 +37,7 @@ func (web *Web) fieldGetHandler(w http.ResponseWriter, r *http.Request) {
CurrentLedMode led.Mode
LedModeNames map[led.Mode]string
}{web.arena.EventSettings, web.arena.AllianceStationDisplays, plc.Inputs[:], plc.GetInputNames(), plc.Registers[:],
plc.GetRegisterNames(), plc.Coils[:], plc.GetCoilNames(), web.arena.RedSwitchLedStrip.CurrentMode,
plc.GetRegisterNames(), plc.Coils[:], plc.GetCoilNames(), web.arena.ScaleLeds.GetCurrentMode(),
led.ModeNames}
err = template.ExecuteTemplate(w, "base", data)
if err != nil {
@@ -81,7 +81,10 @@ func (web *Web) fieldTestPostHandler(w http.ResponseWriter, r *http.Request) {
}
mode, _ := strconv.Atoi(r.PostFormValue("mode"))
web.arena.RedSwitchLedStrip.SetMode(led.Mode(mode))
ledMode := led.Mode(mode)
web.arena.ScaleLeds.SetMode(ledMode, ledMode)
web.arena.RedSwitchLeds.SetMode(ledMode, ledMode)
web.arena.BlueSwitchLeds.SetMode(ledMode, ledMode)
http.Redirect(w, r, "/setup/field", 303)
}

View File

@@ -25,5 +25,5 @@ func TestSetupField(t *testing.T) {
recorder = web.postHttpResponse("/setup/field/test", "mode=1")
assert.Equal(t, 303, recorder.Code)
assert.Equal(t, 1, int(web.arena.RedSwitchLedStrip.CurrentMode))
assert.Equal(t, 1, int(web.arena.ScaleLeds.GetCurrentMode()))
}

View File

@@ -70,6 +70,9 @@ func (web *Web) settingsPostHandler(w http.ResponseWriter, r *http.Request) {
eventSettings.PlcAddress = r.PostFormValue("plcAddress")
eventSettings.AdminPassword = r.PostFormValue("adminPassword")
eventSettings.ReaderPassword = r.PostFormValue("readerPassword")
eventSettings.ScaleLedAddress = r.PostFormValue("scaleLedAddress")
eventSettings.RedSwitchLedAddress = r.PostFormValue("redSwitchLedAddress")
eventSettings.BlueSwitchLedAddress = r.PostFormValue("blueSwitchLedAddress")
err := web.arena.Database.SaveEventSettings(eventSettings)
if err != nil {