System Interface Guide
This guide provides an overview of the system's web interface, including how to query for data and send commands to the system. The system's web interface allows you to interact with the system remotely, providing telemetry data and control over various system functions.
There are two access levels for all the API endpoints and commands:
- READONLY_WEB_USER Has access to basic commands but not certain restricted advanced commands
- ADMIN_WEB_USER Full access to the system and all its various commands and functions
Querying For Data
To retrieve telemetry data from the system's web UI, you can query the Telemetry Endpoints. The system will return a specific JSON payload from the given URL. Below is an example of how to make the request using both curl and Python.
Using cURLYou can use curl to send a request with Digest Authentication and bypass SSL certificate checks. The command below retrieves the telemetry data:
JSON=$(curl -k --digest -u admin:nextmove https://192.168.1.222/positionStatus.json)
echo $JSON
This will store the JSON response in the JSON variable and then print it to the console.
Using Python
If you prefer to perform the same request in Python, you can use the requests library with Digest Authentication. Here's how you can do it:
import requests
from requests.auth import HTTPDigestAuth
json = None
response = requests.get("https://192.168.1.222/positionStatus.json", auth=HTTPDigestAuth("admin", "nextmove"), verify=False)
if response.status_code == 200:
json = response.json()
print(json)
This Python code does the same as the curl command, returning and printing the JSON response from the endpoint. The complete list of endpoints you can pull telemetry from are as follows:
| JSON endpoint URL | Description |
| positionStatus.json | Provides real-time status information about the current state of the device, including position / velocity data in various coorindate systems, compassing data, radio and motor status, along with various track state information. |
| GPSAPStatus.json | Returns the status of the GPS satellite connection, and fix status, then the autopeak settings for the current scan and peak configuration. |
| update_settings.json | Endpoint to update various system or device settings. It typically contains key-value pairs for configuration parameters. |
| settings.json | Retrieves the current system or device settings. This includes configuration details such as user preferences, network settings, and operational modes. |
| stored_locations.json | Provides a list of locations that have been previously stored, including their coordinates and relevant metadata. |
| list_track.json | Returns the names of all the stored list tracks currently in the system |
| Satellite_Data.json | Returns an array of all the stored satellite ephemerous data in the system broken out into their components |
| autoPeakSettings.json | Endpoint that retrieves the current autopeak settings, but specifically the ones related to radio connectivity such as SNMP or IP settings. |
Sending Commands
All commands are sent to the endpoint parse_post.json as POST requests with the JSON payloads documented below under API Endpoints and Commands. Some commands require that the user type be ADMIN_WEB_USER, and some of them can be sent as a READONLY_WEB_USER. The default admin nextmove user is already an admin. Using cURL You can use curl to send a POST request with Digest Authentication, bypassing SSL certificate checks. The command below sends a simple command to the endpoint:
curl -k --digest -u admin:nextmove -H "Content-Type: application/json" -X POST -d '{"goto_stow": true}' https://192.168.1.222/parse_post.json
Using Python
You can perform the same POST request in Python using the requests library. Here’s how to do it:
import requests
from requests.auth import HTTPDigestAuth
payload = {"goto_stow": True}
response = requests.post("https://192.168.1.222/parse_post.json", json=payload, auth=HTTPDigestAuth("admin", "nextmove"), verify=False)
if response.status_code == 200:
print("successfully sent stow command")
API Endpoints and Commands
Basic Movements
stop
- Description:
- Stops the current operation of the system.
- Input:
- No input is required; it simply stops the system.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "stop": "boolean" }
goto_stow
- Description:
- Sends the system to the stow position.
- Input:
- No input is required; it simply commands the system to stow.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "goto_stow": "boolean" }
set_ped_target
- Description:
- Sets the pedestal axis target position.
- Input:
- JSON object specifying Az, El, or Ux target values.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "set_ped_target": { "Az": "float", // e.g., 46.23 (absolute pedestal position in degrees) "El": "float", "Ux": "float" } }
set_geo_target
- Description:
- Sets the geodetic target position for the pedestal.
- Input:
- JSON object specifying Az, El, or Ux geodetic values.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "set_geo_target": { "Az": "float", // e.g., 324.3 (absolute geodedic position in degrees) "El": "float", "Ux": "float" } }
set_lat_lng
- Description:
- Sets the latitude and longitude coordinates for the target.
- Input:
- JSON object specifying lat, lng, and altitude values.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "set_lat_lng": { "lat": "float", // e.g., 34.5678 (in degrees) "lng": "float", "alt": "float" // e.g., 1500.0 (in meters) } }
set_slot
- Description:
- Sets the current slot for the system.
- Input:
- JSON object specifying the slot number.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "set_slot": { "slot": "float" // e.g., (-42.5 is 42.5W) } }
perform_step
- Description:
- Performs a step movement based on azimuth (Az), elevation (El), or user-defined (Ux) values.
- Input:
- JSON object specifying Az, El, or Ux step adjustments.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "perform_step": { "ped_geo": "ped" // ("ped / "geo" are the valid options) "Az": "float", // e.g., 0.1234 (incremental step in degrees) "El": "float", // e.g., -0.5678 (incremental step in degrees) "Ux": "float" } }
set_slew
- Description:
- Sets the slew speed and direction for the system.
- Input:
- JSON object specifying slew commands.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "set_slew": { "Az": "float", // e.g., 1.0 (slew speed in degrees per second) "El": "float", // e.g., -2.5 (slew speed in degrees per second) "Ux": "float" } }
set_speed
- Description:
- Sets the movement speed for the system in azimuth, elevation, or user-defined axes.
- Input:
- JSON object specifying speed values for each axis.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "set_speed": { "Az": "int", // e.g., (10 - 100 as a percentage of the max pwm) "El": "int", "Ux": "int", "persist_speed": "boolean" // (Save this speed in the database to persist across reboots) } }
Track & Ephemerus
enter_sun_track
- Description:
- Activates the sun tracking mode of the system.
- Input:
- No input is required.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "enter_sun_track": "boolean" }
add_tle_elements
- Description:
- Adds TLE (Two-Line Element) Ephem data for tracking satellites.
- Input:
- JSON object specifying TLE headers, strings, and formatting options.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "tle_data": { "delete_before_upload": "boolean", // e.g., true "format": "int", // e.g., (2 = Two line element set, 3 = Three line element sets) "update_if_newer": "boolean", "tle_headers": "array", // ["O3B MPOWER F1", "O3B MPOWER F2"] "tle_strings": "array" // ["1 54755U 22174A 24262.27452340 -.00000018 00000+0 00000+0 0 99932 54755 0.0547 345.5480 0006583 187.0962 157.7353 5.00113373 33491","1 54756U 22174B 24263.22370837 -.00000019 00000+0 00000+0 0 99912 54756 0.0508 344.0761 0005519 197.1668 178.7583 5.00113863 33614"] } }
set_track_target
- Description:
- Sets the tracking target by providing target ID and optionally TLE data.
- Input:
- JSON object specifying the target ID and TLE elements.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "progTrackTgt": { "target_id": "int", // NORAD ID of the Ephem data, e.g., 12345 "tle_headers": "array", // Optional: ["O3B MPOWER F1", "O3B MPOWER F2"] "tle_strings": "array" // Optional: ["1 54755U 22174A 24262.27452340 -.00000018 00000+0 00000+0 0 99932 54755 0.0547 345.5480 0006583 187.0962 157.7353 5.00113373 33491","1 54756U 22174B 24263.22370837 -.00000019 00000+0 00000+0 0 99912 54756 0.0508 344.0761 0005519 197.1668 178.7583 5.00113863 33614"] } }
set_track_object_name
- Description:
- Sets the name of the object being tracked.
- Input:
- JSON object specifying the NORAD ID and new name of the tracked object.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "trackObjName": { "norad_id": "int", // NORAD ID of the Ephem data, e.g., 12345 "new_name": "string" // e.g., "NewObjectName" to update the display name } }
constellation_list
- Description:
- Loads a constellation list for the system.
- Input:
- JSON object specifying the constellation parameters.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "constellation_list": [ "norad_id": "int", // NORAD ID of TLE already in the system "priority": "int" // What priority level to set this NORAD ID ] }
goto_constellation_mode
- Description:
- Sets the system to constellation tracking mode.
- Input:
- No input required.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "goto_constellation_mode": {} }
delete_satellite
- Description:
- Deletes a satellite ephemerous record by NORAD ID.
- Input:
- JSON object specifying the NORAD ID.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "delete_sat": { "norad_id": "int" // NORAD ID of the satellite in the database } }
run_list_track
- Description:
- Runs a pre-configured list track.
- Input:
- JSON object specifying the name of the list track.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "run_list_track": { "name": "string" // e.g., "my_list_track" } }
remove_list_track
- Description:
- Removes a pre-configured list track.
- Input:
- JSON object specifying the name of the list track to be removed.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "remove_list_track": { "name": "string" // e.g., "my_list_track" } }
rename_list_track
- Description:
- Renames an existing list track.
- Input:
- JSON object specifying the old and new names of the list track.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "rename_list_track": { "old_name": "string", // e.g., "old_track_name" "new_name": "string" // e.g., "new_track_name" } }
set_proximity_track
- Description:
- Sets the proximity tracking mode for the system.
- Input:
- state to point at the closest stored location or not
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "set_proximity_track": { "state": "boolean" // e.g., (true = point to nearest LLA stored location every 10 seconds, false = disable) } }
set_peer_track
- Description:
- Sets peer tracking mode.
- Input:
- state, points to connected peer system or not
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "set_peer_track": { "state": "boolean" // e.g., (true = point towards registered peer system, false = disable pointing towards registered peer system) } }
update_track_vars
- Description:
- Updates the Ephem tracking variables (e.g., azimuth/elevation offsets, time offset).
- Input:
- JSON object specifying the tracking variables.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "trackVars": { "az_offset": "float", // e.g., 0.1234 (in degrees) "el_offset": "float", "time_offset": "float", "entry_el": "float", // (entry elevation) "exit_el": "float" // (exit elevation) } }
Stored Locations
store_location
- Description:
- Stores a location in the system's memory.
- Input:
- JSON object specifying the location's parameters (Az, El, Ux, etc.).
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "store_location": { "idx": "int", // Location database index (null means ADD NEW, integer index means UPDATE) "type": "int", // Location type (0 = LLA, 1 = ped, 2 = geo, 3 = sat slot) "name": "string", // Name of the location (50 chars max) "az_lat": "float", // Azimuth or Latitude value "el_lng": "float", // Elevation or Longitude value "ux_alt": "float", // Polarization or Altitude value "default": "boolean" // Whether this is the default location (LLA only, moves on startup) } }
set_default_stored_location
- Description:
- Sets the default stored location for the system.
- Input:
- JSON object specifying the index of the location.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "set_default_stored_location": { "idx": "int" // Location index (LLA only, moves on startup) } }
delete_location
- Description:
- Deletes a stored location from the system.
- Input:
- JSON object specifying the index of the location.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "delete_location": { "idx": "int" // Location index to delete } }
Sensor Calibration
compass_cal
- Description:
- Initiates a compass calibration process.
- Input:
- JSON object specifying the calibration options (start, oneshot, etc.).
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "comp_cal": { "start": "int", // e.g., 1 for starting the calibration "oneshot": "int", // e.g., 1 for one shot calibration "apply_trk_off_to_cmp_ovr": "boolean" // e.g., true } }
accel_calibration
- Description:
- Initiates the accelerometer calibration process.
- Input:
- No input required.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "accel_calibration": {} }
gyro_calibrate
- Description:
- Initiates the gyroscope calibration process.
- Input:
- No input required.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "gyro_calibrate": {} }
Autopeak / Radio
update_ap_state
- Description:
- Updates the state of the auto-peak system.
- Input:
- JSON object specifying the AP state and offset clearing options.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "ap_state": { "apState": "int", // AP State to set the system into (0 = Reset, 1 = Scan & peak, 2 = Stop, 3 = Pause, 4 = Restart, 5 = Peak Only, 6 = Scan Only) "clear_offsets": "boolean" // Clear track offsets } }
update_ap_settings
- Description:
- Updates the settings for the auto-peak system, including SNMP configuration, scan, peak, and tracking parameters.
- Input:
- JSON object specifying various AP settings like SNMP configuration, scan width, peak width, signal thresholds, and more.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "ap_settings": { "SNMP_Radio_Config": [ { "idx": "int", // e.g., 1 (index of the SNMP radio config) "mfg_id": "int", // e.g., 4 (manufacturer ID) "OID_String": "string", // e.g., "1.3.6.1.4.1.17713.9.12.12.0" (SNMP OID string) "period": "float", // e.g., 0.1 (polling period in seconds) "divisor": "int", // e.g., 10 (divisor for the result) "oid_function": "int", // e.g., 0 (SNMP function type) "one_time": "boolean" // e.g., false (whether this is a one-time SNMP operation) } ], "SNMP_OID_Function": [ { "idx": "int", // e.g., -1 (function index) "name": "string", // e.g., "None" (function name) "deletable": "boolean" // e.g., false (whether this function can be deleted) } ], "radio": { "connType": "int", // e.g., 1 (connection type 0 = Analog, 1 = SNMP) "RadioMfg": "int", // e.g., 11 (radio manufacturer ID Should always be 13 = Custom Receiver) "RadioIP": "string", // e.g., "192.168.1.55" (radio IP address) "communityStr": "string", // e.g., "public" (SNMP community string) "SNMPVer": "int", // e.g., 0 (SNMP version 0 = SNMPv1, 1 = SNMPv2c, 2 = SNMPv3) "analog_slope": "float", // e.g., 1.0 (analog slope if conn type is Analog) "analog_intercept": "float" // e.g., 1.0 (analog intercept if conn type is Analog) }, "scanDwell": "float", // e.g., 1 (scan dwell time in seconds) "Scan_Step_Az": "float", // e.g., 0.5 (scan step in azimuth, in degrees) "Scan_Step_El": "float", // e.g., 0.5 (scan step in elevation, in degrees) "Peak_Step_Az": "float", // e.g., 0.1 (peak step in azimuth, in degrees) "Peak_Step_El": "float", // e.g., 0.1 (peak step in elevation, in degrees) "ScanWidth": "float", // e.g., 50.0 (scan width, in degrees) "PeakWidth": "float", // e.g., 1.0 (peak width, in degrees) "TrackType": "int", // e.g., 1 (track type) "PeakType": "int", // e.g., 2 (peak type) "DwellTime": "float", // e.g., 1 (peak dwell time in seconds) "signal_lock_lvl": "float", // e.g., -999.9 (signal lock level in RSSI Units) "tr_enable": "boolean", // e.g., false (whether threshold repeak is enabled) "tr_sig_start": "float", // e.g., -70.0 (signal start threshold in RSSI Units) "tr_sig_stop": "float", // e.g., -100.0 (signal stop threshold in RSSI Units) "tr_side": "int", // e.g., 1 (tracking side) "tr_interval": "int", // e.g., 180 (tracking interval in seconds) "Raster_Height": "float", // e.g., 11.2 (raster height in degrees) "Raster_Stop": "float", // e.g., 14.0 (raster stop in degrees) "min_rssi": "int", // e.g., 0 (minimum RSSI level) "max_distance": "int", // e.g., 0 (maximum distance) "beam_width": "float", // e.g., 10.0 (beam width in degrees) "rssi_drop_thresh": "float", // e.g., -4.0 (RSSI drop threshold in dBm) "min_rssi_step": "float", // e.g., 2.0 (minimum RSSI step in dBm) "SideLobeCheck": "boolean", // e.g., false (whether side lobe check is enabled) "continuous_scan": "boolean", // e.g., false (whether continuous scanning is enabled) "max_runtime": "float", // e.g., 54000 (maximum runtime in seconds) "radius": "float", // e.g., 2.0 (radius in meters) "num_points": "int", // e.g., 7 (number of points for scanning) "track_speed": "float", // e.g., 1.0 (tracking speed in degrees per second) "scan_speed": "float", // e.g., 0.0 (scanning speed in degrees per second) "scan_stop_threshold": "null" // Scan stop threshold (stop scan on threshold in RSSI units) } }
reset_radio
- Description:
- Sends a reset command to the radio system.
- Input:
- JSON object specifying whether to reset the radio.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "reset_radio": { "reset": "boolean" // e.g., true (reset the radio) } }
set_rssi
- Description:
- Sets the RSSI (Received Signal Strength Indicator) value and lock state for the system.
- Input:
- JSON object specifying RSSI value and lock state.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "set_rssi": { "value": "float", // e.g., -70.5 (dBm) "lock": "int" // e.g., 1 (modem lock locked) or 0 (modem lock unlocked) } }
User Management
add_user
- Description:
- Adds a new user to the system with a specified username, hash, and authorization level.
- Input:
- JSON object specifying the username, password hash, and authorization level.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "add_user": { "user_name": "string", // e.g., "new_user" "hash": "string", // e.g., "5f4dcc3b5aa765d61d8327deb882cf99" (MD5 hash) "auth_level": "int" // e.g., 1 (READONLY_WEB_USER) } }
delete_user
- Description:
- Deletes a user from the system by providing the user ID.
- Input:
- JSON object specifying the user ID.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "delete_user": { "userID": "int" // e.g., 1001 } }
update_user_password
- Description:
- Updates the user's password by providing the user ID and hash.
- Input:
- JSON object specifying the user ID and password hash.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "update_password": { "user_id": "int", // e.g., 1001 "hash": "string" // e.g., "5f4dcc3b5aa765d61d8327deb882cf99" (MD5 hash) } }
validatePassword
- Description:
- Validates the user's password by providing the user ID and hash.
- Input:
- JSON object specifying the user ID and password hash.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "validatePassword": { "user_id": "int", // e.g., 1001 "hash": "string" // e.g., "5f4dcc3b5aa765d61d8327deb882cf99" (MD5 hash) } }
update_web_user_authorization
- Description:
- Updates the authorization level of a web user.
- Input:
- JSON object specifying the user index and new authorization level.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "update_web_user_authorization": { "idx": "int", // User index "authorization": "int" // New authorization level (e.g., 0 for READONLY, 1 for ADMIN) } }
Geo Configuration
update_aux_axis
- Description:
- Updates the auxiliary axis configuration.
- Input:
- JSON object specifying auxiliary axis settings (type, enable state, etc.).
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "update_aux_axis": { "type": "int", // e.g., (0 = None, 1 = NMT Polarization, 2 = Cross Elevation, 3 = MPSP Pol Idx, 4 = Custom Polarization) "aux_en": "boolean" // e.g., true (enable auxiliary axis) } }
gps_override
- Description:
- Overrides the GPS coordinates of the system.
- Input:
- JSON object specifying lat, lng, alt, and magnetic declination.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "gps_override": { "lat": "float", // e.g., 34.5678 (latitude in degrees, null disables) "lng": "float", // e.g., -123.456 (longitude in degrees, null disables) "alt": "float", // e.g., 150.0 (altitude in meters, null disables) "mag_dec": "float" // e.g., -13.5 (magnetic declination in degrees, null disables) } }
comp_override
- Description:
- Overrides the compass heading or enables one-shot compass adjustments.
- Input:
- JSON object specifying compass override options.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "comp_override": { "enabled": "boolean", // e.g., true "override_angle": "float", // e.g., 123.45 (degrees relative to ped 0) "one_shot_on_geo_move": "boolean" // e.g., true (compass is oneshotted if not overriden before first geo move) } }
set_heading_source
- Description:
- Sets the heading source for the system.
- Input:
- JSON object specifying the heading source.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "set_heading_source": { "heading_source": "int" // e.g., (1 = magnotometer, 2 = on-axis GHU, 3 = off-axis GHU, 3 = AIS) } }
set_ghu_mount_offset
- Description:
- Sets the mount offset for the GHU (Ground Handling Unit).
- Input:
- JSON object specifying the GHU mount offset.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "set_ghu_mount_offset": { "ghu_mount_offset": "float" // e.g., (0 degrees, or 90 degrees) } }
pitch_and_roll
- Description:
- Sets pitch, roll, and deadband values for the attitude control system.
- Input:
- JSON object specifying pitch, roll, and deadband values.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "pitch_roll": { "clear": "boolean", // e.g., true (clears pitch/roll overrides) "pitch": "float", // e.g., 0.1234 (in degreees) "roll": "float", "yaw": "float", "pitch_dead_band": "float", "roll_dead_band": "float", "yaw_dead_band": "float", "oneshot": "boolean", // One shot the IMU "enable": "boolean", // Enable pitch and roll compensation "stabilize": "boolean", // Active pitch and roll stabalization from IMU "stabilize_oneshot": "boolean" // Oneshot the IMU for fixed platform (fixed angular plane) } }
update_limits
- Description:
- Updates the limits for azimuth, elevation, and user-defined axes.
- Input:
- JSON object specifying the minimum and maximum limits for each axis.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "limits": { "az-min": "float", // e.g., -180.0 degrees "az-max": "float", // e.g., 220.0 degrees "el-min": "float", "el-max": "float", "ux-min": "float", "ux-max": "float" } }
update_stow_angles
- Description:
- Updates the stow angles for azimuth, elevation, and user-defined axes.
- Input:
- JSON object specifying the stow angles.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "stow_angles": { "az": "float", // e.g., 45 (in degrees) "el": "float", "ux": "float" } }
set_geo_offset
- Description:
- Sets geodetic offsets for the system’s movement in azimuth, elevation, and UX axes.
- Input:
- JSON object specifying the offsets in degrees.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "set_geo_offset": { "Az": "float", // e.g., 0.1234 (azimuth offset in degrees) "El": "float", // e.g., -0.5678 (elevation offset in degrees) "Ux": "float" // e.g., 0.9876 (polarization offset in degrees) } }
set_anemometer_threshold
- Description:
- Sets the wind speed threshold for the anemometer.
- Input:
- JSON object specifying the maximum wind speed.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "set_anemometer_threshold": { "max_wind_speed": "float" // e.g., 15.0 (maximum wind speed in m/s) } }
set_ais_config
- Description:
- Sets the AIS (Automatic Identification System) configuration parameters.
- Input:
- JSON object specifying AIS configuration details.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "set_ais_config": { "ip_addr": "string", // e.g., "192.168.1.100" (AIS system IP address) "port": "int", // e.g., 8080 (AIS system port) "mmsi": "int" // e.g., 123456789 (AIS system MMSI number) } }
elevation_payload_correction
- Description:
- Sets the elevation payload correction values.
- Input:
- JSON object specifying the elevation correction angles and offsets.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "elevation_payload_correction": { "angles": { "10": "float", // (10° means 0° offset, also same value set for actual 0°) "20": "float", // (20° means 0° offset) "30": "float", // (30° means 0° offset) "40": "float", // (40° means 0° offset) "50": "float", // (50° means 0° offset) "60": "float", // (60° means 0° offset) "70": "float", // (70° means 0° offset) "80": "float" // (80° means 0° offset, (90° always is set to 0° of offset)) } } }
update_pid_gains
- Description:
- Updates the PID (Proportional-Integral-Derivative) gains for system control.
- Input:
- JSON object specifying PID gains for different axes.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "update_pid_gains": { 0: { (Azimuth index is 0) "posP": "float", // e.g., 0.1 (Proportional gain for azimuth) "posI": "float", // e.g., 0.05 (Integral gain for azimuth) "velD": "float", // e.g., 0.01 (Derivative gain for azimuth (velocity loop is velocity derivative, position loop is position derivative) "velP": "float", // e.g., 0.1 (Proportional gain for velocity azimuth) "velI": "float", // e.g., 0.05 (Integral gain for velocity azimuth) "accel_scale": "float", // e.g., 0.5 (Scale factor to apply from (0.1 to 1) to acceleration (can only be reduced)) "max_vel_scale": "float" // e.g., 0.75 (Scale factor to apply from (0.1 to 1) to max velocity (can only be reduced)) }, 1: { (Elevation index is 1) "posP": "float", // e.g., 0.1 (Proportional gain for elevation) "posI": "float", // e.g., 0.05 (Integral gain for elevation) "velD": "float", // e.g., 0.01 (Derivative gain for elevation (velocity loop is velocity derivative, position loop is position derivative)) "velP": "float", // e.g., 0.1 (Proportional gain for elevation) "velI": "float", // e.g., 0.05 (Integral gain for elevation) "accel_scale": "float", // e.g., 0.5 (Scale factor to apply from (0.1 to 1) to acceleration (can only be reduced)) "max_vel_scale": "float" // e.g., 0.75 (Scale factor to apply from (0.1 to 1) to max velocity (can only be reduced)) } } }
service_settings
- Description:
- Configures service-related settings for the system.
- Input:
- JSON object specifying the service settings.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "service_settings": { "mapping_service": "int" // e.g., 1 (service type ID) } }
System Configuration
set_unit_name
- Description:
- Sets the unit's name and part number.
- Input:
- JSON object specifying the system name and part number.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "unitName": { "text": "string" // e.g., "Unit A"" } }
set_ip_settings
- Description:
- Configures the system's IP settings (IP address, subnet mask, gateway, etc.).
- Input:
- JSON object specifying the IP address, subnet mask, gateway, and other settings.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "ipSettings": { "ipAddr": "string", // e.g., IP Address: "192.168.1.100" "snMask": "string", // e.g., Subnet Mask: "255.255.255.0" "gwAddr": "string", // e.g., Gateway: "192.168.1.1" "nsAddr": "string", // e.g., Nameserver: "8.8.8.8" "time_source": "int" // e.g., ( 1 = Manual, 2 = GPS, 3 = NTP) "ntp_server": "string", // e.g., "ntp.example.com" (optional: if time_source is NTP) "manual_time": { // (optional: if time_source is Manual) "year": "int", "month": "int", "day": "int", "hour": "int", "minute": "int", "second": "int" } } }
set_serial_settings
- Description:
- Configures the serial settings for the system (address, baud rate).
- Input:
- JSON object specifying the serial address and baud rate.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "serialSettings": { "addr": "int", // e.g., (0 through 31) "baud": "int" // e.g., (2400, 4800, 9600, 19200, 38400, 57600, 115200) } }
snmp_config
- Description:
- Configures SNMP settings for the system.
- Input:
- JSON object specifying SNMP security settings and credentials.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "snmp_config": { "security_name": "string", // e.g., "user_security" "auth_key": "string", // e.g., "auth_key_value" "priv_key": "string", // e.g., "priv_key_value" "idx": "int", // e.g., 1 "security_role": "int" // e.g., 1 (LVL_ADMIN) } }
set_gpio
- Description:
- Sets the value for a specific GPIO pin.
- Input:
- JSON object specifying the GPIO index and value.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "set_gpio": { "which": "int", // e.g., 1 (GPIO index) "val": "boolean" // e.g., true (high) or false (low) } }
setup_gpio
- Description:
- Configures a specific GPIO pin with an index, active state, and name.
- Input:
- JSON object specifying GPIO configuration details.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "setup_gpio": { "idx": "int", // e.g., 1 (GPIO index num) "active_state": "int", // e.g., (0 = Active High, 1 = Active Low) "name": "string" // e.g., "GPIO1" } }
aux_set_zero
- Description:
- Sets the auxiliary axis at the current position to zero.
- Input:
- No input required.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "aux_set_zero": {} }
reverse_elevation
- Description:
- Reverses the elevation axis direction.
- Input:
- JSON object specifying whether to reverse the elevation.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "reverse_el": { "reverse_el": "boolean" // e.g., true (reverses elevation direction for mounting antenna backwards) } }
elevation_set_mode
- Description:
- Sets the elevation mode of the system 0 to 180 mode has 0 at the horizon, -90 to +90 mode has -90 at the horizon.
- Input:
- JSON object specifying the mode.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "elevation_set_mode": { "mode": "int" // e.g., (1 = 0 to 180 mode, 0 = -90 to +90) } }
obscura_zones
- Description:
- Sets obscuration zones for tracking to avoid certain areas.
- Input:
- JSON object specifying obscuration zone parameters.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "obscura_zones": { "zones": [ { "az_min": "float", // e.g., 0.0 (minimum azimuth in degrees) "az_max": "float", // e.g., 180.0 (maximum azimuth in degrees) "el_min": "float", // e.g., 10.0 (minimum elevation in degrees) "el_max": "float" // e.g., 80.0 (maximum elevation in degrees) } ] } }
set_demo_on_power
- Description:
- Configures the system to enter demo mode on power-up.
- Input:
- JSON object specifying whether demo mode should be enabled.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "set_demo_on_power": { "enable": "boolean" // e.g., true (enable demo mode) } }
goto_demo_mode
- Description:
- Sends the system to demo mode.
- Input:
- No input required.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "goto_demo_mode": {} }
peer_settings
- Description:
- Configures the peer settings for the system.
- Input:
- JSON object specifying the peer settings.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "peer_settings": { "peer_id": "int", // e.g., 101 "peer_ip": "string", // e.g., "192.168.1.101" "peer_port": "int" // e.g., 8080 } }
set_startup_config
- Description:
- Sets the startup configuration, including stow options.
- Input:
- JSON object specifying startup options like stow settings and timeout.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "set_startup_config": { "stow_on_startup_enabled": "boolean", // If true then move to stow position on startup "stow_on_startup_rssi_threshold": "float", // Only move to stow on startup if RSSI below threshold (null for disabled) "stow_on_startup_timeout": "float" // If enabled, how long to wait after startup to move to stow } }
min_track_distance
- Description:
- Sets the minimum radial tracking distance for the system.
- Input:
- JSON object specifying minimum tracking distances.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "min_track_distance": { "dist": "float", // Minimum ground distance to start tracking remote point "el_dist_enable": "boolean", // Enable elevation tracking only after distnace "el_dist": "float" // Minimum ground distance to start elevation tracking } }
reboot
- Description:
- Reboots the system.
- Input:
- No input required.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "reboot": {} }
Rare Functions
clear_error
- Description:
- Clears a specific error from the system's fault log.
- Input:
- JSON object specifying which fault to clear.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "clear_err": { "which_fault": "int" // e.g., 1 (1 = ADC fault, 2 = stall fault, 3 = current fault, 4 = pot fault, 6 = clear all, 7 = encoder overflow) } }
run_install_update_script
- Description:
- Initiates a system update by providing the update script's filename.
- Input:
- JSON object specifying the filename of the update script.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "install_update": { "filename": "string" // e.g., "update_script.sh" (must have been uploaded before it can be installed) } }
perform_phase_detect
- Description:
- Initiates a phase detection process on the system.
- Input:
- No input required.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Payload:
-
{ "perform_phase_detect": {} }
set_hunt_for_stow_mode
- Description:
- Sets the mode to hunt for stow position.
- Input:
- JSON object specifying whether the system should hunt for stow mode.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "set_hunt_for_stow_mode": { "enabled": "boolean" // e.g., true (enable hunt for stow mode) } }
lockout
- Description:
- Enables or disables the system lockout feature.
- Input:
- JSON object specifying whether lockout is enabled.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "lockout": { "enabled": "boolean" // e.g., true (lockout enabled) or false (lockout disabled) } }
reset_positioner
- Description:
- Resets the positioner to its default state.
- Input:
- No input required.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Payload:
-
{ "reset_positioner": {} }
Telemetry Endpoints
positionStatus.json
- Description:
- Returns the current status of the system, including position, velocity, tracking details, motor states, compass data, and more.
- Input:
- No input is required for this endpoint. The response contains detailed information about the system status.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Response:
-
{ "position": { "pedestal": { "Az": "float", // e.g., -18.9181 (current azimuth of the pedestal in degrees) "El": "float", // e.g., -5.0474 (current elevation of the pedestal in degrees) "Ux": "float" // e.g., 0.0 (current UX position of the pedestal) }, "deck": { "Az": "float", // e.g., 341.0819 (azimuth relative to the deck) "El": "float", // e.g., -5.0474 (elevation relative to the deck) "Ux": "float" // e.g., 0.0 (UX position relative to the deck) }, "geo": { "Az": "float", // e.g., 81.0819 (geodetic azimuth) "El": "float", // e.g., -5.0474 (geodetic elevation) "Ux": "float" // e.g., 0.0 (geodetic UX) }, "cord_mode": "int", // e.g., 3 (coordinate mode) "unwrapping": "boolean" // e.g., false (whether unwrapping is active) }, "velocity": { "Az": "float", // e.g., 7.08e-13 (velocity of azimuth in degrees per second) "El": "float", // e.g., -1.80e-14 (velocity of elevation in degrees per second) "Ux": "float" // e.g., 0.0 (velocity of UX) }, "TargetTrack": { "mode": "int", // e.g., 0 (tracking mode) "object_num": "int", // e.g., 0 (target object number) "trackVars": { "az_offset": "float", // e.g., 0.0 (azimuth offset) "el_offset": "float", // e.g., 0.0 (elevation offset) "time_offset": "float", // e.g., 0.0 (time offset) "entry_el": "float", // e.g., 0.0 (entry elevation) "exit_el": "float", // e.g., 0.0 (exit elevation) "los_state": "int" // e.g., 0 (line-of-sight state) }, "lla": { "lat": "float|null", // e.g., null (latitude in degrees) "lon": "float|null", // e.g., null (longitude in degrees) "alt": "float|null" // e.g., null (altitude in meters) }, "list": { "idx": "int|null", // e.g., null (index in the track list) "current": "int|null", // e.g., null (current item in the list) "index": "int|null", // e.g., null (index) "start_time": "float|null", // e.g., null (start time of track) "end_time": "float|null" // e.g., null (end time of track) }, "tle": { "epoch": "float|null", // e.g., null (TLE epoch) "xndt2o": "float|null", // e.g., null (TLE xndt2o value) "xndd6o": "float|null", // e.g., null (TLE xndd6o value) "bstar": "float|null", // e.g., null (TLE bstar value) "xincl": "float|null", // e.g., null (TLE xincl value) "xnodeo": "float|null", // e.g., null (TLE xnodeo value) "eo": "float|null", // e.g., null (TLE eo value) "omegao": "float|null", // e.g., null (TLE omegao value) "xmo": "float|null", // e.g., null (TLE xmo value) "xno": "float|null" // e.g., null (TLE xno value) } }, "radio": { "level": "float", // e.g., 10.3 (radio signal level) "connected": "int" // e.g., 0 (radio connection status) }, "motor": { "Az": { "active": "boolean", // e.g., false (whether the azimuth motor is active) "current": "float", // e.g., 0.0 (motor current in amperes) "duty": "int", // e.g., 0 (motor duty cycle) "stall_count": "int", // e.g., 0 (stall count) "read_fault": "int", // e.g., 0 (fault code) "speed": "float", // e.g., 0.0 (motor speed) "speedlimit": "float", // e.g., 100.0 (motor speed limit) "pot_voltage": "float", // e.g., 2.06 (potentiometer voltage) "runtime": "float" // e.g., 80477.91 (motor runtime in seconds) }, "El": { "active": "boolean", "current": "float", "duty": "int", "stall_count": "int", "read_fault": "int", "speed": "float", "speedlimit": "float", "pot_voltage": "float", "runtime": "float" }, "Ux": { "active": "boolean", "current": "float", "duty": "int", "stall_count": "int", "read_fault": "int", "speed": "float", "speedlimit": "float", "pot_voltage": "float", "runtime": "float" } }, "compass": { "compass_type": "int", // e.g., 1 (compass type) "heading": "float", // e.g., 81.0819 (current heading) "sensor_heading": "float", // e.g., 25.1634 (sensor heading) "mag_heading": "float", // e.g., 39.3634 (magnetic heading) "gps_comp_hdg": "float", // e.g., 0.0 (GPS compass heading) "temperature": "float", // e.g., 44.25 (compass temperature) "raw_sensor": ["float", "float"], // e.g., [0.66, 0.74] (raw sensor values) "compensated_sensor": ["float", "float"], // e.g., [0.16, 0.13] (compensated sensor values) "calibrated": "boolean", // e.g., true (whether the compass is calibrated) "override": "boolean", // e.g., true (whether the compass is overridden) "gps_cmp_connected": "boolean", // e.g., false (whether GPS compass is connected) "cal_needed": "boolean", // e.g., false (whether calibration is needed) "comp_status": "int" // e.g., 0 (compass status) }, "ghu": { "ghu_mount_offset": "float" // e.g., 0.0 (GHU mount offset) }, "ais": { "heading": "float", // e.g., 0.0 (AIS heading) "connected": "boolean", // e.g., false (whether AIS is connected) "last_rcv": "float" // e.g., -1.0 (time since last AIS reception) }, "mode": { "op_mode": "int", // e.g., 1 (operation mode) "coord_mode": "int", // e.g., 3 (coordinate mode) "lockout": "boolean", // e.g., false (whether the system is in lockout mode) "sat_target_norad_id": "int", // e.g., 0 (satellite target NORAD ID) "target_mode": "int", // e.g., 0 (target mode) "timestamp": "int", // e.g., 1728415988 (system timestamp) "interlocks": "int", // e.g., 0 (interlock state) "track_home": ["float", "float", "float"], // e.g., [0.0, 0.0, 0.0] (home tracking positions) "track_offset": ["float", "float", "float"], // e.g., [0.0, 0.0, 0.0] (track offsets) "cmd_pos": ["float", "float", "float"], // e.g., [5.83, -13.99, 0.0] (commanded positions) "phase_detect": "boolean", // e.g., true (whether phase detection is active) "phase_detect_ready": "boolean", // e.g., true (whether phase detection is ready) "has_encoders_used_pots": "boolean" // e.g., false (whether encoders have been used over potentiometers) }, "gpio": { "in": "int", // e.g., 0 (GPIO input state) "out": "int" // e.g., 1 (GPIO output state) }, "windspeed": { "current": "float" // e.g., 0.0 (current wind speed) }, "program_runtime": { "current": "float" // e.g., 1796100.61 (current program runtime in seconds) }, "error_codes": "int", // e.g., 0 (current error code) "system": { "system_time": "float" // e.g., 1728415988.378 (system time in seconds) }, "peer_data": { "peer_connected": "boolean", // e.g., false (whether a peer is connected) "serial_no": "string", // e.g., "" (peer serial number) "model_name": "string", // e.g., "" (peer model name) "latitude": "float", // e.g., 0.0 (peer latitude) "longitude": "float", // e.g., 0.0 (peer longitude) "altitude": "float", // e.g., 0.0 (peer altitude) "heading": "float", // e.g., 0.0 (peer heading) "track_state": "int", // e.g., 0 (peer tracking state) "rssi": "float" // e.g., 0.0 (peer RSSI) }, "error_strings": "string" // e.g., "" (current error messages) }
GPSAPStatus.json
- Description:
- Provides the current status of the GPS and AutoPeak systems, including radio settings, GPS data, attitude, mount orientation, and more.
- Input:
- No input is required for this endpoint. The response contains detailed information about the system's GPS and AutoPeak settings.
- Authorization Level:
- READONLY_WEB_USER
- Example JSON Response:
-
{ "lna": { "power1": "boolean", // e.g., false (LNA power status for channel 1) "power2": "boolean" // e.g., false (LNA power status for channel 2) }, "radio": { "connType": "int", // e.g., 1 (connection type) "RadioMfg": "int", // e.g., 11 (radio manufacturer) "RadioIP": "string", // e.g., "192.168.1.55" (radio IP address) "communityStr": "string", // e.g., "public" (SNMP community string) "SNMPVer": "int", // e.g., 0 (SNMP version) "analog_slope": "float", // e.g., 1.0 (analog slope value) "analog_intercept": "float", // e.g., 1.0 (analog intercept value) "OID": "string", // e.g., "" (OID string) "rssiDiv": "int", // e.g., 0 (RSSI divisor) "linkIdOID": "string", // e.g., "" (Link ID OID) "resetRadioOID": "string", // e.g., "" (Reset Radio OID) "connStateOID": "string", // e.g., "" (Connection State OID) "rssiRate": "float", // e.g., 0.1 (RSSI update rate) "connectStateRate": "float", // e.g., 0.0 (Connection state update rate) "linkIdRate": "float", // e.g., 0.0 (Link ID update rate) "type": "int", // e.g., 11 (radio type) "level": "float", // e.g., 10.3 (signal level) "connected": "int", // e.g., 0 (connection status) "error_codes": "int" // e.g., 0 (radio error codes) }, "SNMP_Data": "object|null", // e.g., null (SNMP data object or null) "GPS": { "GPStype": "int", // e.g., 1 (GPS type) "sensor_lat": "float", // e.g., 42.72665 (sensor latitude) "sensor_lng": "float", // e.g., -71.63319 (sensor longitude) "sensor_alt": "float", // e.g., -32.5 (sensor altitude) "sensor_mag_dec": "float", // e.g., -14.7 (sensor magnetic declination) "lat": "float", // e.g., 14.93525 (latitude) "lng": "float", // e.g., -75.35235 (longitude) "alt": "float", // e.g., 0.0 (altitude) "mag_dec": "float", // e.g., -14.2 (magnetic declination) "lat_ovr": "boolean", // e.g., true (latitude override) "lng_ovr": "boolean", // e.g., true (longitude override) "alt_ovr": "boolean", // e.g., true (altitude override) "mag_dec_ovr": "boolean", // e.g., true (magnetic declination override) "HDOP": "float", // e.g., 0.0 (Horizontal Dilution of Precision) "VDOP": "float", // e.g., 0.0 (Vertical Dilution of Precision) "PDOP": "float", // e.g., 0.0 (Position Dilution of Precision) "quality": "float", // e.g., 0.0 (GPS quality) "connected": "boolean", // e.g., true (GPS connection status) "status": "boolean", // e.g., false (GPS status) "fix_type": "int", // e.g., 1 (GPS fix type) "time": "float", // e.g., 511607.60 (GPS timestamp) "num_sats": "int", // e.g., 2 (number of satellites) "version": "string", // e.g., "4.50" (GPS version) "NMEA_Strings": [ "string", // e.g., "$GPGGA,194740,..." "string", // e.g., "$GPGSA,A,..." "string", // e.g., "$GPRMC,194741,..." ] }, "TargetTrack": { "mode": "int", // e.g., 0 (target track mode) "object_num": "int", // e.g., 0 (target object number) "rise_az": "float", // e.g., 0.0 (rise azimuth in degrees) "rise_el": "float", // e.g., 0.0 (rise elevation in degrees) "rise_time": "float", // e.g., 0.0 (rise time in seconds) "peak_az": "float", // e.g., 0.0 (peak azimuth in degrees) "peak_el": "float", // e.g., 0.0 (peak elevation in degrees) "peak_time": "float", // e.g., 0.0 (peak time in seconds) "set_az": "float", // e.g., 0.0 (set azimuth in degrees) "set_el": "float", // e.g., 0.0 (set elevation in degrees) "set_time": "float" // e.g., 0.0 (set time in seconds) }, "AutoPeak": { "track_home": ["float", "float", "float"], // e.g., [0.0, 0.0, 0.0] (home track positions in degrees) "track_offset": ["float", "float", "float"], // e.g., [0.0, 0.0, 0.0] (track offsets in degrees) "continuous_scan": "boolean", // e.g., false (continuous scan status) "max_runtime": "float|null", // e.g., 54000.0 (maximum runtime in seconds or null) "beam_width": "float", // e.g., 10.0 (beam width in degrees) "peak_step_az": "float", // e.g., 0.1 (peak step azimuth in degrees) "peak_step_el": "float", // e.g., 0.1 (peak step elevation in degrees) "scan_step_az": "float", // e.g., 0.5 (scan step azimuth in degrees) "scan_step_el": "float", // e.g., 0.5 (scan step elevation in degrees) "scan_width": "float", // e.g., 50.0 (scan width in degrees) "peak_width": "float", // e.g., 1.0 (peak width in degrees) "raster_height": "float", // e.g., 11.2 (raster height in degrees) "raster_stop": "float", // e.g., 14.0 (raster stop in degrees) "sig_level": "float", // e.g., 10.3 (signal level) "sig_unlock": "float", // e.g., -110.0 (signal unlock level) "dwell_time": "float", // e.g., 1.0 (dwell time in seconds) "scan_dwell": "float", // e.g., 1.0 (scan dwell time in seconds) "reg_dwell": "float", // e.g., 0.0 (regular dwell time in seconds) "side_lobe_check": "boolean", // e.g., false (side lobe check status) "signal_lock_lvl": "float", // e.g., -999.9 (signal lock level) "tr_sig_start": "float", // e.g., -70.0 (threshold signal start) "tr_sig_stop": "float", // e.g., -100.0 (threshold signal stop) "tr_enable": "boolean", // e.g., false (threshold repeak enabled) "tr_interval": "float", // e.g., 180.0 (threshold interval in seconds) "tr_side": "int", // e.g., 1 (threshold repeak side) "rssi_drop_thresh": "float", // e.g., -4.0 (RSSI drop threshold) "min_rssi_step": "float", // e.g., 2.0 (minimum RSSI step) "radius": "float", // e.g., 2.0 (radius in degrees) "num_points": "int", // e.g., 7 (number of points) "scan_speed": "float", // e.g., 0.0 (scan speed) "track_speed": "float", // e.g., 1.0 (track speed) "scan_stop_threshold": "float|null", // e.g., null (scan stop threshold) "state": "int", // e.g., 6 (AutoPeak state) "type": "int", // e.g., 1 (AutoPeak type) "peak_type": "int", // e.g., 2 (peak type) "uid_target": "string", // e.g., "" (target unique ID) "uid_curr": "string", // e.g., "" (current unique ID) "mode_interlock": "int", // e.g., 0 (mode interlock) "ap_error_mask": "int", // e.g., 0 (AutoPeak error mask) "cnAlignState": "int" // e.g., 0 (AutoPeak alignment state) }, "attitude_data": { "curr_pitch": "float", // e.g., 0.0 (current pitch in degrees) "curr_roll": "float", // e.g., 0.0 (current roll in degrees) "curr_yaw": "float", // e.g., 81.08 (current yaw in degrees) "ahrs_sensor_pitch": "float", // e.g., -0.09 (AHRS sensor pitch in degrees) "ahrs_sensor_roll": "float", // e.g., -0.40 (AHRS sensor roll in degrees) "ahrs_sensor_yaw": "float", // e.g., 26.39 (AHRS sensor yaw in degrees) "sensor_pitch": "float", // e.g., -0.09 (sensor pitch in degrees) "sensor_roll": "float", // e.g., -0.43 (sensor roll in degrees) "sensor_yaw": "float", // e.g., -4375.95 (sensor yaw in degrees) "pitch_dead_band": "float", // e.g., 0.0 (pitch dead band in degrees) "roll_dead_band": "float", // e.g., 0.0 (roll dead band in degrees) "yaw_dead_band": "float", // e.g., 0.0 (yaw dead band in degrees) "ovr_pitch": "boolean", // e.g., false (pitch override) "ovr_roll": "boolean", // e.g., false (roll override) "ovr_yaw": "boolean", // e.g., false (yaw override) "enabled": "boolean", // e.g., false (attitude enabled) "status": "int", // e.g., 0 (attitude status) "stabilize": "int", // e.g., 0 (stabilization state) "gyro_calib": "boolean", // e.g., true (gyro calibration status) "accel_calib": "boolean" // e.g., true (accelerometer calibration status) }, "mount_orient": { "Roll": "float", // e.g., 0.0 (mount roll in degrees) "Pitch": "float", // e.g., 0.0 (mount pitch in degrees) "Yaw": "float" // e.g., 0.0 (mount yaw in degrees) }, "Xel_center": { "Status": "int" // e.g., 0 (Xel center status) }, "peer_data": { "cli_or_srv": "int", // e.g., 0 (client or server mode) "peer_enabled": "boolean", // e.g., false (peer connection enabled) "peer_ip": "string" // e.g., "" (peer IP address) } }
update_settings.json
- Description:
- Provides the current settings and statuses of various system components such as elevation mode, ADC status, motor maintenance, limits, geo offsets, remote stats, and more.
- Input:
- No input is required for this endpoint. The response contains various settings and status details.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Response:
-
{ "reverse_el": "boolean", // e.g., false (Reverse elevation state) "elevation_mode": "int", // e.g., 0 (Elevation mode) "adc_status": { "az_pot": "boolean", // e.g., true (Azimuth potentiometer status) "el_pot": "boolean", // e.g., true (Elevation potentiometer status) "ux_pot": "boolean", // e.g., true (Ux potentiometer status) "ux2_pot": "boolean", // e.g., true (Ux2 potentiometer status) "v12_mtr": "boolean", // e.g., true (12V motor status) "v12_aux": "boolean", // e.g., true (12V auxiliary status) "v5_mon": "boolean", // e.g., true (5V monitor status) "v3_mon": "boolean", // e.g., true (3V monitor status) "az_curr": "boolean", // e.g., true (Azimuth current sensor status) "el_curr": "boolean", // e.g., true (Elevation current sensor status) "ux_curr": "boolean", // e.g., true (Ux current sensor status) "ux2_curr": "boolean", // e.g., true (Ux2 current sensor status) "v12_curr": "boolean", // e.g., true (12V current sensor status) "v5_curr": "boolean", // e.g., true (5V current sensor status) "mezz1": "boolean", // e.g., true (Mezzanine 1 status) "mezz2": "boolean" // e.g., true (Mezzanine 2 status) }, "motor_maintenance": { "aux1_voltage": "float", // e.g., 0.98 (Auxiliary 1 voltage) "aux2_voltage": "float", // e.g., 0.54 (Auxiliary 2 voltage) "monitor_12v_aux": "float", // e.g., 12.00 (12V auxiliary monitor) "monitor_5v1": "float", // e.g., 5.09 (5V1 monitor) "monitor_3v3": "float", // e.g., 3.38 (3.3V monitor) "monitor_12v_curr": "float", // e.g., 0.08 (12V current monitor) "monitor_5v_curr": "float", // e.g., 0.44 (5V current monitor) "monitor_12v_mtr": "float", // e.g., 11.99 (12V motor monitor) "aux2_pot_voltage": "float", // e.g., 4.43 (Auxiliary 2 potentiometer voltage) "monitor_24v_curr": "float", // e.g., 2.50 (24V current monitor) "rssi_input": "float" // e.g., 0.98 (RSSI input voltage) }, "limits": { "Az": ["float", "float"], // e.g., [239.999, -239.999] (Azimuth limits in degrees) "El": ["float", "float"], // e.g., [95, -95] (Elevation limits in degrees) "Ux": ["float", "float"], // e.g., [0, 0] (Ux limits) "min_track_dist": "float", // e.g., 10.0 (Minimum track distance) "use_min_el_track_dist": "boolean", // e.g., true (Whether to use minimum elevation track distance) "min_el_track_dist": "float" // e.g., 50.0 (Minimum elevation track distance) }, "geo_offsets": { "Az": "float", // e.g., 0.0 (Azimuth geo offset in degrees) "El": "float", // e.g., 0.0 (Elevation geo offset in degrees) "Ux": "float" // e.g., 0.0 (Ux geo offset in degrees) }, "remote_stats": { "ser_rx_count": "int", // e.g., 0 (Serial receive message count) "ser_tx_count": "int", // e.g., 0 (Serial transmit message count) "ser_crc_err": "int", // e.g., 0 (Serial CRC errors) "udp_active": "boolean", // e.g., false (UDP active status) "udp_rx_count": "int", // e.g., 0 (UDP receive message count) "udp_tx_count": "int", // e.g., 0 (UDP transmit message count) "udp_crc_err": "int" // e.g., 0 (UDP CRC errors) }, "comp_calib_sts": { "cal_point": "int", // e.g., 0 (Current calibration point) "total_pts": "int" // e.g., 18 (Total calibration points) }, "auxiliary": { "aperture": "float", // e.g., 1.0 (Aperture value) "enabled": "boolean", // e.g., false (Auxiliary axis enabled) "type": "int", // e.g., 0 (Auxiliary axis type) "scale_factor": "float", // e.g., 0.0 (Auxiliary scale factor) "pol_gain": "float", // e.g., 0.0 (Polarization gain) "dir_sense": "int", // e.g., 0 (Direction sense) "drive_sense": "int" // e.g., 0 (Drive sense) } }
settings.json
- Description:
- Provides settings and statuses related to local settings, axes, network configuration, system model info, user information, and various system limits.
- Input:
- No input is required for this endpoint. The response contains various system configurations and settings.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Response:
-
{ "local_settings": { "angles": "int", // 0 (Angle settings for localization) "distances": "int", // 0 (Distance settings for localization) "temps": "int", // 0 (Temperature settings for localization) "mapping_service": "int" // 0 (Mapping service) }, "ux_axis": { "ux_en": "boolean", // false (UX axis enabled status) "ux_type": "int", // 0 (UX axis type) "xel_lo_volt": "float", // 0.0 (UX low voltage threshold) "xel_hi_volt": "float" // 0.0 (UX high voltage threshold) }, "hard_limits": { "Az": ["float", "float"], // [240.0, -240.0] (Azimuth limits in degrees) "El": ["float", "float"], // [95, -95] (Elevation limits in degrees) "Ux": ["float", "float"] // [0, 0] (UX axis limits) }, "network": { "ip_addr": "string", // "192.168.1.222" (IP address) "netmask": "string", // "255.255.255.0" (Netmask) "gateway": "string", // "192.168.1.1" (Gateway address) "mac_address": "string", // "b8:94:d9:31:70:16" (MAC address) "name_server": "string", // (Name server) "ntp_server": "string" // (NTP server address) }, "time_source": "int", // 2 (Time source type) "ais": { "mmsi": "int64", // 0 (MMSI identifier for AIS) "port": "int", // 0 (AIS port number) "ip_address": "string" // (AIS IP address) }, "serial": { "baud": "int", // 19200 (Serial baud rate) "addr": "int", // 25 (Serial address) "pelcoD": "boolean" // false (Pelco-D protocol enabled) }, "system_name": "string", // "" (System name) "model_info": { "software_version": "string", // "KALI-2.57.2" (Software version) "software_build_timestamp": "string", // "2024-10-06 19:32:57.000000000" (Build timestamp) "model_id": "int", // 27 (Model ID) "ctrl_board_type": "int", // 1 (Control board type) "ctrl_board_rev": "string", // "D" (Control board revision) "ctrl_board_sn": "string", // "AB00246" (Control board serial number) "ctrl_board_datecode": "string", // "20230829_1504" (Control board datecode) "pwr_board_type": "int", // 1 (Power board type) "pwr_board_rev": "string", // "E" (Power board revision) "pwr_board_sn": "string", // "AB00246" (Power board serial number) "pwr_board_datecode": "string", // "20230829_1504" (Power board datecode) "feedback_type": "int", // 2 (Feedback type) "model_name": "string", // "LA-360MPT-30-ME" (Model name) "part_number": "string", // "" (Part number) "demo_on_power": "boolean", // false (Demo mode on power) "ui_type": "int", // 0 (UI type) "has_elevation": "int", // 1 (Has elevation capability) "on_sd_card": "boolean", // false (Running on SD card) "has_imu": "boolean", // true (Has IMU) "continuous_az": "boolean", // false (Continuous azimuth capability) "mezz_type": "int", // 0 (Mezzanine type) "serial": "string", // "999999" (Serial number) "num_lnas": "int", // 0 (Number of LNAs) "supports_adj_elevation": "boolean" // true (Supports adjustable elevation) }, "user_info": { "idx": "int", // 1 (User index) "name": "string", // "admin" (Username) "authorization": "int" // 1 (Authorization level) }, "compass_overide": { "enabled": "boolean", // true (Compass override enabled) "angle": "float", // 100.0 (Compass override angle in degrees) "one_shot_on_geo_move": "boolean" // false (One-shot override on geo move) }, "stow": { "Az": "float", // 0.0 (Azimuth stow position in degrees) "El": "float", // 0.0 (Elevation stow position in degrees) "Ux": "float" // 0.0 (UX axis stow position in degrees) }, "startup_config": { "stow_enabled": "boolean", // false (Stow on startup enabled) "stow_unless_radio_connection": "boolean", // false (Stow unless radio connection) "stow_rssi_threshold": "float|null", // null (RSSI threshold for stow) "stow_time_delay": "float|null" // null (Time delay for stow) }, "trackVars": { "az_offset": "float", // 0.0 (Azimuth offset in degrees) "el_offset": "float", // 0.0 (Elevation offset in degrees) "time_offset": "float", // 0.0 (Time offset) "entry_el": "float", // 0.0 (Entry elevation in degrees) "exit_el": "float", // 0.0 (Exit elevation in degrees) "los_state": "int" // 0 (Line of sight state) }, "windspeed": { "abs_max_windspeed": "float", // 102.0 (Absolute max windspeed) "max_windspeed": "float" // -1.0 (Max windspeed) }, "gpio_setup": [ { "idx": "int", // 0 (GPIO index) "name": "string", // "" (GPIO name) "mode": "int", // 0 (GPIO mode) "active": "int" // 0 (GPIO active state) } ] }
stored_locations.json
- Description:
- Returns a list of stored location data that includes latitude, longitude, and altitude, along with other information such as type, name, and whether it is the default location.
- Input:
- No input is required for this endpoint. The response contains the list of stored locations from the database.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Response:
-
{ "stored_locations": [ { "idx": "int", // Index of another stored location) "type": "int", // (Type of location (0 = LLA, 1 = ped, 2 = geo, 3 = sat slot)) "name": "string", // (Name of the stored location) "az_lat": "float|null", // (Azimuth or Latitude value in degrees) "el_lng": "float|null", // (Elevation or Longitude value in degrees) "ux_alt": "float|null", // (UX axis or Altitude value) "unique_id": "string|null", // (Unique identifier) "is_default": "boolean" // (Whether the location is set as default) }, { "idx": "int", // Index of another stored location) "type": "int", // (Type of location (0 = LLA, 1 = ped, 2 = geo, 3 = sat slot)) "name": "string", // (Name of the stored location) "az_lat": "float|null", // (Azimuth or Latitude value in degrees) "el_lng": "float|null", // (Elevation or Longitude value in degrees) "ux_alt": "float|null", // (UX axis or Altitude value) "unique_id": "string|null", // (Unique identifier) "is_default": "boolean" // (Whether the location is set as default) } // Additional stored locations... ] }
list_track.json
- Description:
- Returns a list of track entries, where each entry contains a track name. This list is generated based on available tracks stored in the system.
- Input:
- No input is required for this endpoint. The response contains the list of track names.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Response:
-
{ "list_track_entries": [ { "name": "fixedacc5" }, { "name": "fixedacc4" }, { "name": "fixedacc1" } ] }
Satellite_Data.json
- Description:
- Provides the ephemeris data of multiple satellites, including their NORAD ID, name, orbital parameters, and other tracking information.
- Input:
- No input is required. The data is fetched from a database or an ephemeris tracking system.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Response:
-
{ "Satellite_EphemData": [ { "norad_id": 54755, "name": "O3B MPOWER F1", "intl_desig": "22174A ", "epoch": 24262.2745234, "xndt2o": -1.8e-07, "xndd6o": 0, "bstar": 0, "inclination": 0.0547, "right_ascension": 345.548, "eccentricity": 0.0006583, "arg_perigee": 187.0962, "mean_anomaly": 157.7353, "mean_motion": 5.00113373 }, { "norad_id": 54756, "name": "O3B MPOWER F2", "intl_desig": "22174B ", "epoch": 24263.22370837, "xndt2o": -1.9e-07, "xndd6o": 0, "bstar": 0, "inclination": 0.0508, "right_ascension": 344.0761, "eccentricity": 0.0005519, "arg_perigee": 197.1668, "mean_anomaly": 178.7583, "mean_motion": 5.00113863 } ] }
autoPeakSettings.json
- Description:
- Provides SNMP Radio configuration and associated OID function details for the auto peak system. It also includes radio settings such as connection type, manufacturer, and SNMP version.
- Input:
- No input is required. The data is fetched from the database and radio settings.
- Authorization Level:
- ADMIN_WEB_USER
- Example JSON Response:
-
{ "SNMP_Radio_Config": [ { "idx": 1, "mfg_id": 4, "OID_String": "1.3.6.1.4.1.17713.9.12.12.0", "period": 0.1, "divisor": 10, "oid_function": 0, "one_time": false }, { "idx": 2, "mfg_id": 11, "OID_String": "1.3.6.1.4.1", "period": 0.1, "divisor": 1, "oid_function": 0, "one_time": false } ], "SNMP_OID_Function": [ { "idx": -1, "name": "None", "deletable": false }, { "idx": 0, "name": "RSSI", "deletable": false }, { "idx": 1, "name": "Connection State", "deletable": false }, { "idx": 2, "name": "Link ID", "deletable": false }, { "idx": 3, "name": "Reset", "deletable": false } ], "radio": { "connType": 1, "RadioMfg": 11, "RadioIP": "192.168.1.55", "communityStr": "public", "SNMPVer": 0, "analog_slope": 1, "analog_intercept": 1 } }