From 092e44cfa5485f73ba586288e4d40a84a49b23e0 Mon Sep 17 00:00:00 2001 From: Arti Zirk Date: Sun, 3 Apr 2022 19:30:56 +0300 Subject: [PATCH] Turn openDoor into value receiver --- wiegand.go | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/wiegand.go b/wiegand.go index 8284606..1fe1bdd 100644 --- a/wiegand.go +++ b/wiegand.go @@ -2,10 +2,13 @@ package main import ( "fmt" - "github.com/warthog618/gpiod" "time" ) +import ( + "github.com/warthog618/gpiod" +) + type Wiegand struct { aLine *gpiod.Line bLine *gpiod.Line @@ -17,12 +20,12 @@ type Wiegand struct { solenoidLine *gpiod.Line } -func openDoor(l *gpiod.Line) { +func (w *Wiegand) OpenDoor() { fmt.Println("Open") - l.SetValue(1) + w.solenoidLine.SetValue(1) d, _ := time.ParseDuration("500ms") time.Sleep(d) - l.SetValue(0) + w.solenoidLine.SetValue(0) fmt.Println("Close") } @@ -95,11 +98,17 @@ func WiegandSetup(a int, b int, bitTimeout time.Duration, solenoid int) *Wiegand } wiegand.bLine = wb - solenoid_line, err := gpiod.RequestLine("gpiochip0", solenoid, gpiod.AsOutput(0)) + solenoidLine, err := gpiod.RequestLine("gpiochip0", solenoid, gpiod.AsOutput(0)) if err != nil { panic(err) } - wiegand.solenoidLine = solenoid_line + wiegand.solenoidLine = solenoidLine return &wiegand } + +func (w *Wiegand) WiegandClose() { + w.aLine.Close() + w.bLine.Close() + w.solenoidLine.Close() +}