orion/emlid/reachview/configuration_model.go

179 lines
6.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package reachview
// Configuration -
type Configuration struct {
RTKSettings *RTKSettings `mapstructure:"rtk settings,omitempty"`
CorrectionInput *CorrectionInput `mapstructure:"correction input,omitempty"`
PositionOutput *PositionOutput `mapstructure:"position output,omitempty"`
BaseMode *BaseMode `mapstructure:"base mode,omitempty"`
Logging *Logging `mapstructure:"logging,omitempty"`
Bluetooth *Bluetooth `mapstructure:"bluetooth,omitempty"`
LoRa *LoRa `mapstructure:"lora,omitempty"`
Constraints *Constraints `mapstructure:"constraints,omitempty"`
}
// RTKSettings -
type RTKSettings struct {
GLONASSARMode string `mapstructure:"glonass ar mode"`
UpdateRate string `mapstructure:"update rate"`
ElevationMaskAngle string `mapstructure:"elevation mask angle"`
MaxHorizontalAcceleration string `mapstructure:"max horizontal acceleration"`
SNRMask string `mapstructure:"snr mask"`
GPSARMode string `mapstructure:"gps ar mode"`
PositionningMode string `mapstructure:"positioning mode"`
PositioningSystems *PositionningSystems `mapstructure:"positioning systems,omitempty"`
MaxVerticalAcceleration string `mapstructure:"max vertical acceleration"`
}
// PositionningSystems -
type PositionningSystems struct {
GLONASS bool `mapstructure:"glonass"`
SBAS bool `mapstructure:"sbas"`
QZS bool `mapstructure:"qzs"`
QZSS bool `mapstructure:"qzss"`
Compass bool `mapstructure:"compass"`
Galileo bool `mapstructure:"galileo"`
GPS bool `mapstructure:"gps"`
}
// CorrectionInput -
type CorrectionInput struct {
Input2 *Input2 `mapstructure:"input2,omitempty"`
Input3 *Input3 `mapstructure:"input3,omitempty"`
}
// Input -
type Input struct {
Path string `mapstructure:"path"`
Type string `mapstructure:"type"`
Enabled bool `mapstructure:"enabled"`
Format string `mapstructure:"format"`
}
// Input2 -
type Input2 struct {
Input `mapstructure:",squash"`
SendPositionToBase string `mapstructure:"send position to base"`
}
// Input3 -
type Input3 struct {
Input `mapstructure:",squash"`
}
// PositionOutput -
type PositionOutput struct {
Output1 *Output `mapstructure:"output1,omitempty"`
Output2 *Output `mapstructure:"output2,omitempty"`
Output3 *Output `mapstructure:"output3,omitempty"`
Output4 *Output `mapstructure:"output4,omitempty"`
}
// Output -
type Output struct {
Path string `mapstructure:"path"`
Type string `mapstructure:"type"`
Enabled bool `mapstructure:"enabled"`
Format string `mapstructure:"format"`
}
// BaseMode -
type BaseMode struct {
Output *Output `mapstructure:"output,omitempty"`
BaseCoordinates *BaseCoordinates `mapstructure:"base coordinates,omitempty"`
RTCM3Messages *RTCM3Messages `mapstructure:"rtcm3 messages,omitempty"`
}
// BaseCoordinates -
type BaseCoordinates struct {
Format string `mapstructure:"format"`
AntennaOffset *AntennaOffset `mapstructure:"antenna offset,omitempty"`
Accumulation string `mapstructure:"accumulation"`
Coordinates []string `mapstructure:"coordinates"`
Mode string `mapstructure:"mode"`
}
// AntennaOffset -
type AntennaOffset struct {
East string `mapstructure:"east"`
North string `mapstructure:"north"`
Up string `mapstructure:"up"`
}
// RTCM3Messages -
type RTCM3Messages struct {
// GPS L1 code and phase and ambiguities and carrier-to-noise ratio
Type1002 *RTCMMessageType `mapstructure:"1002,omitemtpy"`
// Station coordinates XYZ for antenna reference point and antenna height.
Type1006 *RTCMMessageType `mapstructure:"1006,omitemtpy"`
// Antenna serial number.
Type1008 *RTCMMessageType `mapstructure:"1008,omitemtpy"`
// GLONASS L1 code and phase and ambiguities and carrier-to-noise ratio.
Type1010 *RTCMMessageType `mapstructure:"1010,omitemtpy"`
// GPS ephemeris.
Type1019 *RTCMMessageType `mapstructure:"1019,omitemtpy"`
// GLONASS ephemeris.
Type1020 *RTCMMessageType `mapstructure:"1020,omitemtpy"`
// The type 7 Multiple Signal Message format for Europes Galileo system
Type1097 *RTCMMessageType `mapstructure:"1097,omitemtpy"`
// Full SBAS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)
Type1107 *RTCMMessageType `mapstructure:"1107,omitemtpy"`
// Full QZSS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)
Type1117 *RTCMMessageType `mapstructure:"1117,omitemtpy"`
// Full BeiDou pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)
Type1127 *RTCMMessageType `mapstructure:"1127,omitemtpy"`
}
// RTCMMessageType -
type RTCMMessageType struct {
Frequency string `mapstructure:"frequency"`
Enabled bool `mapstructure:"enabled"`
}
// Logging -
type Logging struct {
Correction *LoggingService `mapstructure:"correction,omitempty"`
Interval int `mapstructure:"interval"`
Solution *LoggingService `mapstructure:"solution,omitempty"`
Raw *LoggingService `mapstructure:"raw,omitempty"`
Base *LoggingService `mapstructure:"base,omitempty"`
Overwrite bool `mapstructure:"overwrite"`
}
// LoggingService -
type LoggingService struct {
Started bool `mapstructure:"started"`
Version string `mapstructure:"version"`
Format string `mapstructure:"format"`
}
// Bluetooth -
type Bluetooth struct {
Enabled bool `mapstructure:"enabled"`
Discoverable bool `mapstructure:"discoverable"`
Pin int `mapstructure:"pin"`
}
// LoRa -
type LoRa struct {
AirRate float64 `mapstructure:"air rate"`
Frequency int `mapstructure:"frequency"`
OutputPower int `mapstructure:"output power"`
}
// Constraints -
type Constraints struct {
LoRa *LoRaConstraints `mapstructure:"lora,omitempty"`
}
// LoRaConstraints -
type LoRaConstraints struct {
Frequency *LoRaFrequencyRange `mapstructure:"frequency,omitempty"`
}
// LoRaFrequencyRange -
type LoRaFrequencyRange struct {
Min int `mapstructure:"min"`
Max int `mapstructure:"max"`
}