supercaps no longer used

This commit is contained in:
Joerg Lehmann 2021-01-16 18:07:17 +01:00
parent ff2e9fc1b7
commit c99dcf9667
1 changed files with 29 additions and 43 deletions

View File

@ -259,35 +259,35 @@ func DecodePayload(s string, deveui string, devaddr string, lrrlat float32, lrrl
t := pl_1.T
t = t + int16(pl_1.TC1)
if valid_measurements > 0 {
WriteDatapoint(tfp, deveui, devaddr, pl_1.Vbat, pl_1.H1, pl_1.P1, pl_1.W1, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0, false)
WriteDatapoint(tfp, deveui, devaddr, pl_1.Vbat, pl_1.H1, pl_1.P1, pl_1.W1, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
}
//t = t + int16(pl_1.TC1)
if valid_measurements > 1 {
WriteDatapoint(tfp+(step), deveui, devaddr, 0, pl_1.H2, pl_1.P2, pl_1.W2, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0, false)
WriteDatapoint(tfp+(step), deveui, devaddr, 0, pl_1.H2, pl_1.P2, pl_1.W2, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
}
t = t + int16(pl_1.TC2)
if valid_measurements > 2 {
WriteDatapoint(tfp+(2*step), deveui, devaddr, 0, pl_1.H3, pl_1.P3, pl_1.W3, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0, false)
WriteDatapoint(tfp+(2*step), deveui, devaddr, 0, pl_1.H3, pl_1.P3, pl_1.W3, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
}
t = t + int16(pl_1.TC3)
if valid_measurements > 3 {
WriteDatapoint(tfp+(3*step), deveui, devaddr, 0, pl_1.H4, pl_1.P4, pl_1.W4, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0, false)
WriteDatapoint(tfp+(3*step), deveui, devaddr, 0, pl_1.H4, pl_1.P4, pl_1.W4, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
}
t = t + int16(pl_1.TC4)
if valid_measurements > 4 {
WriteDatapoint(tfp+(4*step), deveui, devaddr, 0, pl_1.H5, pl_1.P5, pl_1.W5, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0, false)
WriteDatapoint(tfp+(4*step), deveui, devaddr, 0, pl_1.H5, pl_1.P5, pl_1.W5, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
}
t = t + int16(pl_1.TC5)
if valid_measurements > 5 {
WriteDatapoint(tfp+(5*step), deveui, devaddr, 0, pl_1.H6, pl_1.P6, pl_1.W6, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0, false)
WriteDatapoint(tfp+(5*step), deveui, devaddr, 0, pl_1.H6, pl_1.P6, pl_1.W6, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
}
t = t + int16(pl_1.TC6)
if valid_measurements > 6 {
WriteDatapoint(tfp+(6*step), deveui, devaddr, 0, pl_1.H7, pl_1.P7, pl_1.W7, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0, false)
WriteDatapoint(tfp+(6*step), deveui, devaddr, 0, pl_1.H7, pl_1.P7, pl_1.W7, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
}
t = t + int16(pl_1.TC7)
if valid_measurements > 7 {
WriteDatapoint(tfp+(7*step), deveui, devaddr, 0, pl_1.H8, pl_1.P8, pl_1.W8, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0, false)
WriteDatapoint(tfp+(7*step), deveui, devaddr, 0, pl_1.H8, pl_1.P8, pl_1.W8, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
}
}
} else if s[0:2] == "02" {
@ -323,42 +323,42 @@ func DecodePayload(s string, deveui string, devaddr string, lrrlat float32, lrrl
w := pl_2.W1
t = t + int16(pl_2.TC1)
if valid_measurements > 0 {
WriteDatapoint(tfp, deveui, devaddr, pl_2.Vbat, pl_2.H, pl_2.P, w, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0, true)
WriteDatapoint(tfp, deveui, devaddr, pl_2.Vbat, pl_2.H, pl_2.P, w, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
}
//t = t + int16(pl_2.TC1)
w = w + uint16(pl_2.WC1)
if valid_measurements > 1 {
WriteDatapoint(tfp+(step), deveui, devaddr, 0, 1, 0, w, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0, true)
WriteDatapoint(tfp+(step), deveui, devaddr, 0, 1, 0, w, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
}
t = t + int16(pl_2.TC2)
w = w + uint16(pl_2.WC2)
if valid_measurements > 2 {
WriteDatapoint(tfp+(2*step), deveui, devaddr, 0, 1, 0, w, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0, true)
WriteDatapoint(tfp+(2*step), deveui, devaddr, 0, 1, 0, w, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
}
t = t + int16(pl_2.TC3)
w = w + uint16(pl_2.WC3)
if valid_measurements > 3 {
WriteDatapoint(tfp+(3*step), deveui, devaddr, 0, 1, 0, w, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0, true)
WriteDatapoint(tfp+(3*step), deveui, devaddr, 0, 1, 0, w, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
}
t = t + int16(pl_2.TC4)
w = w + uint16(pl_2.WC4)
if valid_measurements > 4 {
WriteDatapoint(tfp+(4*step), deveui, devaddr, 0, 1, 0, w, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0, true)
WriteDatapoint(tfp+(4*step), deveui, devaddr, 0, 1, 0, w, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
}
t = t + int16(pl_2.TC5)
w = w + uint16(pl_2.WC5)
if valid_measurements > 5 {
WriteDatapoint(tfp+(5*step), deveui, devaddr, 0, 1, 0, w, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0, true)
WriteDatapoint(tfp+(5*step), deveui, devaddr, 0, 1, 0, w, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
}
t = t + int16(pl_2.TC6)
w = w + uint16(pl_2.WC6)
if valid_measurements > 6 {
WriteDatapoint(tfp+(6*step), deveui, devaddr, 0, 1, 0, w, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0, true)
WriteDatapoint(tfp+(6*step), deveui, devaddr, 0, 1, 0, w, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
}
t = t + int16(pl_2.TC7)
w = pl_2.W8
if valid_measurements > 7 {
WriteDatapoint(tfp+(7*step), deveui, devaddr, 0, 1, 0, w, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0, true)
WriteDatapoint(tfp+(7*step), deveui, devaddr, 0, 1, 0, w, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
}
}
} else if s[0:2] == "80" {
@ -395,7 +395,7 @@ func DecodePayload(s string, deveui string, devaddr string, lrrlat float32, lrrl
w = uint16(w32)
}
WriteDatapoint(tfp, deveui, devaddr, pl_128.Vbat, pl_128.H, pl_128.P, w, pl_128.W1, pl_128.W2, pl_128.T, lrrlat, lrrlon, pl_128.Fw_version, pl_128.W1_0, pl_128.W2_0, pl_128.W1_C, pl_128.W2_C, false)
WriteDatapoint(tfp, deveui, devaddr, pl_128.Vbat, pl_128.H, pl_128.P, w, pl_128.W1, pl_128.W2, pl_128.T, lrrlat, lrrlon, pl_128.Fw_version, pl_128.W1_0, pl_128.W2_0, pl_128.W1_C, pl_128.W2_C)
}
ProcessInitPacket(deveui, pl_128.W1_0, pl_128.W2_0, pl_128.W1_C, pl_128.W2_C, pl_128.W1, pl_128.W2)
} else if s[0:2] == "81" {
@ -414,7 +414,7 @@ func DecodePayload(s string, deveui string, devaddr string, lrrlat float32, lrrl
// Time of Packet received
var tfp = (time.Now().Unix() / 60)
WriteDatapoint(tfp, deveui, devaddr, pl_129.Vbat, pl_129.H, pl_129.P, pl_129.W, pl_129.W1, pl_129.W2, pl_129.T, lrrlat, lrrlon, pl_129.Fw_version, 0, 0, 0, 0, false)
WriteDatapoint(tfp, deveui, devaddr, pl_129.Vbat, pl_129.H, pl_129.P, pl_129.W, pl_129.W1, pl_129.W2, pl_129.T, lrrlat, lrrlon, pl_129.Fw_version, 0, 0, 0, 0)
}
} else if s[0:2] == "82" {
fmt.Printf("{\n")
@ -450,7 +450,7 @@ func DecodePayload(s string, deveui string, devaddr string, lrrlat float32, lrrl
w = uint16(w32)
}
WriteDatapoint(tfp, deveui, devaddr, pl_130.Vbat, pl_130.H, pl_130.P, w, pl_130.W1, pl_130.W2, pl_130.T, lrrlat, lrrlon, pl_130.Fw_version, pl_130.W1_0, pl_130.W2_0, pl_130.W1_C, pl_130.W2_C, true)
WriteDatapoint(tfp, deveui, devaddr, pl_130.Vbat, pl_130.H, pl_130.P, w, pl_130.W1, pl_130.W2, pl_130.T, lrrlat, lrrlon, pl_130.Fw_version, pl_130.W1_0, pl_130.W2_0, pl_130.W1_C, pl_130.W2_C)
}
}
// Send alert if necessary
@ -471,7 +471,7 @@ func IsDayTime() bool {
return ((hours >= 6) && (hours < 22))
}
func WriteDatapoint(mytime int64, deveui string, devaddr string, v uint8, h uint8, p uint8, w uint16, w1 int32, w2 int32, t int16, lrrlat float32, lrrlon float32, fw_version int32, w1_0 int32, w2_0 int32, w1_c float32, w2_c float32, supercap bool) {
func WriteDatapoint(mytime int64, deveui string, devaddr string, v uint8, h uint8, p uint8, w uint16, w1 int32, w2 int32, t int16, lrrlat float32, lrrlon float32, fw_version int32, w1_0 int32, w2_0 int32, w1_c float32, w2_c float32) {
// wir nehmen humidity als Referenz, wenn diese > 0 ist, dann ist es
// eine gueltige Messung, wenn humidity = 1 ist, dann geben wir h und p nicht aus
var vp int16 // Voltage in %
@ -479,30 +479,16 @@ func WriteDatapoint(mytime int64, deveui string, devaddr string, v uint8, h uint
//fmt.Printf("WriteDatapoint: h: %d\n", h)
if h > 0 {
sv := ""
if supercap {
// vp for supercapacitor (165 is 0%, 210 is 100%)
vp = int16((float32(v) - 165) / 45.0 * 100.0)
if vp < 0 {
vp = 0
} else if vp > 100 {
vp = 100
}
// vp for Lipo
vp = int16(v) - 70
if vp < 0 {
vp = 0
} else if vp > 100 {
vp = 100
}
if v > 0 {
sv = fmt.Sprintf("v=%di,vp=%di,", int32(v)*20, vp)
}
} else {
// vp for Lipo
vp = int16(v) - 70
if vp < 0 {
vp = 0
} else if vp > 100 {
vp = 100
}
if v > 0 {
sv = fmt.Sprintf("v=%di,vp=%di,", int32(v)*7+2510, vp)
}
if v > 0 {
sv = fmt.Sprintf("v=%di,vp=%di,", int32(v)*7+2510, vp)
}
s := ""