Added Radio.ID and refactored the Stats interface
This commit is contained in:
@@ -47,7 +47,7 @@ type companionDriver struct {
|
||||
info companionInfo
|
||||
traceTag uint32
|
||||
traceAuthCode uint32
|
||||
stats map[string]any
|
||||
stats chan map[string]any
|
||||
}
|
||||
|
||||
type companionDriverWaiting struct {
|
||||
@@ -131,6 +131,7 @@ func newCompanionDriver(conn io.ReadWriteCloser) *companionDriver {
|
||||
conn: conn,
|
||||
waiting: make(chan *companionDriverWaiting, 16),
|
||||
traceTag: rand.Uint32(),
|
||||
stats: make(chan map[string]any, 2),
|
||||
//traceAuthCode: rand.Uint32(),
|
||||
}
|
||||
}
|
||||
@@ -144,7 +145,7 @@ func (drv *companionDriver) Setup() (err error) {
|
||||
if err = drv.sendAppStart(); err != nil {
|
||||
return
|
||||
}
|
||||
if err = drv.sendDeviceInfo(); err != nil {
|
||||
if err = drv.getDeviceInfo(); err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
@@ -209,7 +210,7 @@ func (drv *companionDriver) Info() *radio.Info {
|
||||
}
|
||||
}
|
||||
|
||||
func (drv *companionDriver) Stats() map[string]any {
|
||||
func (drv *companionDriver) Stats() <-chan map[string]any {
|
||||
return drv.stats
|
||||
}
|
||||
|
||||
@@ -397,7 +398,7 @@ func (drv *companionDriver) sendAppStart() (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func (drv *companionDriver) sendDeviceInfo() (err error) {
|
||||
func (drv *companionDriver) getDeviceInfo() (err error) {
|
||||
var (
|
||||
args = []byte{0x03}
|
||||
data []byte
|
||||
@@ -425,6 +426,11 @@ func (drv *companionDriver) sendDeviceInfo() (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func (drv *companionDriver) getPublicKey() (err error) {
|
||||
// TODO
|
||||
return err
|
||||
}
|
||||
|
||||
func (drv *companionDriver) poll() {
|
||||
for {
|
||||
frame, err := drv.readFrame()
|
||||
|
||||
Reference in New Issue
Block a user