feat: use /configuration/device and replice reachview system to define
antenna height See Pyxis/fieldnotes#63 (comment)
This commit is contained in:
@ -297,6 +297,52 @@ func (o *Operations) SetBase(ctx context.Context, funcs ...protocol.SetBaseOptio
|
||||
return nil
|
||||
}
|
||||
|
||||
// GetBaseInfo implements protocol.Operations.
|
||||
func (o *Operations) GetBaseInfo(ctx context.Context) (*protocol.BaseInfo, error) {
|
||||
rawConfig, err := o.Configuration(ctx)
|
||||
if err != nil {
|
||||
return nil, errors.WithStack(err)
|
||||
}
|
||||
|
||||
config := rawConfig.(*model.Configuration)
|
||||
baseMode := config.BaseMode
|
||||
|
||||
var baseCoordinates *model.BaseCoordinates
|
||||
if baseMode != nil && baseMode.BaseCoordinates != nil {
|
||||
baseCoordinates = baseMode.BaseCoordinates
|
||||
}
|
||||
|
||||
antennaOffset, err := strconv.ParseFloat(*baseCoordinates.AntennaOffset.Up, 64)
|
||||
if err != nil {
|
||||
return nil, errors.WithStack(err)
|
||||
}
|
||||
|
||||
latitude, err := strconv.ParseFloat(*baseCoordinates.Coordinates[0], 64)
|
||||
if err != nil {
|
||||
return nil, errors.WithStack(err)
|
||||
}
|
||||
|
||||
longitude, err := strconv.ParseFloat(*baseCoordinates.Coordinates[1], 64)
|
||||
if err != nil {
|
||||
return nil, errors.WithStack(err)
|
||||
}
|
||||
|
||||
height, err := strconv.ParseFloat(*baseCoordinates.Coordinates[2], 64)
|
||||
if err != nil {
|
||||
return nil, errors.WithStack(err)
|
||||
}
|
||||
|
||||
baseInfo := &protocol.BaseInfo{
|
||||
Mode: *config.BaseMode.BaseCoordinates.Mode,
|
||||
AntennaOffset: antennaOffset,
|
||||
Height: height,
|
||||
Latitude: latitude,
|
||||
Longitude: longitude,
|
||||
}
|
||||
|
||||
return baseInfo, nil
|
||||
}
|
||||
|
||||
const (
|
||||
eventGetReachViewVersion = "get reachview version"
|
||||
eventReachViewVersionResults = "current reachview version"
|
||||
|
Reference in New Issue
Block a user