mirror of
				https://github.com/brianshea2/meshmap.net.git
				synced 2025-03-05 21:00:01 -08:00 
			
		
		
		
	collect altitude from position and map report messages
This commit is contained in:
		
							parent
							
								
									da626616b2
								
							
						
					
					
						commit
						3e5f76a5ca
					
				|  | @ -20,8 +20,8 @@ import ( | |||
| 
 | ||||
| const ( | ||||
| 	NodeExpiration     = 86400 // 1 day
 | ||||
| 	NeighborExpiration = 7200 // 2 hr
 | ||||
| 	MetricsExpiration  = 7200 // 2 hr
 | ||||
| 	NeighborExpiration = 7200  // 2 hr
 | ||||
| 	MetricsExpiration  = 7200  // 2 hr
 | ||||
| 	PruneWriteInterval = time.Minute | ||||
| ) | ||||
| 
 | ||||
|  | @ -44,8 +44,9 @@ func handleMessage(from uint32, topic string, portNum generated.PortNum, payload | |||
| 		} | ||||
| 		latitude := position.GetLatitudeI() | ||||
| 		longitude := position.GetLongitudeI() | ||||
| 		altitude := position.GetAltitude() | ||||
| 		precision := position.GetPrecisionBits() | ||||
| 		log.Printf("[msg] %v (%v) %s: (%v, %v) %v/32", from, topic, portNum, latitude, longitude, precision) | ||||
| 		log.Printf("[msg] %v (%v) %s: (%v, %v, %v) %v/32", from, topic, portNum, latitude, longitude, altitude, precision) | ||||
| 		if latitude == 0 && longitude == 0 { | ||||
| 			return | ||||
| 		} | ||||
|  | @ -53,7 +54,7 @@ func handleMessage(from uint32, topic string, portNum generated.PortNum, payload | |||
| 		if Nodes[from] == nil { | ||||
| 			Nodes[from] = meshtastic.NewNode(topic) | ||||
| 		} | ||||
| 		Nodes[from].UpdatePosition(latitude, longitude, precision) | ||||
| 		Nodes[from].UpdatePosition(latitude, longitude, altitude, precision) | ||||
| 		Nodes[from].UpdateSeenBy(topic) | ||||
| 		NodesMutex.Unlock() | ||||
| 	case generated.PortNum_NODEINFO_APP: | ||||
|  | @ -147,12 +148,13 @@ func handleMessage(from uint32, topic string, portNum generated.PortNum, payload | |||
| 		onlineLocalNodes := mapReport.GetNumOnlineLocalNodes() | ||||
| 		latitude := mapReport.GetLatitudeI() | ||||
| 		longitude := mapReport.GetLongitudeI() | ||||
| 		altitude := mapReport.GetAltitude() | ||||
| 		precision := mapReport.GetPositionPrecision() | ||||
| 		log.Printf( | ||||
| 			"[msg] %v (%v) %s: {\"%v\" \"%v\" %v %v %v %v %v %v %v} (%v, %v) %v/32", | ||||
| 			"[msg] %v (%v) %s: {\"%v\" \"%v\" %v %v %v %v %v %v %v} (%v, %v, %v) %v/32", | ||||
| 			from, topic, portNum, | ||||
| 			longName, shortName, hwModel, role, fwVersion, region, modemPreset, hasDefaultCh, onlineLocalNodes, | ||||
| 			latitude, longitude, precision, | ||||
| 			latitude, longitude, altitude, precision, | ||||
| 		) | ||||
| 		if len(longName) == 0 { | ||||
| 			return | ||||
|  | @ -166,7 +168,7 @@ func handleMessage(from uint32, topic string, portNum generated.PortNum, payload | |||
| 		} | ||||
| 		Nodes[from].UpdateUser(longName, shortName, hwModel, role) | ||||
| 		Nodes[from].UpdateMapReport(fwVersion, region, modemPreset, hasDefaultCh, onlineLocalNodes) | ||||
| 		Nodes[from].UpdatePosition(latitude, longitude, precision) | ||||
| 		Nodes[from].UpdatePosition(latitude, longitude, altitude, precision) | ||||
| 		Nodes[from].UpdateSeenBy(topic) | ||||
| 		NodesMutex.Unlock() | ||||
| 	default: | ||||
|  |  | |||
|  | @ -33,6 +33,7 @@ type Node struct { | |||
| 	// Position
 | ||||
| 	Latitude  int32  `json:"latitude"` | ||||
| 	Longitude int32  `json:"longitude"` | ||||
| 	Altitude  int32  `json:"altitude,omitempty"` | ||||
| 	Precision uint32 `json:"precision,omitempty"` | ||||
| 	// DeviceMetrics
 | ||||
| 	BatteryLevel      uint32  `json:"batteryLevel,omitempty"` | ||||
|  | @ -157,9 +158,10 @@ func (node *Node) UpdateNeighborInfo(neighborNum uint32, snr float32) { | |||
| 	} | ||||
| } | ||||
| 
 | ||||
| func (node *Node) UpdatePosition(latitude, longitude int32, precision uint32) { | ||||
| func (node *Node) UpdatePosition(latitude, longitude, altitude int32, precision uint32) { | ||||
| 	node.Latitude = latitude | ||||
| 	node.Longitude = longitude | ||||
| 	node.Altitude = altitude | ||||
| 	node.Precision = precision | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue