Commit f42112fe authored by M. Rehan Abbasi's avatar M. Rehan Abbasi
Browse files

modify output for GetPowerValuesForCoordinates function in asset manager

parent ea7b9db2
Loading
Loading
Loading
Loading
+28 −24
Original line number Diff line number Diff line
@@ -150,6 +150,23 @@ type AssetMgr struct {
	updateCb  func(string, string)
}

type CoordinatePowerValue struct {
	Latitude  float32
	Longitude float32
	Rsrq      float32
	Rsrp      float32
}

type Coordinate struct {
	Latitude  float32
	Longitude float32
}

type Position struct {
	Type        string    `json:"type,omitempty"`
	Coordinates []float32 `json:"coordinates"`
}

// Profiling init
func init() {
	if profiling {
@@ -2095,23 +2112,8 @@ func (am *AssetMgr) GetWithinRangeBetweenPoints(srcCoordinates string, dstCoordi
	return within, err
}

type PowerValue struct {
	Rsrq float32
	Rsrp float32
}

type coordinate struct {
	Latitude  float32
	Longitude float32
}

type Position struct {
	Type        string    `json:"type,omitempty"`
	Coordinates []float32 `json:"coordinates"`
}

// Calculate RSRQ/RSRP for a given list of coordinates
func (am *AssetMgr) GetPowerValuesForCoordinates(coordinates []coordinate) ([]PowerValue, error) {
func (am *AssetMgr) GetPowerValuesForCoordinates(coordinates []Coordinate) ([]CoordinatePowerValue, error) {
	poaMap, err := am.GetAllPoa()

	if err != nil {
@@ -2120,11 +2122,11 @@ func (am *AssetMgr) GetPowerValuesForCoordinates(coordinates []coordinate) ([]Po
	}

	var position Position
	var powerValues []PowerValue
	var CoordinatePowerValues []CoordinatePowerValue
	// bestPoa := ""
	for _, coord := range coordinates {
		var maxRsrp float32 = 0
		var maxRsrq float32 = 0
		var maxRsrp float32 = 40
		var maxRsrq float32 = -2
		for _, poa := range poaMap {
			_ = json.Unmarshal([]byte(poa.Position), &position)
			poaLat := position.Coordinates[1]
@@ -2157,11 +2159,13 @@ func (am *AssetMgr) GetPowerValuesForCoordinates(coordinates []coordinate) ([]Po
			}
		}

		newPowerValue := PowerValue{
		newCoordinatePowerValue := CoordinatePowerValue{
			Latitude:  coord.Latitude,
			Longitude: coord.Longitude,
			Rsrp:      maxRsrp,
			Rsrq:      maxRsrq,
		}
		powerValues = append(powerValues, newPowerValue)
		CoordinatePowerValues = append(CoordinatePowerValues, newCoordinatePowerValue)
	}
	return powerValues, nil
	return CoordinatePowerValues, nil
}