mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-11-04 05:30:32 -05:00 
			
		
		
		
	Regenerate swagger files
This commit is contained in:
		
							parent
							
								
									9d5d7b1113
								
							
						
					
					
						commit
						50390687cf
					
				@ -1489,6 +1489,14 @@ margin-bottom: 20px;
 | 
				
			|||||||
    "northToSouthPass" : {
 | 
					    "northToSouthPass" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "Satellite is passing from the North to the South (1) or South to North (0)"
 | 
					      "description" : "Satellite is passing from the North to the South (1) or South to North (0)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "tle" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Two line elements for satellite"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "dateTime" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Date and time of AOS (May differ from system clock when replaying old passes)"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "description" : "Acquisition of signal"
 | 
					  "description" : "Acquisition of signal"
 | 
				
			||||||
@ -1507,59 +1515,110 @@ margin-bottom: 20px;
 | 
				
			|||||||
    "inputFrequencyOffset" : {
 | 
					    "inputFrequencyOffset" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "format" : "int64",
 | 
					      "format" : "int64",
 | 
				
			||||||
      "description" : "channel center frequency shift from baseband center in Hz"
 | 
					      "description" : "Channel center frequency shift from baseband center in Hz"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "rfBandwidth" : {
 | 
					    "rfBandwidth" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float",
 | 
					      "format" : "float",
 | 
				
			||||||
      "description" : "channel RF bandwidth in Hz"
 | 
					      "description" : "Channel RF bandwidth in Hz"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "fmDeviation" : {
 | 
					    "fmDeviation" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "frequency deviation in Hz"
 | 
					      "description" : "Frequency deviation in Hz"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "cropNoise" : {
 | 
					    "cropNoise" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "crop noise from top and bottom of image"
 | 
					      "description" : "Crop noise from top and bottom of image"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "denoise" : {
 | 
					    "denoise" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "apply denoise filter to image"
 | 
					      "description" : "Apply denoise filter to image"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "linearEqualise" : {
 | 
					    "linearEqualise" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "apply linear equalisation to image"
 | 
					      "description" : "Apply linear equalisation to image"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "histogramEqualise" : {
 | 
					    "histogramEqualise" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "apply histogram equalisation to image"
 | 
					      "description" : "Apply histogram equalisation to image"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "precipitationOverlay" : {
 | 
					    "precipitationOverlay" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "create colour overlay of precipitation"
 | 
					      "description" : "Create colour overlay of precipitation"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "flip" : {
 | 
					    "flip" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "flip image for South to North passes"
 | 
					      "description" : "Flip image for South to North passes"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "channels" : {
 | 
					    "channels" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "which channel to display (0=both, 1=A, 2=B)"
 | 
					      "description" : "Which channel to display (0=both, 1=A, 2=B, 3=Temperature, 4+=palette)"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "decodeEnabled" : {
 | 
					    "decodeEnabled" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "controls whether the decoder is enabled"
 | 
					      "description" : "Controls whether the decoder is enabled"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "autoSave" : {
 | 
					    "autoSave" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "automatically save images when acquisition is stopped"
 | 
					      "description" : "Automatically save images when acquisition is stopped"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "autoSavePath" : {
 | 
					    "autoSavePath" : {
 | 
				
			||||||
      "type" : "string",
 | 
					      "type" : "string",
 | 
				
			||||||
      "description" : "directory to automatically save images in"
 | 
					      "description" : "Directory to automatically save images in"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "autoSaveMinScanLines" : {
 | 
					    "autoSaveMinScanLines" : {
 | 
				
			||||||
      "type" : "integer"
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Minimum number of scanlines (after cropping) for an image to be automatically saved"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "saveCombined" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Save image with channels A and B"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "saveSeparate" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Save channel A and B as separate image files"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "saveProjection" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Save equidistant cylindrical projection of image"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "scanlinesPerImageUpdate" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Interval in scanlines between image processing and projection"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "transparencyThreshold" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Threshold below which pixels will be fully transparent (0-255)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "opacityThreshold" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Threshold above which pixels will be fully opaque (0-255)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "palettes" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "; separated list of 256x256 image files that can be used as colour maps"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "palette" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Index in to palletes. Used when channels=4"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "horizontalPixelsPerDegree" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Horizontal pixels per degree longitude in projected image"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "verticalPixelsPerDegree" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Vertical pixels per degree latitude in projected image"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "satTimeOffset" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Time offset in seconds, for aligning image on map"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "satYaw" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Yaw angle offset in degrees, for aligning image on map"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "rgbColor" : {
 | 
					    "rgbColor" : {
 | 
				
			||||||
      "type" : "integer"
 | 
					      "type" : "integer"
 | 
				
			||||||
@ -7777,23 +7836,77 @@ margin-bottom: 20px;
 | 
				
			|||||||
    "find" : {
 | 
					    "find" : {
 | 
				
			||||||
      "type" : "string",
 | 
					      "type" : "string",
 | 
				
			||||||
      "description" : "The name of the item or the location to centre the map on"
 | 
					      "description" : "The name of the item or the location to centre the map on"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "setDateTime" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Date and time to set for the map (ISO 8601 extended format)"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "description" : "Map"
 | 
					  "description" : "Map"
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					            defs.MapAnimation = {
 | 
				
			||||||
 | 
					  "properties" : {
 | 
				
			||||||
 | 
					    "name" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Name of animation to play (As in .glb/.glTF file)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "reverse" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "(0 - Forward, 1 - Reverse)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "loop" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "(0 - Play once, 1 - Play in loop)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "startDateTime" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Date and time to start playing this animation (ISO 8601 extended format)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "startOffset" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Fractional [0..1] offset in to animations timeline to start animation at",
 | 
				
			||||||
 | 
					      "default" : 0.0
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "multiplier" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Speed multiplier for animation. >1 plays faster",
 | 
				
			||||||
 | 
					      "default" : 1.0
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "duration" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Time in seconds to play animation for. 0 to play whole animation",
 | 
				
			||||||
 | 
					      "default" : 0.0
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "stop" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Stop a looped animation from playing"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "description" : "Animation to play in the model on the 3D map"
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
            defs.MapCoordinate = {
 | 
					            defs.MapCoordinate = {
 | 
				
			||||||
  "properties" : {
 | 
					  "properties" : {
 | 
				
			||||||
    "latitude" : {
 | 
					    "latitude" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float"
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Latitude in decimal degrees, positive to the North"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "longitude" : {
 | 
					    "longitude" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float"
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Longitude in decimal degrees, positive to the East"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "altitude" : {
 | 
					    "altitude" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float"
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Altitude / height above sea level in metres"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "dateTime" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Date and time at this coordinate (ISO 8601 extended format)"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "description" : "A map coordinate"
 | 
					  "description" : "A map coordinate"
 | 
				
			||||||
@ -7807,34 +7920,38 @@ margin-bottom: 20px;
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "image" : {
 | 
					    "image" : {
 | 
				
			||||||
      "type" : "string",
 | 
					      "type" : "string",
 | 
				
			||||||
      "description" : "Filename or URL of image to draw on the map"
 | 
					      "description" : "Filename or URL of image to draw on the 2D map"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "imageRotation" : {
 | 
					    "imageRotation" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "Angle to rotate the image by"
 | 
					      "description" : "Angle to rotate the image by"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "imageMinZoom" : {
 | 
					 | 
				
			||||||
      "type" : "integer",
 | 
					 | 
				
			||||||
      "description" : "Minimim zoom value"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "text" : {
 | 
					    "text" : {
 | 
				
			||||||
      "type" : "string"
 | 
					      "type" : "string"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "latitude" : {
 | 
					    "latitude" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float",
 | 
					      "format" : "float",
 | 
				
			||||||
      "description" : "Latitude in decimal degrees, positive to the north"
 | 
					      "description" : "Latitude in decimal degrees, positive to the North"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "longitude" : {
 | 
					    "longitude" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float",
 | 
					      "format" : "float",
 | 
				
			||||||
      "description" : "Longitude in decimal degrees, positive to the east"
 | 
					      "description" : "Longitude in decimal degrees, positive to the East"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "altitude" : {
 | 
					    "altitude" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float",
 | 
					      "format" : "float",
 | 
				
			||||||
      "description" : "Altitude / height above sea level in metres"
 | 
					      "description" : "Altitude / height above sea level in metres"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "fixedPosition" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Indicates whether position of item is constant with time (0 - variable, 1 - fixed)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "positionDateTime" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Date and time at this position (ISO 8601 extended format)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "track" : {
 | 
					    "track" : {
 | 
				
			||||||
      "type" : "array",
 | 
					      "type" : "array",
 | 
				
			||||||
      "description" : "Track/path the item has taken",
 | 
					      "description" : "Track/path the item has taken",
 | 
				
			||||||
@ -7848,6 +7965,78 @@ margin-bottom: 20px;
 | 
				
			|||||||
      "items" : {
 | 
					      "items" : {
 | 
				
			||||||
        "$ref" : "#/definitions/MapCoordinate"
 | 
					        "$ref" : "#/definitions/MapCoordinate"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "model" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "3D .glb/*.gltf model for displaying on 3D map"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "orientation" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "How to orientate the model (0 - Along direction of motion, 1 - Use heading, pitch and roll)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "heading" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Heading angle, in decimal degrees clockwise from North"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "pitch" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Pitch angle, in decimal degrees"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "roll" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Roll angle, in decimal degrees"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "orientationDateTime" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Date and time at this orientation (ISO 8601 extended format)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "label" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Label for the model"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "labelAltitudeOffset" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Veritical offset to position label at"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "modelAltitudeOffset" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Vertical offset to adjust model by to prevent it from going underground when altitude is 0"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "altitudeReference" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "0 - NONE (Absolule), 1 - CLAMP_TO_GROUND, 2 - RELATIVE_TO_GROUND, 3 - CLIP_TO_GROUND"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "animations" : {
 | 
				
			||||||
 | 
					      "type" : "array",
 | 
				
			||||||
 | 
					      "description" : "Animations to play",
 | 
				
			||||||
 | 
					      "items" : {
 | 
				
			||||||
 | 
					        "$ref" : "#/definitions/MapAnimation"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "type" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "(0 - Map Item, 1 - Image Tile)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "imageTileWest" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "imageTileSouth" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "imageTileEast" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "imageTileNorth" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "description" : "An item to draw on the map. Set image to an empty string to remove item from the map."
 | 
					  "description" : "An item to draw on the map. Set image to an empty string to remove item from the map."
 | 
				
			||||||
@ -7861,34 +8050,38 @@ margin-bottom: 20px;
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "image" : {
 | 
					    "image" : {
 | 
				
			||||||
      "type" : "string",
 | 
					      "type" : "string",
 | 
				
			||||||
      "description" : "Filename or URL of image to draw on the map"
 | 
					      "description" : "Filename or URL of image to draw on the 2D map"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "imageRotation" : {
 | 
					    "imageRotation" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "Angle to rotate the image by"
 | 
					      "description" : "Angle to rotate the image by"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "imageMinZoom" : {
 | 
					 | 
				
			||||||
      "type" : "integer",
 | 
					 | 
				
			||||||
      "description" : "Minimim zoom value"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "text" : {
 | 
					    "text" : {
 | 
				
			||||||
      "type" : "string"
 | 
					      "type" : "string"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "latitude" : {
 | 
					    "latitude" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float",
 | 
					      "format" : "float",
 | 
				
			||||||
      "description" : "Latitude in decimal degrees, positive to the north"
 | 
					      "description" : "Latitude in decimal degrees, positive to the North"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "longitude" : {
 | 
					    "longitude" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float",
 | 
					      "format" : "float",
 | 
				
			||||||
      "description" : "Longitude in decimal degrees, positive to the east"
 | 
					      "description" : "Longitude in decimal degrees, positive to the East"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "altitude" : {
 | 
					    "altitude" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float",
 | 
					      "format" : "float",
 | 
				
			||||||
      "description" : "Altitude / height above sea level in metres"
 | 
					      "description" : "Altitude / height above sea level in metres"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "fixedPosition" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Indicates whether position of item is constant with time (0 - variable, 1 - fixed)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "positionDateTime" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Date and time at this position (ISO 8601 extended format)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "track" : {
 | 
					    "track" : {
 | 
				
			||||||
      "type" : "array",
 | 
					      "type" : "array",
 | 
				
			||||||
      "description" : "Track/path the item has taken",
 | 
					      "description" : "Track/path the item has taken",
 | 
				
			||||||
@ -7902,6 +8095,78 @@ margin-bottom: 20px;
 | 
				
			|||||||
      "items" : {
 | 
					      "items" : {
 | 
				
			||||||
        "$ref" : "#/definitions/MapCoordinate"
 | 
					        "$ref" : "#/definitions/MapCoordinate"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "model" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "3D .glb/*.gltf model for displaying on 3D map"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "orientation" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "How to orientate the model (0 - Along direction of motion, 1 - Use heading, pitch and roll)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "heading" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Heading angle, in decimal degrees clockwise from North"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "pitch" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Pitch angle, in decimal degrees"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "roll" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Roll angle, in decimal degrees"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "orientationDateTime" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Date and time at this orientation (ISO 8601 extended format)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "label" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Label for the model"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "labelAltitudeOffset" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Veritical offset to position label at"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "modelAltitudeOffset" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Vertical offset to adjust model by to prevent it from going underground when altitude is 0"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "altitudeReference" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "0 - NONE (Absolule), 1 - CLAMP_TO_GROUND, 2 - RELATIVE_TO_GROUND, 3 - CLIP_TO_GROUND"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "animations" : {
 | 
				
			||||||
 | 
					      "type" : "array",
 | 
				
			||||||
 | 
					      "description" : "Animations to play",
 | 
				
			||||||
 | 
					      "items" : {
 | 
				
			||||||
 | 
					        "$ref" : "#/definitions/MapAnimation"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "type" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "(0 - Map Item, 1 - Image Tile)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "imageTileWest" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "imageTileSouth" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "imageTileEast" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "imageTileNorth" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "description" : "An item to draw on the map. Set image to an empty string to remove item from the map."
 | 
					  "description" : "An item to draw on the map. Set image to an empty string to remove item from the map."
 | 
				
			||||||
@ -52004,7 +52269,7 @@ except ApiException as e:
 | 
				
			|||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
          <div id="generator">
 | 
					          <div id="generator">
 | 
				
			||||||
            <div class="content">
 | 
					            <div class="content">
 | 
				
			||||||
              Generated 2022-02-05T07:11:11.381+01:00
 | 
					              Generated 2022-02-06T00:22:44.703+01:00
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
 | 
				
			|||||||
@ -2,49 +2,87 @@ APTDemodSettings:
 | 
				
			|||||||
  description: APTDemod
 | 
					  description: APTDemod
 | 
				
			||||||
  properties:
 | 
					  properties:
 | 
				
			||||||
    inputFrequencyOffset:
 | 
					    inputFrequencyOffset:
 | 
				
			||||||
      description: channel center frequency shift from baseband center in Hz
 | 
					      description: Channel center frequency shift from baseband center in Hz
 | 
				
			||||||
      type: integer
 | 
					      type: integer
 | 
				
			||||||
      format: int64
 | 
					      format: int64
 | 
				
			||||||
    rfBandwidth:
 | 
					    rfBandwidth:
 | 
				
			||||||
      description: channel RF bandwidth in Hz
 | 
					      description: Channel RF bandwidth in Hz
 | 
				
			||||||
      type: number
 | 
					      type: number
 | 
				
			||||||
      format: float
 | 
					      format: float
 | 
				
			||||||
    fmDeviation:
 | 
					    fmDeviation:
 | 
				
			||||||
      description: frequency deviation in Hz
 | 
					      description: Frequency deviation in Hz
 | 
				
			||||||
      type: integer
 | 
					      type: integer
 | 
				
			||||||
    cropNoise:
 | 
					    cropNoise:
 | 
				
			||||||
      description: crop noise from top and bottom of image
 | 
					      description: Crop noise from top and bottom of image
 | 
				
			||||||
      type: integer
 | 
					      type: integer
 | 
				
			||||||
    denoise:
 | 
					    denoise:
 | 
				
			||||||
      description: apply denoise filter to image
 | 
					      description: Apply denoise filter to image
 | 
				
			||||||
      type: integer
 | 
					      type: integer
 | 
				
			||||||
    linearEqualise:
 | 
					    linearEqualise:
 | 
				
			||||||
      description: apply linear equalisation to image
 | 
					      description: Apply linear equalisation to image
 | 
				
			||||||
      type: integer
 | 
					      type: integer
 | 
				
			||||||
    histogramEqualise:
 | 
					    histogramEqualise:
 | 
				
			||||||
      description: apply histogram equalisation to image
 | 
					      description: Apply histogram equalisation to image
 | 
				
			||||||
      type: integer
 | 
					      type: integer
 | 
				
			||||||
    precipitationOverlay:
 | 
					    precipitationOverlay:
 | 
				
			||||||
      description: create colour overlay of precipitation
 | 
					      description: Create colour overlay of precipitation
 | 
				
			||||||
      type: integer
 | 
					      type: integer
 | 
				
			||||||
    flip:
 | 
					    flip:
 | 
				
			||||||
      description: flip image for South to North passes
 | 
					      description: Flip image for South to North passes
 | 
				
			||||||
      type: integer
 | 
					      type: integer
 | 
				
			||||||
    channels:
 | 
					    channels:
 | 
				
			||||||
      description: which channel to display (0=both, 1=A, 2=B)
 | 
					      description: Which channel to display (0=both, 1=A, 2=B, 3=Temperature, 4+=palette)
 | 
				
			||||||
      type: integer
 | 
					      type: integer
 | 
				
			||||||
    decodeEnabled:
 | 
					    decodeEnabled:
 | 
				
			||||||
      description: controls whether the decoder is enabled
 | 
					      description: Controls whether the decoder is enabled
 | 
				
			||||||
      type: integer
 | 
					      type: integer
 | 
				
			||||||
    autoSave:
 | 
					    autoSave:
 | 
				
			||||||
      description: automatically save images when acquisition is stopped
 | 
					      description: Automatically save images when acquisition is stopped
 | 
				
			||||||
      type: integer
 | 
					      type: integer
 | 
				
			||||||
    autoSavePath:
 | 
					    autoSavePath:
 | 
				
			||||||
      description: directory to automatically save images in
 | 
					      description: Directory to automatically save images in
 | 
				
			||||||
      type: string
 | 
					      type: string
 | 
				
			||||||
    autoSaveMinScanLines:
 | 
					    autoSaveMinScanLines:
 | 
				
			||||||
      desciption: minimum number of scanlines (after cropping) for an image to be automatically saved
 | 
					      description: Minimum number of scanlines (after cropping) for an image to be automatically saved
 | 
				
			||||||
      type: integer
 | 
					      type: integer
 | 
				
			||||||
 | 
					    saveCombined:
 | 
				
			||||||
 | 
					      type: integer
 | 
				
			||||||
 | 
					      description: Save image with channels A and B
 | 
				
			||||||
 | 
					    saveSeparate:
 | 
				
			||||||
 | 
					      description: Save channel A and B as separate image files
 | 
				
			||||||
 | 
					      type: integer
 | 
				
			||||||
 | 
					    saveProjection:
 | 
				
			||||||
 | 
					      description: Save equidistant cylindrical projection of image
 | 
				
			||||||
 | 
					      type: integer
 | 
				
			||||||
 | 
					    scanlinesPerImageUpdate:
 | 
				
			||||||
 | 
					      description: Interval in scanlines between image processing and projection
 | 
				
			||||||
 | 
					      type: integer
 | 
				
			||||||
 | 
					    transparencyThreshold:
 | 
				
			||||||
 | 
					      description: Threshold below which pixels will be fully transparent (0-255)
 | 
				
			||||||
 | 
					      type: integer
 | 
				
			||||||
 | 
					    opacityThreshold:
 | 
				
			||||||
 | 
					      description: Threshold above which pixels will be fully opaque (0-255)
 | 
				
			||||||
 | 
					      type: integer
 | 
				
			||||||
 | 
					    palettes:
 | 
				
			||||||
 | 
					      description: "; separated list of 256x256 image files that can be used as colour maps"
 | 
				
			||||||
 | 
					      type: string
 | 
				
			||||||
 | 
					    palette:
 | 
				
			||||||
 | 
					      description: "Index in to palletes. Used when channels=4"
 | 
				
			||||||
 | 
					      type: integer
 | 
				
			||||||
 | 
					    horizontalPixelsPerDegree:
 | 
				
			||||||
 | 
					      description: "Horizontal pixels per degree longitude in projected image"
 | 
				
			||||||
 | 
					      type: integer
 | 
				
			||||||
 | 
					    verticalPixelsPerDegree:
 | 
				
			||||||
 | 
					      description: "Vertical pixels per degree latitude in projected image"
 | 
				
			||||||
 | 
					      type: integer
 | 
				
			||||||
 | 
					    satTimeOffset:
 | 
				
			||||||
 | 
					      description: "Time offset in seconds, for aligning image on map"
 | 
				
			||||||
 | 
					      type: number
 | 
				
			||||||
 | 
					      format: float
 | 
				
			||||||
 | 
					    satYaw:
 | 
				
			||||||
 | 
					      description: "Yaw angle offset in degrees, for aligning image on map"
 | 
				
			||||||
 | 
					      type: number
 | 
				
			||||||
 | 
					      format: float
 | 
				
			||||||
    rgbColor:
 | 
					    rgbColor:
 | 
				
			||||||
      type: integer
 | 
					      type: integer
 | 
				
			||||||
    title:
 | 
					    title:
 | 
				
			||||||
@ -81,6 +119,12 @@ APTDemodActions:
 | 
				
			|||||||
        northToSouthPass:
 | 
					        northToSouthPass:
 | 
				
			||||||
          description: "Satellite is passing from the North to the South (1) or South to North (0)"
 | 
					          description: "Satellite is passing from the North to the South (1) or South to North (0)"
 | 
				
			||||||
          type: integer
 | 
					          type: integer
 | 
				
			||||||
 | 
					        tle:
 | 
				
			||||||
 | 
					          description: "Two line elements for satellite"
 | 
				
			||||||
 | 
					          type: string
 | 
				
			||||||
 | 
					        dateTime:
 | 
				
			||||||
 | 
					          description: "Date and time of AOS (May differ from system clock when replaying old passes)"
 | 
				
			||||||
 | 
					          type: string
 | 
				
			||||||
    los:
 | 
					    los:
 | 
				
			||||||
      description: "Loss of signal"
 | 
					      description: "Loss of signal"
 | 
				
			||||||
      type: object
 | 
					      type: object
 | 
				
			||||||
 | 
				
			|||||||
@ -28,6 +28,9 @@ MapActions:
 | 
				
			|||||||
    find:
 | 
					    find:
 | 
				
			||||||
      description: "The name of the item or the location to centre the map on"
 | 
					      description: "The name of the item or the location to centre the map on"
 | 
				
			||||||
      type: string
 | 
					      type: string
 | 
				
			||||||
 | 
					    setDateTime:
 | 
				
			||||||
 | 
					      description: "Date and time to set for the map (ISO 8601 extended format)"
 | 
				
			||||||
 | 
					      type: string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MapItem:
 | 
					MapItem:
 | 
				
			||||||
  description: "An item to draw on the map. Set image to an empty string to remove item from the map."
 | 
					  description: "An item to draw on the map. Set image to an empty string to remove item from the map."
 | 
				
			||||||
@ -38,31 +41,33 @@ MapItem:
 | 
				
			|||||||
      description: "A name for the item"
 | 
					      description: "A name for the item"
 | 
				
			||||||
      type: string
 | 
					      type: string
 | 
				
			||||||
    image:
 | 
					    image:
 | 
				
			||||||
      description: "Filename or URL of image to draw on the map"
 | 
					      description: "Filename or URL of image to draw on the 2D map"
 | 
				
			||||||
      type: string
 | 
					      type: string
 | 
				
			||||||
    imageRotation:
 | 
					    imageRotation:
 | 
				
			||||||
      description: "Angle to rotate the image by"
 | 
					      description: "Angle to rotate the image by"
 | 
				
			||||||
      type: integer
 | 
					      type: integer
 | 
				
			||||||
      default: 0
 | 
					      default: 0
 | 
				
			||||||
    imageMinZoom:
 | 
					 | 
				
			||||||
      description: "Minimim zoom value"
 | 
					 | 
				
			||||||
      type: integer
 | 
					 | 
				
			||||||
      default: 11
 | 
					 | 
				
			||||||
    text:
 | 
					    text:
 | 
				
			||||||
      descrption: "Text to draw on the map when item is selected"
 | 
					      descrption: "Text to draw on the map when item is selected"
 | 
				
			||||||
      type: string
 | 
					      type: string
 | 
				
			||||||
    latitude:
 | 
					    latitude:
 | 
				
			||||||
      description: "Latitude in decimal degrees, positive to the north"
 | 
					      description: "Latitude in decimal degrees, positive to the North"
 | 
				
			||||||
      type: number
 | 
					      type: number
 | 
				
			||||||
      format: float
 | 
					      format: float
 | 
				
			||||||
    longitude:
 | 
					    longitude:
 | 
				
			||||||
      description: "Longitude in decimal degrees, positive to the east"
 | 
					      description: "Longitude in decimal degrees, positive to the East"
 | 
				
			||||||
      type: number
 | 
					      type: number
 | 
				
			||||||
      format: float
 | 
					      format: float
 | 
				
			||||||
    altitude:
 | 
					    altitude:
 | 
				
			||||||
      description: "Altitude / height above sea level in metres"
 | 
					      description: "Altitude / height above sea level in metres"
 | 
				
			||||||
      type: number
 | 
					      type: number
 | 
				
			||||||
      format: float
 | 
					      format: float
 | 
				
			||||||
 | 
					    fixedPosition:
 | 
				
			||||||
 | 
					      description: "Indicates whether position of item is constant with time (0 - variable, 1 - fixed)"
 | 
				
			||||||
 | 
					      type: integer
 | 
				
			||||||
 | 
					    positionDateTime:
 | 
				
			||||||
 | 
					      description: "Date and time at this position (ISO 8601 extended format)"
 | 
				
			||||||
 | 
					      type: string
 | 
				
			||||||
    track:
 | 
					    track:
 | 
				
			||||||
      description: "Track/path the item has taken"
 | 
					      description: "Track/path the item has taken"
 | 
				
			||||||
      type: array
 | 
					      type: array
 | 
				
			||||||
@ -73,17 +78,111 @@ MapItem:
 | 
				
			|||||||
      type: array
 | 
					      type: array
 | 
				
			||||||
      items:
 | 
					      items:
 | 
				
			||||||
        $ref: "/doc/swagger/include/Map.yaml#/MapCoordinate"
 | 
					        $ref: "/doc/swagger/include/Map.yaml#/MapCoordinate"
 | 
				
			||||||
 | 
					    model:
 | 
				
			||||||
 | 
					      description: "3D .glb/*.gltf model for displaying on 3D map"
 | 
				
			||||||
 | 
					      type: string
 | 
				
			||||||
 | 
					    orientation:
 | 
				
			||||||
 | 
					      description: "How to orientate the model (0 - Along direction of motion, 1 - Use heading, pitch and roll)"
 | 
				
			||||||
 | 
					      type: integer
 | 
				
			||||||
 | 
					    heading:
 | 
				
			||||||
 | 
					      description: "Heading angle, in decimal degrees clockwise from North"
 | 
				
			||||||
 | 
					      type: number
 | 
				
			||||||
 | 
					      format: float
 | 
				
			||||||
 | 
					    pitch:
 | 
				
			||||||
 | 
					      description: "Pitch angle, in decimal degrees"
 | 
				
			||||||
 | 
					      type: number
 | 
				
			||||||
 | 
					      format: float
 | 
				
			||||||
 | 
					    roll:
 | 
				
			||||||
 | 
					      description: "Roll angle, in decimal degrees"
 | 
				
			||||||
 | 
					      type: number
 | 
				
			||||||
 | 
					      format: float
 | 
				
			||||||
 | 
					    orientationDateTime:
 | 
				
			||||||
 | 
					      description: "Date and time at this orientation (ISO 8601 extended format)"
 | 
				
			||||||
 | 
					      type: string
 | 
				
			||||||
 | 
					    label:
 | 
				
			||||||
 | 
					      description: "Label for the model"
 | 
				
			||||||
 | 
					      type: string
 | 
				
			||||||
 | 
					    labelAltitudeOffset:
 | 
				
			||||||
 | 
					      description: "Veritical offset to position label at"
 | 
				
			||||||
 | 
					      type: number
 | 
				
			||||||
 | 
					      format: float
 | 
				
			||||||
 | 
					    modelAltitudeOffset:
 | 
				
			||||||
 | 
					      description: "Vertical offset to adjust model by to prevent it from going underground when altitude is 0"
 | 
				
			||||||
 | 
					      type: number
 | 
				
			||||||
 | 
					      format: float
 | 
				
			||||||
 | 
					    altitudeReference:
 | 
				
			||||||
 | 
					      description: "0 - NONE (Absolule), 1 - CLAMP_TO_GROUND, 2 - RELATIVE_TO_GROUND, 3 - CLIP_TO_GROUND"
 | 
				
			||||||
 | 
					      type: integer
 | 
				
			||||||
 | 
					    animations:
 | 
				
			||||||
 | 
					      description: "Animations to play"
 | 
				
			||||||
 | 
					      type: array
 | 
				
			||||||
 | 
					      items:
 | 
				
			||||||
 | 
					        $ref: "/doc/swagger/include/Map.yaml#/MapAnimation"
 | 
				
			||||||
 | 
					    type:
 | 
				
			||||||
 | 
					      description: "(0 - Map Item, 1 - Image Tile)"
 | 
				
			||||||
 | 
					      type: integer
 | 
				
			||||||
 | 
					    imageTileWest:
 | 
				
			||||||
 | 
					      type: number
 | 
				
			||||||
 | 
					      format: float
 | 
				
			||||||
 | 
					    imageTileSouth:
 | 
				
			||||||
 | 
					      type: number
 | 
				
			||||||
 | 
					      format: float
 | 
				
			||||||
 | 
					    imageTileEast:
 | 
				
			||||||
 | 
					      type: number
 | 
				
			||||||
 | 
					      format: float
 | 
				
			||||||
 | 
					    imageTileNorth:
 | 
				
			||||||
 | 
					      type: number
 | 
				
			||||||
 | 
					      format: float
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					MapAnimation:
 | 
				
			||||||
 | 
					  description: "Animation to play in the model on the 3D map"
 | 
				
			||||||
 | 
					  properties:
 | 
				
			||||||
 | 
					    name:
 | 
				
			||||||
 | 
					      description: "Name of animation to play (As in .glb/.glTF file)"
 | 
				
			||||||
 | 
					      type: string
 | 
				
			||||||
 | 
					    reverse:
 | 
				
			||||||
 | 
					      description: "(0 - Forward, 1 - Reverse)"
 | 
				
			||||||
 | 
					      type: integer
 | 
				
			||||||
 | 
					    loop:
 | 
				
			||||||
 | 
					      description: "(0 - Play once, 1 - Play in loop)"
 | 
				
			||||||
 | 
					      type: integer
 | 
				
			||||||
 | 
					    startDateTime:
 | 
				
			||||||
 | 
					      description: "Date and time to start playing this animation (ISO 8601 extended format)"
 | 
				
			||||||
 | 
					      type: string
 | 
				
			||||||
 | 
					    startOffset:
 | 
				
			||||||
 | 
					      description: "Fractional [0..1] offset in to animations timeline to start animation at"
 | 
				
			||||||
 | 
					      type: number
 | 
				
			||||||
 | 
					      format: float
 | 
				
			||||||
 | 
					      default: 0.0
 | 
				
			||||||
 | 
					    multiplier:
 | 
				
			||||||
 | 
					      description: "Speed multiplier for animation. >1 plays faster"
 | 
				
			||||||
 | 
					      type: number
 | 
				
			||||||
 | 
					      format: float
 | 
				
			||||||
 | 
					      default: 1.0
 | 
				
			||||||
 | 
					    duration:
 | 
				
			||||||
 | 
					      description: "Time in seconds to play animation for. 0 to play whole animation"
 | 
				
			||||||
 | 
					      type: number
 | 
				
			||||||
 | 
					      format: float
 | 
				
			||||||
 | 
					      default: 0.0
 | 
				
			||||||
 | 
					    stop:
 | 
				
			||||||
 | 
					      description: "Stop a looped animation from playing"
 | 
				
			||||||
 | 
					      type: integer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MapCoordinate:
 | 
					MapCoordinate:
 | 
				
			||||||
  description: "A map coordinate"
 | 
					  description: "A map coordinate"
 | 
				
			||||||
  properties:
 | 
					  properties:
 | 
				
			||||||
    latitude:
 | 
					    latitude:
 | 
				
			||||||
 | 
					      description: "Latitude in decimal degrees, positive to the North"
 | 
				
			||||||
      type: number
 | 
					      type: number
 | 
				
			||||||
      format: float
 | 
					      format: float
 | 
				
			||||||
    longitude:
 | 
					    longitude:
 | 
				
			||||||
 | 
					      description: "Longitude in decimal degrees, positive to the East"
 | 
				
			||||||
      type: number
 | 
					      type: number
 | 
				
			||||||
      format: float
 | 
					      format: float
 | 
				
			||||||
    altitude:
 | 
					    altitude:
 | 
				
			||||||
 | 
					      description: "Altitude / height above sea level in metres"
 | 
				
			||||||
      type: number
 | 
					      type: number
 | 
				
			||||||
      format: float
 | 
					      format: float
 | 
				
			||||||
 | 
					    dateTime:
 | 
				
			||||||
 | 
					      description: "Date and time at this coordinate (ISO 8601 extended format)"
 | 
				
			||||||
 | 
					      type: string
 | 
				
			||||||
 | 
				
			|||||||
@ -1489,6 +1489,14 @@ margin-bottom: 20px;
 | 
				
			|||||||
    "northToSouthPass" : {
 | 
					    "northToSouthPass" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "Satellite is passing from the North to the South (1) or South to North (0)"
 | 
					      "description" : "Satellite is passing from the North to the South (1) or South to North (0)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "tle" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Two line elements for satellite"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "dateTime" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Date and time of AOS (May differ from system clock when replaying old passes)"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "description" : "Acquisition of signal"
 | 
					  "description" : "Acquisition of signal"
 | 
				
			||||||
@ -1507,59 +1515,110 @@ margin-bottom: 20px;
 | 
				
			|||||||
    "inputFrequencyOffset" : {
 | 
					    "inputFrequencyOffset" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "format" : "int64",
 | 
					      "format" : "int64",
 | 
				
			||||||
      "description" : "channel center frequency shift from baseband center in Hz"
 | 
					      "description" : "Channel center frequency shift from baseband center in Hz"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "rfBandwidth" : {
 | 
					    "rfBandwidth" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float",
 | 
					      "format" : "float",
 | 
				
			||||||
      "description" : "channel RF bandwidth in Hz"
 | 
					      "description" : "Channel RF bandwidth in Hz"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "fmDeviation" : {
 | 
					    "fmDeviation" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "frequency deviation in Hz"
 | 
					      "description" : "Frequency deviation in Hz"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "cropNoise" : {
 | 
					    "cropNoise" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "crop noise from top and bottom of image"
 | 
					      "description" : "Crop noise from top and bottom of image"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "denoise" : {
 | 
					    "denoise" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "apply denoise filter to image"
 | 
					      "description" : "Apply denoise filter to image"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "linearEqualise" : {
 | 
					    "linearEqualise" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "apply linear equalisation to image"
 | 
					      "description" : "Apply linear equalisation to image"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "histogramEqualise" : {
 | 
					    "histogramEqualise" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "apply histogram equalisation to image"
 | 
					      "description" : "Apply histogram equalisation to image"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "precipitationOverlay" : {
 | 
					    "precipitationOverlay" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "create colour overlay of precipitation"
 | 
					      "description" : "Create colour overlay of precipitation"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "flip" : {
 | 
					    "flip" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "flip image for South to North passes"
 | 
					      "description" : "Flip image for South to North passes"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "channels" : {
 | 
					    "channels" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "which channel to display (0=both, 1=A, 2=B)"
 | 
					      "description" : "Which channel to display (0=both, 1=A, 2=B, 3=Temperature, 4+=palette)"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "decodeEnabled" : {
 | 
					    "decodeEnabled" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "controls whether the decoder is enabled"
 | 
					      "description" : "Controls whether the decoder is enabled"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "autoSave" : {
 | 
					    "autoSave" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "automatically save images when acquisition is stopped"
 | 
					      "description" : "Automatically save images when acquisition is stopped"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "autoSavePath" : {
 | 
					    "autoSavePath" : {
 | 
				
			||||||
      "type" : "string",
 | 
					      "type" : "string",
 | 
				
			||||||
      "description" : "directory to automatically save images in"
 | 
					      "description" : "Directory to automatically save images in"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "autoSaveMinScanLines" : {
 | 
					    "autoSaveMinScanLines" : {
 | 
				
			||||||
      "type" : "integer"
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Minimum number of scanlines (after cropping) for an image to be automatically saved"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "saveCombined" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Save image with channels A and B"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "saveSeparate" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Save channel A and B as separate image files"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "saveProjection" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Save equidistant cylindrical projection of image"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "scanlinesPerImageUpdate" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Interval in scanlines between image processing and projection"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "transparencyThreshold" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Threshold below which pixels will be fully transparent (0-255)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "opacityThreshold" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Threshold above which pixels will be fully opaque (0-255)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "palettes" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "; separated list of 256x256 image files that can be used as colour maps"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "palette" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Index in to palletes. Used when channels=4"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "horizontalPixelsPerDegree" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Horizontal pixels per degree longitude in projected image"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "verticalPixelsPerDegree" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Vertical pixels per degree latitude in projected image"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "satTimeOffset" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Time offset in seconds, for aligning image on map"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "satYaw" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Yaw angle offset in degrees, for aligning image on map"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "rgbColor" : {
 | 
					    "rgbColor" : {
 | 
				
			||||||
      "type" : "integer"
 | 
					      "type" : "integer"
 | 
				
			||||||
@ -7777,23 +7836,77 @@ margin-bottom: 20px;
 | 
				
			|||||||
    "find" : {
 | 
					    "find" : {
 | 
				
			||||||
      "type" : "string",
 | 
					      "type" : "string",
 | 
				
			||||||
      "description" : "The name of the item or the location to centre the map on"
 | 
					      "description" : "The name of the item or the location to centre the map on"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "setDateTime" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Date and time to set for the map (ISO 8601 extended format)"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "description" : "Map"
 | 
					  "description" : "Map"
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					            defs.MapAnimation = {
 | 
				
			||||||
 | 
					  "properties" : {
 | 
				
			||||||
 | 
					    "name" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Name of animation to play (As in .glb/.glTF file)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "reverse" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "(0 - Forward, 1 - Reverse)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "loop" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "(0 - Play once, 1 - Play in loop)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "startDateTime" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Date and time to start playing this animation (ISO 8601 extended format)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "startOffset" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Fractional [0..1] offset in to animations timeline to start animation at",
 | 
				
			||||||
 | 
					      "default" : 0.0
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "multiplier" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Speed multiplier for animation. >1 plays faster",
 | 
				
			||||||
 | 
					      "default" : 1.0
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "duration" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Time in seconds to play animation for. 0 to play whole animation",
 | 
				
			||||||
 | 
					      "default" : 0.0
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "stop" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Stop a looped animation from playing"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "description" : "Animation to play in the model on the 3D map"
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
            defs.MapCoordinate = {
 | 
					            defs.MapCoordinate = {
 | 
				
			||||||
  "properties" : {
 | 
					  "properties" : {
 | 
				
			||||||
    "latitude" : {
 | 
					    "latitude" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float"
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Latitude in decimal degrees, positive to the North"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "longitude" : {
 | 
					    "longitude" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float"
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Longitude in decimal degrees, positive to the East"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "altitude" : {
 | 
					    "altitude" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float"
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Altitude / height above sea level in metres"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "dateTime" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Date and time at this coordinate (ISO 8601 extended format)"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "description" : "A map coordinate"
 | 
					  "description" : "A map coordinate"
 | 
				
			||||||
@ -7807,34 +7920,38 @@ margin-bottom: 20px;
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "image" : {
 | 
					    "image" : {
 | 
				
			||||||
      "type" : "string",
 | 
					      "type" : "string",
 | 
				
			||||||
      "description" : "Filename or URL of image to draw on the map"
 | 
					      "description" : "Filename or URL of image to draw on the 2D map"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "imageRotation" : {
 | 
					    "imageRotation" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "Angle to rotate the image by"
 | 
					      "description" : "Angle to rotate the image by"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "imageMinZoom" : {
 | 
					 | 
				
			||||||
      "type" : "integer",
 | 
					 | 
				
			||||||
      "description" : "Minimim zoom value"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "text" : {
 | 
					    "text" : {
 | 
				
			||||||
      "type" : "string"
 | 
					      "type" : "string"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "latitude" : {
 | 
					    "latitude" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float",
 | 
					      "format" : "float",
 | 
				
			||||||
      "description" : "Latitude in decimal degrees, positive to the north"
 | 
					      "description" : "Latitude in decimal degrees, positive to the North"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "longitude" : {
 | 
					    "longitude" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float",
 | 
					      "format" : "float",
 | 
				
			||||||
      "description" : "Longitude in decimal degrees, positive to the east"
 | 
					      "description" : "Longitude in decimal degrees, positive to the East"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "altitude" : {
 | 
					    "altitude" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float",
 | 
					      "format" : "float",
 | 
				
			||||||
      "description" : "Altitude / height above sea level in metres"
 | 
					      "description" : "Altitude / height above sea level in metres"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "fixedPosition" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Indicates whether position of item is constant with time (0 - variable, 1 - fixed)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "positionDateTime" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Date and time at this position (ISO 8601 extended format)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "track" : {
 | 
					    "track" : {
 | 
				
			||||||
      "type" : "array",
 | 
					      "type" : "array",
 | 
				
			||||||
      "description" : "Track/path the item has taken",
 | 
					      "description" : "Track/path the item has taken",
 | 
				
			||||||
@ -7848,6 +7965,78 @@ margin-bottom: 20px;
 | 
				
			|||||||
      "items" : {
 | 
					      "items" : {
 | 
				
			||||||
        "$ref" : "#/definitions/MapCoordinate"
 | 
					        "$ref" : "#/definitions/MapCoordinate"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "model" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "3D .glb/*.gltf model for displaying on 3D map"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "orientation" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "How to orientate the model (0 - Along direction of motion, 1 - Use heading, pitch and roll)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "heading" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Heading angle, in decimal degrees clockwise from North"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "pitch" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Pitch angle, in decimal degrees"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "roll" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Roll angle, in decimal degrees"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "orientationDateTime" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Date and time at this orientation (ISO 8601 extended format)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "label" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Label for the model"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "labelAltitudeOffset" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Veritical offset to position label at"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "modelAltitudeOffset" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Vertical offset to adjust model by to prevent it from going underground when altitude is 0"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "altitudeReference" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "0 - NONE (Absolule), 1 - CLAMP_TO_GROUND, 2 - RELATIVE_TO_GROUND, 3 - CLIP_TO_GROUND"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "animations" : {
 | 
				
			||||||
 | 
					      "type" : "array",
 | 
				
			||||||
 | 
					      "description" : "Animations to play",
 | 
				
			||||||
 | 
					      "items" : {
 | 
				
			||||||
 | 
					        "$ref" : "#/definitions/MapAnimation"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "type" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "(0 - Map Item, 1 - Image Tile)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "imageTileWest" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "imageTileSouth" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "imageTileEast" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "imageTileNorth" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "description" : "An item to draw on the map. Set image to an empty string to remove item from the map."
 | 
					  "description" : "An item to draw on the map. Set image to an empty string to remove item from the map."
 | 
				
			||||||
@ -7861,34 +8050,38 @@ margin-bottom: 20px;
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "image" : {
 | 
					    "image" : {
 | 
				
			||||||
      "type" : "string",
 | 
					      "type" : "string",
 | 
				
			||||||
      "description" : "Filename or URL of image to draw on the map"
 | 
					      "description" : "Filename or URL of image to draw on the 2D map"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "imageRotation" : {
 | 
					    "imageRotation" : {
 | 
				
			||||||
      "type" : "integer",
 | 
					      "type" : "integer",
 | 
				
			||||||
      "description" : "Angle to rotate the image by"
 | 
					      "description" : "Angle to rotate the image by"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "imageMinZoom" : {
 | 
					 | 
				
			||||||
      "type" : "integer",
 | 
					 | 
				
			||||||
      "description" : "Minimim zoom value"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "text" : {
 | 
					    "text" : {
 | 
				
			||||||
      "type" : "string"
 | 
					      "type" : "string"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "latitude" : {
 | 
					    "latitude" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float",
 | 
					      "format" : "float",
 | 
				
			||||||
      "description" : "Latitude in decimal degrees, positive to the north"
 | 
					      "description" : "Latitude in decimal degrees, positive to the North"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "longitude" : {
 | 
					    "longitude" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float",
 | 
					      "format" : "float",
 | 
				
			||||||
      "description" : "Longitude in decimal degrees, positive to the east"
 | 
					      "description" : "Longitude in decimal degrees, positive to the East"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "altitude" : {
 | 
					    "altitude" : {
 | 
				
			||||||
      "type" : "number",
 | 
					      "type" : "number",
 | 
				
			||||||
      "format" : "float",
 | 
					      "format" : "float",
 | 
				
			||||||
      "description" : "Altitude / height above sea level in metres"
 | 
					      "description" : "Altitude / height above sea level in metres"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "fixedPosition" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "Indicates whether position of item is constant with time (0 - variable, 1 - fixed)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "positionDateTime" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Date and time at this position (ISO 8601 extended format)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "track" : {
 | 
					    "track" : {
 | 
				
			||||||
      "type" : "array",
 | 
					      "type" : "array",
 | 
				
			||||||
      "description" : "Track/path the item has taken",
 | 
					      "description" : "Track/path the item has taken",
 | 
				
			||||||
@ -7902,6 +8095,78 @@ margin-bottom: 20px;
 | 
				
			|||||||
      "items" : {
 | 
					      "items" : {
 | 
				
			||||||
        "$ref" : "#/definitions/MapCoordinate"
 | 
					        "$ref" : "#/definitions/MapCoordinate"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "model" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "3D .glb/*.gltf model for displaying on 3D map"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "orientation" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "How to orientate the model (0 - Along direction of motion, 1 - Use heading, pitch and roll)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "heading" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Heading angle, in decimal degrees clockwise from North"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "pitch" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Pitch angle, in decimal degrees"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "roll" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Roll angle, in decimal degrees"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "orientationDateTime" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Date and time at this orientation (ISO 8601 extended format)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "label" : {
 | 
				
			||||||
 | 
					      "type" : "string",
 | 
				
			||||||
 | 
					      "description" : "Label for the model"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "labelAltitudeOffset" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Veritical offset to position label at"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "modelAltitudeOffset" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float",
 | 
				
			||||||
 | 
					      "description" : "Vertical offset to adjust model by to prevent it from going underground when altitude is 0"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "altitudeReference" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "0 - NONE (Absolule), 1 - CLAMP_TO_GROUND, 2 - RELATIVE_TO_GROUND, 3 - CLIP_TO_GROUND"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "animations" : {
 | 
				
			||||||
 | 
					      "type" : "array",
 | 
				
			||||||
 | 
					      "description" : "Animations to play",
 | 
				
			||||||
 | 
					      "items" : {
 | 
				
			||||||
 | 
					        "$ref" : "#/definitions/MapAnimation"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "type" : {
 | 
				
			||||||
 | 
					      "type" : "integer",
 | 
				
			||||||
 | 
					      "description" : "(0 - Map Item, 1 - Image Tile)"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "imageTileWest" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "imageTileSouth" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "imageTileEast" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "imageTileNorth" : {
 | 
				
			||||||
 | 
					      "type" : "number",
 | 
				
			||||||
 | 
					      "format" : "float"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "description" : "An item to draw on the map. Set image to an empty string to remove item from the map."
 | 
					  "description" : "An item to draw on the map. Set image to an empty string to remove item from the map."
 | 
				
			||||||
@ -52004,7 +52269,7 @@ except ApiException as e:
 | 
				
			|||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
          <div id="generator">
 | 
					          <div id="generator">
 | 
				
			||||||
            <div class="content">
 | 
					            <div class="content">
 | 
				
			||||||
              Generated 2022-02-05T07:11:11.381+01:00
 | 
					              Generated 2022-02-06T00:22:44.703+01:00
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
 | 
				
			|||||||
@ -45,7 +45,7 @@ SWGDeviceSetApi::devicesetChannelActionsPost(qint32 device_set_index, qint32 cha
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -158,7 +158,7 @@ SWGDeviceSetApi::devicesetChannelPost(qint32 device_set_index, SWGChannelSetting
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -329,7 +329,7 @@ SWGDeviceSetApi::devicesetChannelSettingsPatch(qint32 device_set_index, qint32 c
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -388,7 +388,7 @@ SWGDeviceSetApi::devicesetChannelSettingsPut(qint32 device_set_index, qint32 cha
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -499,7 +499,7 @@ SWGDeviceSetApi::devicesetDeviceActionsPost(qint32 device_set_index, SWGDeviceAc
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -556,7 +556,7 @@ SWGDeviceSetApi::devicesetDevicePut(qint32 device_set_index, SWGDeviceListItem&
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -667,7 +667,7 @@ SWGDeviceSetApi::devicesetDeviceRunDelete(qint32 device_set_index, SWGDeviceSett
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -778,7 +778,7 @@ SWGDeviceSetApi::devicesetDeviceRunPost(qint32 device_set_index, SWGDeviceSettin
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -889,7 +889,7 @@ SWGDeviceSetApi::devicesetDeviceSettingsPatch(qint32 device_set_index, SWGDevice
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -946,7 +946,7 @@ SWGDeviceSetApi::devicesetDeviceSettingsPut(qint32 device_set_index, SWGDeviceSe
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1005,7 +1005,7 @@ SWGDeviceSetApi::devicesetDeviceSubsystemRunDelete(qint32 device_set_index, qint
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1120,7 +1120,7 @@ SWGDeviceSetApi::devicesetDeviceSubsystemRunPost(qint32 device_set_index, qint32
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1501,7 +1501,7 @@ SWGDeviceSetApi::devicesetSpectrumSettingsPatch(qint32 device_set_index, SWGGLSp
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1558,7 +1558,7 @@ SWGDeviceSetApi::devicesetSpectrumSettingsPut(qint32 device_set_index, SWGGLSpec
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -45,7 +45,7 @@ SWGFeatureSetApi::featuresetFEatureSettingsPut(qint32 feature_set_index, qint32
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -104,7 +104,7 @@ SWGFeatureSetApi::featuresetFeatureActionsPost(qint32 feature_set_index, qint32
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -217,7 +217,7 @@ SWGFeatureSetApi::featuresetFeaturePost(qint32 feature_set_index, SWGFeatureSett
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -556,7 +556,7 @@ SWGFeatureSetApi::featuresetFeatureSettingsPatch(qint32 feature_set_index, qint3
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -667,7 +667,7 @@ SWGFeatureSetApi::featuresetPresetPatch(qint32 feature_set_index, SWGFeaturePres
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -724,7 +724,7 @@ SWGFeatureSetApi::featuresetPresetPost(qint32 feature_set_index, SWGFeaturePrese
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -781,7 +781,7 @@ SWGFeatureSetApi::featuresetPresetPut(qint32 feature_set_index, SWGFeaturePreset
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -16,6 +16,7 @@
 | 
				
			|||||||
#include <QFileInfo>
 | 
					#include <QFileInfo>
 | 
				
			||||||
#include <QBuffer>
 | 
					#include <QBuffer>
 | 
				
			||||||
#include <QtGlobal>
 | 
					#include <QtGlobal>
 | 
				
			||||||
 | 
					#include <QRandomGenerator>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace SWGSDRangel {
 | 
					namespace SWGSDRangel {
 | 
				
			||||||
@ -53,7 +54,7 @@ void SWGHttpRequestInput::add_file(QString variable_name, QString local_filename
 | 
				
			|||||||
SWGHttpRequestWorker::SWGHttpRequestWorker(QObject *parent)
 | 
					SWGHttpRequestWorker::SWGHttpRequestWorker(QObject *parent)
 | 
				
			||||||
    : QObject(parent), manager(nullptr)
 | 
					    : QObject(parent), manager(nullptr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    qsrand(QDateTime::currentDateTime().toTime_t());
 | 
					    QRandomGenerator::global()->seed(QDateTime::currentDateTime().toTime_t());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    manager = new QNetworkAccessManager(this);
 | 
					    manager = new QNetworkAccessManager(this);
 | 
				
			||||||
    connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(on_manager_finished(QNetworkReply*)));
 | 
					    connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(on_manager_finished(QNetworkReply*)));
 | 
				
			||||||
@ -143,12 +144,12 @@ void SWGHttpRequestWorker::execute(SWGHttpRequestInput *input) {
 | 
				
			|||||||
            isFormData = true;
 | 
					            isFormData = true;
 | 
				
			||||||
            foreach (QString key, input->vars.keys()) {
 | 
					            foreach (QString key, input->vars.keys()) {
 | 
				
			||||||
                if (!first) {
 | 
					                if (!first) {
 | 
				
			||||||
                    request_content.append("&");
 | 
					                    request_content.append('&');
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                first = false;
 | 
					                first = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                request_content.append(QUrl::toPercentEncoding(key));
 | 
					                request_content.append(QUrl::toPercentEncoding(key));
 | 
				
			||||||
                request_content.append("=");
 | 
					                request_content.append('=');
 | 
				
			||||||
                request_content.append(QUrl::toPercentEncoding(input->vars.value(key)));
 | 
					                request_content.append(QUrl::toPercentEncoding(input->vars.value(key)));
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -163,30 +164,30 @@ void SWGHttpRequestWorker::execute(SWGHttpRequestInput *input) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        boundary = "__-----------------------"
 | 
					        boundary = "__-----------------------"
 | 
				
			||||||
            + QString::number(QDateTime::currentDateTime().toTime_t())
 | 
					            + QString::number(QDateTime::currentDateTime().toTime_t())
 | 
				
			||||||
            + QString::number(qrand());
 | 
					            + QString::number(QRandomGenerator::global()->generate());
 | 
				
			||||||
        QString boundary_delimiter = "--";
 | 
					        QString boundary_delimiter = "--";
 | 
				
			||||||
        QString new_line = "\r\n";
 | 
					        QString new_line = "\r\n";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // add variables
 | 
					        // add variables
 | 
				
			||||||
        foreach (QString key, input->vars.keys()) {
 | 
					        foreach (QString key, input->vars.keys()) {
 | 
				
			||||||
            // add boundary
 | 
					            // add boundary
 | 
				
			||||||
            request_content.append(boundary_delimiter);
 | 
					            request_content.append(boundary_delimiter.toUtf8());
 | 
				
			||||||
            request_content.append(boundary);
 | 
					            request_content.append(boundary.toUtf8());
 | 
				
			||||||
            request_content.append(new_line);
 | 
					            request_content.append(new_line.toUtf8());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // add header
 | 
					            // add header
 | 
				
			||||||
            request_content.append("Content-Disposition: form-data; ");
 | 
					            request_content.append(QString("Content-Disposition: form-data; ").toUtf8());
 | 
				
			||||||
            request_content.append(http_attribute_encode("name", key));
 | 
					            request_content.append(http_attribute_encode("name", key).toUtf8());
 | 
				
			||||||
            request_content.append(new_line);
 | 
					            request_content.append(new_line.toUtf8());
 | 
				
			||||||
            request_content.append("Content-Type: text/plain");
 | 
					            request_content.append(QString("Content-Type: text/plain").toUtf8());
 | 
				
			||||||
            request_content.append(new_line);
 | 
					            request_content.append(new_line.toUtf8());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // add header to body splitter
 | 
					            // add header to body splitter
 | 
				
			||||||
            request_content.append(new_line);
 | 
					            request_content.append(new_line.toUtf8());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // add variable content
 | 
					            // add variable content
 | 
				
			||||||
            request_content.append(input->vars.value(key));
 | 
					            request_content.append((input->vars.value(key)).toUtf8());
 | 
				
			||||||
            request_content.append(new_line);
 | 
					            request_content.append(new_line.toUtf8());
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // add files
 | 
					        // add files
 | 
				
			||||||
@ -218,40 +219,41 @@ void SWGHttpRequestWorker::execute(SWGHttpRequestInput *input) {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // add boundary
 | 
					            // add boundary
 | 
				
			||||||
            request_content.append(boundary_delimiter);
 | 
					            request_content.append(boundary_delimiter.toUtf8());
 | 
				
			||||||
            request_content.append(boundary);
 | 
					            request_content.append(boundary.toUtf8());
 | 
				
			||||||
            request_content.append(new_line);
 | 
					            request_content.append(new_line.toUtf8());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // add header
 | 
					            // add header
 | 
				
			||||||
            request_content.append(QString("Content-Disposition: form-data; %1; %2").arg(
 | 
					            QString s = QString("Content-Disposition: form-data; %1; %2").arg(
 | 
				
			||||||
                http_attribute_encode("name", file_info->variable_name),
 | 
					                http_attribute_encode("name", file_info->variable_name),
 | 
				
			||||||
                http_attribute_encode("filename", file_info->request_filename)
 | 
					                http_attribute_encode("filename", file_info->request_filename)
 | 
				
			||||||
            ));
 | 
					            );
 | 
				
			||||||
            request_content.append(new_line);
 | 
					            request_content.append(s.toUtf8());
 | 
				
			||||||
 | 
					            request_content.append(new_line.toUtf8());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (file_info->mime_type != nullptr && !file_info->mime_type.isEmpty()) {
 | 
					            if (file_info->mime_type != nullptr && !file_info->mime_type.isEmpty()) {
 | 
				
			||||||
                request_content.append("Content-Type: ");
 | 
					                request_content.append(QString("Content-Type: ").toUtf8());
 | 
				
			||||||
                request_content.append(file_info->mime_type);
 | 
					                request_content.append((file_info->mime_type).toUtf8());
 | 
				
			||||||
                request_content.append(new_line);
 | 
					                request_content.append(new_line.toUtf8());
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            request_content.append("Content-Transfer-Encoding: binary");
 | 
					            request_content.append(QString("Content-Transfer-Encoding: binary").toUtf8());
 | 
				
			||||||
            request_content.append(new_line);
 | 
					            request_content.append(new_line.toUtf8());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // add header to body splitter
 | 
					            // add header to body splitter
 | 
				
			||||||
            request_content.append(new_line);
 | 
					            request_content.append(new_line.toUtf8());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // add file content
 | 
					            // add file content
 | 
				
			||||||
            request_content.append(file.readAll());
 | 
					            request_content.append(file.readAll());
 | 
				
			||||||
            request_content.append(new_line);
 | 
					            request_content.append(new_line.toUtf8());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            file.close();
 | 
					            file.close();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // add end of body
 | 
					        // add end of body
 | 
				
			||||||
        request_content.append(boundary_delimiter);
 | 
					        request_content.append(boundary_delimiter.toUtf8());
 | 
				
			||||||
        request_content.append(boundary);
 | 
					        request_content.append(boundary.toUtf8());
 | 
				
			||||||
        request_content.append(boundary_delimiter);
 | 
					        request_content.append(boundary_delimiter.toUtf8());
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if(input->request_body.size() > 0) {
 | 
					    if(input->request_body.size() > 0) {
 | 
				
			||||||
 | 
				
			|||||||
@ -145,7 +145,7 @@ SWGInstanceApi::instanceAMBEDevicesPatch(SWGAMBEDevices& body) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -200,7 +200,7 @@ SWGInstanceApi::instanceAMBEDevicesPut(SWGAMBEDevices& body) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -411,7 +411,7 @@ SWGInstanceApi::instanceAudioInputDelete(SWGAudioInputDevice& body) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -466,7 +466,7 @@ SWGInstanceApi::instanceAudioInputPatch(SWGAudioInputDevice& body) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -573,7 +573,7 @@ SWGInstanceApi::instanceAudioOutputDelete(SWGAudioOutputDevice& body) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -628,7 +628,7 @@ SWGInstanceApi::instanceAudioOutputPatch(SWGAudioOutputDevice& body) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -795,7 +795,7 @@ SWGInstanceApi::instanceConfigPatch(SWGInstanceConfigResponse& body) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -850,7 +850,7 @@ SWGInstanceApi::instanceConfigPut(SWGInstanceConfigResponse& body) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1069,7 +1069,7 @@ SWGInstanceApi::instanceFeaturePresetDelete(SWGFeaturePresetIdentifier& body) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1340,7 +1340,7 @@ SWGInstanceApi::instanceLimeRFEConfigPut(SWGLimeRFESettings& body) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1455,7 +1455,7 @@ SWGInstanceApi::instanceLimeRFERunPut(SWGLimeRFESettings& body) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1614,7 +1614,7 @@ SWGInstanceApi::instanceLocationPut(SWGLocationInformation& body) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1721,7 +1721,7 @@ SWGInstanceApi::instanceLoggingPut(SWGLoggingInfo& body) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1776,7 +1776,7 @@ SWGInstanceApi::instancePresetDelete(SWGPresetIdentifier& body) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1831,7 +1831,7 @@ SWGInstanceApi::instancePresetFilePost(SWGPresetExport& body) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1886,7 +1886,7 @@ SWGInstanceApi::instancePresetFilePut(SWGPresetImport& body) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1993,7 +1993,7 @@ SWGInstanceApi::instancePresetPatch(SWGPresetTransfer& body) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -2048,7 +2048,7 @@ SWGInstanceApi::instancePresetPost(SWGPresetTransfer& body) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -2103,7 +2103,7 @@ SWGInstanceApi::instancePresetPut(SWGPresetTransfer& body) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QString output = body.asJson();
 | 
					    QString output = body.asJson();
 | 
				
			||||||
    input.request_body.append(output);
 | 
					    input.request_body.append(output.toUtf8());
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user