Wideband autonomous SDR analysis engine forked from sdr-visual-suite
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

36 строки
1.3KB

  1. package main
  2. import "sdr-wideband-suite/internal/pipeline"
  3. type compactDecision struct {
  4. ID int64 `json:"id"`
  5. Class string `json:"class,omitempty"`
  6. Record bool `json:"record"`
  7. Decode bool `json:"decode"`
  8. Reason string `json:"reason,omitempty"`
  9. MonitorBias float64 `json:"monitor_bias,omitempty"`
  10. MonitorDetail *pipeline.MonitorWindowMatch `json:"monitor_detail,omitempty"`
  11. RecordAdmission *pipeline.PriorityAdmission `json:"record_admission,omitempty"`
  12. DecodeAdmission *pipeline.PriorityAdmission `json:"decode_admission,omitempty"`
  13. Candidate pipeline.Candidate `json:"candidate"`
  14. }
  15. func compactDecisions(decisions []pipeline.SignalDecision) []compactDecision {
  16. out := make([]compactDecision, 0, len(decisions))
  17. for _, d := range decisions {
  18. out = append(out, compactDecision{
  19. ID: d.Candidate.ID,
  20. Class: d.Class,
  21. Record: d.ShouldRecord,
  22. Decode: d.ShouldAutoDecode,
  23. Reason: d.Reason,
  24. MonitorBias: d.MonitorBias,
  25. MonitorDetail: d.MonitorDetail,
  26. RecordAdmission: d.RecordAdmission,
  27. DecodeAdmission: d.DecodeAdmission,
  28. Candidate: d.Candidate,
  29. })
  30. }
  31. return out
  32. }