0.0.10 PinvinKL.Debug.Println, logs debug messages with prefix 'DEBUG:' if debug is enabled
This commit is contained in:
parent
93992d3dd6
commit
dbbc22809e
|
@ -19,7 +19,7 @@ import (
|
||||||
var static embed.FS
|
var static embed.FS
|
||||||
|
|
||||||
var (
|
var (
|
||||||
version = "0.0.9"
|
version = "0.0.10"
|
||||||
pingvin pingvinKL.PingvinKL
|
pingvin pingvinKL.PingvinKL
|
||||||
DEBUG = false
|
DEBUG = false
|
||||||
)
|
)
|
||||||
|
|
|
@ -29,7 +29,7 @@ type PingvinKL struct {
|
||||||
Status pingvinStatus
|
Status pingvinStatus
|
||||||
buslock *sync.Mutex
|
buslock *sync.Mutex
|
||||||
statuslock *sync.Mutex
|
statuslock *sync.Mutex
|
||||||
debug bool
|
Debug PingvinLogger
|
||||||
}
|
}
|
||||||
|
|
||||||
// single register data
|
// single register data
|
||||||
|
@ -72,6 +72,10 @@ type pingvinStatus struct {
|
||||||
SystemTime string `json:"system_time"` // Time and date in unit
|
SystemTime string `json:"system_time"` // Time and date in unit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PingvinLogger struct {
|
||||||
|
dbg bool
|
||||||
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
// Mutually exclusive coils
|
// Mutually exclusive coils
|
||||||
// Thanks to https://github.com/Jalle19/eda-modbus-bridge
|
// Thanks to https://github.com/Jalle19/eda-modbus-bridge
|
||||||
|
@ -87,6 +91,12 @@ var (
|
||||||
mutexcoils = []uint16{1, 2, 3, 6, 7, 10, 40}
|
mutexcoils = []uint16{1, 2, 3, 6, 7, 10, 40}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func (logger *PingvinLogger) Println(msg string) {
|
||||||
|
if logger.dbg {
|
||||||
|
log.Println("DEBUG: ", msg)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func newCoil(address string, symbol string, description string) pingvinCoil {
|
func newCoil(address string, symbol string, description string) pingvinCoil {
|
||||||
addr, err := strconv.Atoi(address)
|
addr, err := strconv.Atoi(address)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -399,7 +409,7 @@ func (p *PingvinKL) WriteCoils(startaddr uint16, quantity uint16, vals []bool) e
|
||||||
// -> 0b10100010
|
// -> 0b10100010
|
||||||
bits[i/8] &= ^(1 << uint(i%8))
|
bits[i/8] &= ^(1 << uint(i%8))
|
||||||
}
|
}
|
||||||
if p.debug {
|
if p.Debug.dbg {
|
||||||
log.Println("index:", i/8, "value:", bits[i/8], "shift:", i%8)
|
log.Println("index:", i/8, "value:", bits[i/8], "shift:", i%8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -495,11 +505,11 @@ func parseStatus(value int) string {
|
||||||
func (p *PingvinKL) Monitor(interval int) {
|
func (p *PingvinKL) Monitor(interval int) {
|
||||||
for {
|
for {
|
||||||
time.Sleep(time.Duration(interval) * time.Second)
|
time.Sleep(time.Duration(interval) * time.Second)
|
||||||
if p.debug {
|
if p.Debug.dbg {
|
||||||
log.Println("DEBUG: Updating values")
|
log.Println("DEBUG: Updating values")
|
||||||
}
|
}
|
||||||
p.Update()
|
p.Update()
|
||||||
if p.debug {
|
if p.Debug.dbg {
|
||||||
log.Println("DEBUG: coils:", p.Coils)
|
log.Println("DEBUG: coils:", p.Coils)
|
||||||
log.Println("DEBUG: registers:", p.Registers)
|
log.Println("DEBUG: registers:", p.Registers)
|
||||||
}
|
}
|
||||||
|
@ -509,7 +519,7 @@ func (p *PingvinKL) Monitor(interval int) {
|
||||||
// create a PingvinKL struct, read coils and registers from CSVs
|
// create a PingvinKL struct, read coils and registers from CSVs
|
||||||
func New(debug bool) PingvinKL {
|
func New(debug bool) PingvinKL {
|
||||||
pingvin := PingvinKL{}
|
pingvin := PingvinKL{}
|
||||||
pingvin.debug = debug
|
pingvin.Debug.dbg = debug
|
||||||
pingvin.buslock = &sync.Mutex{}
|
pingvin.buslock = &sync.Mutex{}
|
||||||
log.Println("Parsing coil data...")
|
log.Println("Parsing coil data...")
|
||||||
coilData := readCsvLines("coils.csv")
|
coilData := readCsvLines("coils.csv")
|
||||||
|
|
Loading…
Reference in New Issue