Added Radio.ID and refactored the Stats interface
Some checks failed
Run tests / test (1.25) (push) Failing after 1m0s
Run tests / test (stable) (push) Failing after 1m0s

This commit is contained in:
2026-03-17 08:33:06 +01:00
parent 8ec85821e4
commit 27e2da1943
15 changed files with 2045 additions and 22 deletions

View File

@@ -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()