|
|
|
|
@ -2,26 +2,29 @@
|
|
|
|
|
package adl400TtyApi
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"encoding/json"
|
|
|
|
|
"strings"
|
|
|
|
|
|
|
|
|
|
"github.com/gogf/gf/v2/util/gconv"
|
|
|
|
|
"github.com/towgo/towgo/towgo"
|
|
|
|
|
"strings"
|
|
|
|
|
"tgk-touch/internal/global"
|
|
|
|
|
"tgk-touch/internal/library/meterControl"
|
|
|
|
|
"tgk-touch/internal/model/config"
|
|
|
|
|
"tgk-touch/internal/module/meterFirm"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
var mc meterControl.IMeterControl
|
|
|
|
|
|
|
|
|
|
var deviceInfo map[string]interface{}
|
|
|
|
|
var deviceInfo config.DeviceInfo
|
|
|
|
|
|
|
|
|
|
func Init() {
|
|
|
|
|
marshal, _ := json.Marshal(g.Config().DeviceInfo)
|
|
|
|
|
json.Unmarshal(marshal, &deviceInfo)
|
|
|
|
|
|
|
|
|
|
mc = meterControl.GetMeterControls(meterControl.ADL400)
|
|
|
|
|
deviceInfo = g.Config().DeviceInfo
|
|
|
|
|
mc = meterFirm.Manager().GetMeterControl()
|
|
|
|
|
meterFirm.Manager().RegisterReloadCallback(Reload)
|
|
|
|
|
initReadFunc()
|
|
|
|
|
initWriteFunc()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func Reload() {
|
|
|
|
|
mc = meterFirm.Manager().GetMeterControl()
|
|
|
|
|
}
|
|
|
|
|
func initReadFunc() {
|
|
|
|
|
towgo.SetFunc("/adl400/readPhaseData", readPhaseData)
|
|
|
|
|
@ -41,8 +44,6 @@ func initWriteFunc() {
|
|
|
|
|
towgo.SetFunc("/adl400/setMsgAddress", setMsgAddress)
|
|
|
|
|
}
|
|
|
|
|
func getMeterAddr(cuid string) byte {
|
|
|
|
|
|
|
|
|
|
// 去掉 "0x" 前缀,按 16 进制解析
|
|
|
|
|
return gconv.Byte(strings.TrimPrefix(deviceInfo["meterAddr"].(string), "0x"))
|
|
|
|
|
|
|
|
|
|
return gconv.Byte(strings.TrimPrefix(deviceInfo.MeterAddr, "0x"))
|
|
|
|
|
}
|
|
|
|
|
|