Selaa lähdekoodia

chore: update parsing configuration

master
Blaz Smehov 2 viikkoa sitten
vanhempi
commit
0bac1939c6
5 muutettua tiedostoa jossa 29 lisäystä ja 11 poistoa
  1. +5
    -1
      cmd/decoder/main.go
  2. +7
    -0
      cmd/server/config.json
  3. BIN
      docs/Frame definition- B7,MWB01,MWC01.pdf
  4. +6
    -2
      internal/pkg/model/parser.go
  5. +11
    -8
      internal/pkg/model/types.go

+ 5
- 1
cmd/decoder/main.go Näytä tiedosto

@@ -112,9 +112,13 @@ func decodeBeacon(adv model.BeaconAdvertisement, appState *appcontext.AppState,
if event.ID == "" {
return nil
}

prevEvent, ok := appState.GetBeaconEvent(id)
appState.UpdateBeaconEvent(id, event)

if event.Type == "iBeacon" {
event.BtnPressed = true
}

if ok && bytes.Equal(prevEvent.Hash(), event.Hash()) {
return nil
}


+ 7
- 0
cmd/server/config.json Näytä tiedosto

@@ -39,5 +39,12 @@
"accY": {"offset": 9, "length": 2, "order": "fixedpoint"},
"accZ": {"offset": 11, "length": 2, "order": "fixedpoint"}
}
},
{
"name": "iBeacon",
"min": 5,
"max": 27,
"pattern": ["0xFF", "0x4C", "0x00", "0x02"],
"configs": {}
}
]

BIN
docs/Frame definition- B7,MWB01,MWC01.pdf Näytä tiedosto


+ 6
- 2
internal/pkg/model/parser.go Näytä tiedosto

@@ -77,7 +77,6 @@ func (p *ParserRegistry) Unregister(name string) {
func (b *BeaconParser) Parse(name string, ad []byte) (BeaconEvent, bool) {
flag := false
event := BeaconEvent{Type: name}
fmt.Printf("parsing: %s\n", name)
if cfg, ok := b.configs["battery"]; ok {
event.Battery = uint32(b.extract(ad, cfg).(uint16))
flag = true
@@ -97,7 +96,12 @@ func (b *BeaconParser) Parse(name string, ad []byte) (BeaconEvent, bool) {
event.AccZ = int16(val)
flag = true
}
fmt.Printf("success: %s, event: %+v\n", flag, event)
if cfg, ok := b.configs["temperature"]; ok {
val := b.extract(ad, cfg).(float64)
event.Temperature = uint16(val)
flag = true
}

return event, flag
}



+ 11
- 8
internal/pkg/model/types.go Näytä tiedosto

@@ -87,14 +87,17 @@ type Beacon struct {
}

type BeaconEvent struct {
Name string
ID string
Type string
Battery uint32
Event int
AccX int16
AccY int16
AccZ int16
Name string
ID string
Type string
Battery uint32
Event int
AccX int16
AccY int16
AccZ int16
Temperature uint16
Heart int16
BtnPressed bool
}

type HTTPResult struct {


Ladataan…
Peruuta
Tallenna