Update board.go, board_dummy.go, and 4 more files...
This commit is contained in:
parent
1a5819d46f
commit
be8d733232
@ -11,11 +11,11 @@ var boardCreatorFunctions = make(map[string]BoardCreatorFunction)
|
||||
|
||||
var AllChannels = make(map[string]Channel)
|
||||
|
||||
type BoardCreatorFunction func(*viper.Viper, string) Board
|
||||
type BoardCreatorFunction func(*viper.Viper, string) *Board
|
||||
type onChannelUpdateFunction func(oldValue bool, c Channel)
|
||||
|
||||
type Board interface {
|
||||
Init()
|
||||
Initialize()
|
||||
Dump()
|
||||
Channel(uint64) Channel
|
||||
}
|
||||
@ -53,5 +53,6 @@ func CreateBoard(cfg *viper.Viper, key string) (Board, error) {
|
||||
if !ok {
|
||||
return nil, errors.New("Unknown board type")
|
||||
}
|
||||
return createNewBoard(cfg, key), nil
|
||||
|
||||
return *createNewBoard(cfg, key), nil
|
||||
}
|
||||
|
@ -54,8 +54,8 @@ func newDummyChannel(v *viper.Viper, channelID string) DummyChannel {
|
||||
}
|
||||
}
|
||||
|
||||
func newDummyBoard(v *viper.Viper, id string) Board {
|
||||
var b DummyBoard
|
||||
func newDummyBoard(v *viper.Viper, id string) *Board {
|
||||
var b *DummyBoard
|
||||
|
||||
v.SetDefault("name", "board "+id)
|
||||
v.SetDefault("type", "dummy")
|
||||
@ -68,7 +68,7 @@ func newDummyBoard(v *viper.Viper, id string) Board {
|
||||
}
|
||||
}
|
||||
|
||||
b = DummyBoard{
|
||||
b = &DummyBoard{
|
||||
ID: id,
|
||||
Name: v.GetString("name"),
|
||||
ChannelCount: v.GetUint("channelCount"),
|
||||
@ -82,7 +82,7 @@ func newDummyBoard(v *viper.Viper, id string) Board {
|
||||
channelid := strings.ToLower(channelid1)
|
||||
channelConfig := channelsConfig.Sub(channelid)
|
||||
c := newDummyChannel(channelConfig, channelid)
|
||||
c.parent = &b
|
||||
c.parent = b
|
||||
if c.Num >= v.GetUint("channelCount") {
|
||||
continue
|
||||
}
|
||||
@ -92,8 +92,8 @@ func newDummyBoard(v *viper.Viper, id string) Board {
|
||||
}
|
||||
}
|
||||
b.channels = channels
|
||||
|
||||
return b
|
||||
var b1 Board = b
|
||||
return &b1
|
||||
}
|
||||
|
||||
func (c *DummyChannel) Toggle() (bool, error) {
|
||||
@ -163,11 +163,11 @@ func (b DummyBoard) Dump() {
|
||||
}
|
||||
}
|
||||
|
||||
func (b DummyBoard) Init() {
|
||||
func (b DummyBoard) Initialize() {
|
||||
return
|
||||
}
|
||||
|
||||
func (b DummyBoard) Channel(num uint64) Channel {
|
||||
func (b *DummyBoard) Channel(num uint64) Channel {
|
||||
return b.channels[num]
|
||||
}
|
||||
|
||||
|
@ -75,7 +75,7 @@ func newMQTTChannel(v *viper.Viper, channelID string) MQTTChannel {
|
||||
}
|
||||
}
|
||||
|
||||
func newMQTTBoard(v *viper.Viper, id string) Board {
|
||||
func newMQTTBoard(v *viper.Viper, id string) *Board {
|
||||
var b MQTTBoard
|
||||
|
||||
v.SetDefault("name", "board "+id)
|
||||
@ -124,7 +124,8 @@ func newMQTTBoard(v *viper.Viper, id string) Board {
|
||||
}
|
||||
b.channels = channels
|
||||
|
||||
return b
|
||||
var b1 Board = &b
|
||||
return &b1
|
||||
}
|
||||
|
||||
func init() {
|
||||
@ -208,7 +209,7 @@ func (b MQTTBoard) Dump() {
|
||||
}
|
||||
}
|
||||
|
||||
func (b MQTTBoard) Init() {
|
||||
func (b *MQTTBoard) Initialize() {
|
||||
uri := b.MQTTRemoteSchema + "://" + b.MQTTRemoteHost + ":" + b.MQTTRemotePort
|
||||
opts := PahoMQTT.NewClientOptions().AddBroker(uri)
|
||||
|
||||
@ -300,7 +301,7 @@ func (c *MQTTChannel) MQTTHandler(client PahoMQTT.Client, msg PahoMQTT.Message)
|
||||
}
|
||||
}
|
||||
|
||||
func (b MQTTBoard) Channel(num uint64) Channel {
|
||||
func (b *MQTTBoard) Channel(num uint64) Channel {
|
||||
return b.channels[num]
|
||||
}
|
||||
|
||||
|
@ -9,7 +9,7 @@ import (
|
||||
|
||||
var boards []*board.Board
|
||||
|
||||
func InitBoards() {
|
||||
func CreateBoards() {
|
||||
|
||||
// AllChannels = make(map[string]Channel)
|
||||
|
||||
@ -52,3 +52,11 @@ func InitBoards() {
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
func InitBoards() {
|
||||
var b board.Board
|
||||
for i := range boards {
|
||||
b = *boards[i]
|
||||
b.Initialize()
|
||||
}
|
||||
}
|
||||
|
@ -12,8 +12,9 @@ func init() {
|
||||
}
|
||||
|
||||
func main() {
|
||||
CreateBoards()
|
||||
CreateOutlets()
|
||||
InitBoards()
|
||||
InitOutlets()
|
||||
MQTTSetup()
|
||||
go MQTTRefreshLoop()
|
||||
go ups.UpsConnect()
|
||||
|
@ -11,7 +11,7 @@ import (
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
||||
func InitOutlets() {
|
||||
func CreateOutlets() {
|
||||
|
||||
outletsConfig := viper.Sub("outlets")
|
||||
if outletsConfig == nil {
|
||||
|
Loading…
Reference in New Issue
Block a user