Compare commits
2 commits
f66d5d3224
...
0c74228b51
Author | SHA1 | Date | |
---|---|---|---|
![]() |
0c74228b51 | ||
![]() |
e5faad5879 |
5 changed files with 30 additions and 10 deletions
|
@ -43,7 +43,7 @@ func init() {
|
|||
flag.String("radar-port", "", "Radar port")
|
||||
flag.Int("radar-baud", 9600, "Radar Baudrate")
|
||||
flag.Int("mail-smtp-port", 587, "Mail Port")
|
||||
flag.String("speedsign-ip", "", "192.168.1.143")
|
||||
flag.String("speedsign-ip", "192.168.1.143", "Speed Sign Ip")
|
||||
_ = viper.BindPFlags(flag.CommandLine)
|
||||
|
||||
flag.Parse()
|
||||
|
|
|
@ -12,7 +12,7 @@ import (
|
|||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
var r radar_lib.Radar
|
||||
var r *radar_lib.Radar
|
||||
|
||||
func init() {
|
||||
r = radar_lib.New(config.C.Radar.Port, config.C.Radar.Baud)
|
||||
|
|
|
@ -74,7 +74,7 @@ var (
|
|||
endSequence = []byte{0x0D, 0x0A}
|
||||
)
|
||||
|
||||
func New(port string, baudrate int) Radar {
|
||||
func New(port string, baudrate int) *Radar {
|
||||
s, err := serial.Open(port, &serial.Mode{
|
||||
BaudRate: baudrate,
|
||||
DataBits: 8,
|
||||
|
@ -83,7 +83,7 @@ func New(port string, baudrate int) Radar {
|
|||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
r := Radar{
|
||||
r := &Radar{
|
||||
port: s,
|
||||
baudrate: baudrate,
|
||||
configResponseChannel: make(chan configResponse),
|
||||
|
@ -95,7 +95,6 @@ func New(port string, baudrate int) Radar {
|
|||
type Radar struct {
|
||||
port serial.Port
|
||||
lock sync.RWMutex
|
||||
configLock sync.RWMutex
|
||||
configResponseChannel chan (configResponse)
|
||||
baudrate int
|
||||
handler func(int)
|
||||
|
|
|
@ -62,6 +62,8 @@ func (r *Radar) decodeInput(buf []byte) {
|
|||
log.Printf("Speed: %dkm/h (%s, Over: %s, Valid: %s)", buf[3], dir, overspeed, valid)
|
||||
if r.speedHandler != nil {
|
||||
r.speedHandler(int(buf[3]))
|
||||
} else {
|
||||
log.Printf("speedhandler = nil")
|
||||
}
|
||||
if overspeed == "yes" && valid == "yes" && r.handler != nil {
|
||||
r.handler(int(buf[3]))
|
||||
|
|
|
@ -2,17 +2,36 @@ package speedsign
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"net/http"
|
||||
|
||||
"git.ctdo.de/henne/blitzer-v2/config"
|
||||
"git.ctdo.de/henne/blitzer-v2/db"
|
||||
)
|
||||
|
||||
var free bool = true
|
||||
|
||||
func Show(speed int) {
|
||||
if speed > db.GetConfig().TriggerSpeed {
|
||||
_, _ = http.Get("http://" + config.C.SpeedsignIP + "/api/color/FF0000")
|
||||
} else {
|
||||
_, _ = http.Get("http://" + config.C.SpeedsignIP + "/api/color/00FF00")
|
||||
if !free {
|
||||
return
|
||||
}
|
||||
_, _ = http.Get(fmt.Sprintf("http://%s/api/number/%d", config.C.SpeedsignIP, speed))
|
||||
free = false
|
||||
log.Printf("%d", db.GetConfig().TriggerSpeed)
|
||||
if speed > db.GetConfig().TriggerSpeed {
|
||||
_, err := http.Get("http://" + config.C.SpeedsignIP + "/api/color/FF0000")
|
||||
if err != nil {
|
||||
log.Printf("err: %v", err)
|
||||
}
|
||||
} else {
|
||||
_, err := http.Get("http://" + config.C.SpeedsignIP + "/api/color/00FF00")
|
||||
if err != nil {
|
||||
log.Printf("err: %v", err)
|
||||
}
|
||||
}
|
||||
_, err := http.Get(fmt.Sprintf("http://%s/api/number/%d", config.C.SpeedsignIP, speed))
|
||||
if err != nil {
|
||||
log.Printf("err: %v", err)
|
||||
}
|
||||
log.Printf("send speed %d", speed)
|
||||
free = true
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue