=====IridiumSBD Remote Control===== ==== List of Hardware Components ==== ^ Hardware ^ ID ^ | Level 2 Subsystem | l2 | | Level 3 Subsystem | l3 | | Level 1 IridiumSBD | iridium | | 4G/LTE Modem | modem | | Bilge Pumps | pumps | | OWL VHF Radio | vhf | The **relays** string is made of 6 booleans that indicate the relay setting: 0 = ON, 1 = OFF, 2 = REBOOT. The user can control the state of the sensor by changing the appropriate boolean in the array. Example: 011011 means l2 is ON, l3 is OFF, L1 iridium is OFF, 4G modem is ON, pumps are OFF, VHF is OFF. ==== List of Commands & Vehicle Replies ==== **Commands** are sent from operators to the vehicle. **Replies** viceversa.\\ Commands are written in red. Reference: https://github.com/LSTS/dune/wiki/Text-Commands \\ \\ **Periodical Status Reports**: periodical reports from the vehicle.\\ (R) 13:29:16/63.872886,8.640461/b:127/c:78/s:0.00/sat:8/pp:15/cp:17/s:M/001011 **meaning**: **(R)**=report/UTC time/latitude(deg),longitude(deg)/**b**=battery voltage/**c**=COG/**s**=SOG/**sat**=GPS satellites in view/**pp**=produced power (from solar panels)/**cp**=consumed power (from system+thruster)/**s**=status (M:maneuvering, S:service, C:calibration, E:error)/relays.\\ The frequency of reports can be set via Iridium by sending this message:\\ **reports seconds**: //seconds// is the amount of seconds between two reports. \\ **Navigation Commands** are used to send new navigation plans, retrieve telemetry and statistics, mission status. - **info**: retrieve information about plan being executed \\ **replies**: \\ - //Vehicle is ready.// : vehicle is ready to execute its first plan. - //Initializing .// : vehicle is in calibration mode, starting a plan. - //Executing / . ETA: (%)// : Vehicle is currently executing a plan. - //Finished // : vehicle has finished executing a plan successfully. - //Failed to exec : // : vehicle has failed to execute its plan. - **navstat**: retrieve navigation information \\ **reply**: \\ (NAV) 2020-06-23 13:28:06/63.8728 8.6404/C:69/dC:-20/r:-57/th:0/S:0.0/aws:0.7/awd:118 **meaning**: **(NAV)**=navigation report/UTC date&time/latitude(deg),longitude(deg)/**C**=COG/**dC**=desired COG/**r**=rudder angle/**th**=thruster actuation/**S**=SOG/**aws**=absolute wind speed/**awd**=absolute wind direction. - **abort**: this command aborts the execution of any ongoing plan and receives no arguments. - **errors**: retrieve a simple vehicle diagnostic \\ **replies**: //Vehicle has no reported errors.// or //Errors: // listing all entities that present errors. - **start plan_ID**: order execution of a plan already in the Plan Database of the vehicle. It receives, as its sole argument the name of the plan to be executed. \\ **reply**: //Started execution of plan_ID.// - **force plan_ID**: order execution of a plan ignoring any errors. \\ **reply**: //Started execution of plan_ID ignoring errors.// - **resume plan_ID GoTo_number**: order execution of a plan, starting from a specific maneuver id. It will generate a new plan that has the given maneuver ID as the starting maneuver and then will proceed to execute it. It will create a new plan named //plan_ID-Goto_number// that starts in maneuver Goto_number and will execute the plan. - **go lat=;lon=;speed=**: commands the vehicle to go to a given waypoint in DEGREES (using a Goto maneuver). - **fence ,;,;...**: creates a polygon (geofence) using the , (in DEGREES) list as vertices; when the USV is outside the polygon, a warning is raised and an Iridium message is sent. - **colav on/off**: turns anti-collision system on. - **gains p i d**: sets new gains for the course/heading autopilot. \\ **Hardware Commands** are used to send new navigation plans, retrieve telemetry and statistics, mission status. - **cr6 relays**: where //relays// is the string of booleans indicated above. This command enables/disables the solid-state relays. \\ **reply**: //New CR6 settings applied.// - **on relay/sensor**: enables a specific relay - turns ON a specific sensor as indicated in the table above. Example //on vhf// turns ON the VHF radio. \\ **reply**: //VHF is turning on.// - **off relay/sensor**: disables specific relay - turns OFF a specific sensor as indicated in the table above. Example //off modem// turns OFF the 4G/LTE Modem. - **restart relay/sensor**: toggles off and on a specific relay - restarts a specific sensor as indicated in the table above. Example //restart modem// restarts the 4G/LTE Modem. - **reboot**: Reboot the system remotely. It can be used to reboot just DUNE, the main CPU or auxiliary CPU.\\ - **reboot**: Reboots the main CPU. - **reboot aux**: Reboots the auxiliary CPU. - **reboot dune**: Reboots DUNE without rebooting the CPU. - **camera**: Triggers the onboard camera\\ - **camera on**: Starts live broadcast. - **camera off**: Stops live broadcast and deactivates the camera until further notice; if routines are running, they are disabled. - **camera frame**: Captures and stores one frame. - **camera video 20**: Records one video of 20 seconds. - **camera frame-p 300**: Captures one frame every 300 seconds. - **camera video-p 300 20**: Records one video every 300 seconds of 20 seconds length. \\ ==== Handling Scientific Sensors & Data ==== The following set of commands is able to control the [[sci_sens | Scientific Payload]]. \\ ==== List of Scientific Sensors ==== ^ Sensor Name ^ Sensor ID ^ | optode | opt | | ctd | ctd | | ecopuck | eco | | tblive | tbl | | adcp | adcp | \\ - **sensor sensor_ID on_off samp_duration samp_interval**: where //sensor_ID// is the sensor ID; //on_off// determines if the sensor has to be turned ON or OFF; //samp_duration// determines for how long (seconds) the sensor collects data; //samp_interval// indicates the seconds between two consecutive samplings (sensor is turned OFF between them) \\ **replies**: - //L3 is OFF, turn on first.// : if the payload computer is OFF. - //sensor_name is already ON// : if the sensor to be turned ON is already ON. - //sensor_name is already OFF// : if the sensor to be turned OFF is already OFF. - //sensor_name actions.// otherwise (sensor is OFF and you want to turn it ON or viceversa). - Examples: **sensor ctd 0 60 120** will turn ON the CTD at regular intervals of 120s and collect CTD data for 60s; **sensor opt 0 0 0** will turn ON the Optode 4835 and sample indefinitely; **sensor eco 1 0 0** will turn OFF the ECOPuck Triplet indefinitely. - **sensors** + **sensor_ID on_off samp_duration samp_interval** for each sensor: unique long message to control all sensors with one Iridium message only. - **sensor_name report**: where //sensor_name// is the full sensor name. - **ecopuck report** will reply \\ (ECO) 2020/06/23 09:00:21/63.8728 8.6404/FDOM:0.1832/TU:0.0912/CHLA:0.1898 **meaning**: **(ECO)**=sensor_id/UTC date-time/latitude(deg),longitude(deg)/**FDOM**=fluorescent dissolved organic matter/**TU**=turbidity/**CHLA**=chlorophyll-a.\\ - **ctd report** will reply \\ (CTD) 2020/06/23 09:37:49/63.8728 8.6404/S:0.29/C:0.04/T:15.80/SS:-1.00/D:0.05 **meaning**: **(CTD)**=sensor_id/UTC date-time/latitude(deg),longitude(deg)/**S**=salinity/**C**=conductivity/**T**=water temperature/**SS**=sound speed/**D**=sensor depth.\\ - **optode report** will reply \\ (OPT) 2020/06/23 08:51:44/63.8728 8.6404/T:18.40/AS:98.87/DOX:289.87 **meaning**: **(OPT)**=sensor_id/UTC date-time/latitude(deg),longitude(deg)/**T**=water temperature/**AS**=air saturation/**DOX**=dissolved oxygen.\\ - **tblive report** will reply \\ (TBL) 2020/06/23 13:00:10/63.8728 8.6404/SN:1000037/T:0.00/ANL:9/PNL:14/RLF:69/RMA:4 **meaning**: **(TBL)**=sensor_id/UTC date-time/latitude(deg),longitude(deg)/**SN**=sensor serial number/**T**=water temperature/**ANL**=average noise level/**PNL**=peak noise level/**RLF**=receiver listening frequency/**RMA**=receiver memory address.\\ - **ecopar report** will reply \\ (PAR) 2020-07-01 18:01:16/63.8787 8.6482/PAR:302.03 **meaning**: **(PAR)**=sensor_id/UTC date-time/latitude(deg),longitude(deg)/**PAR**=Photosynthetically Active Radiation value.\\ - **radiation report** will reply \\ (RAD) 64.1658 8.4496/2020-07-02 10:01:41/PAR:831.52/2020-07-02 10:01:47/FDOM:1.28/TU:0.06/CHLA:0.13 **meaning**: **(RAD)**=message_id/PAR sensor UTC date-time/latitude(deg),longitude(deg)/**PAR**=Photosynthetically Active Radiation value/ECOPUCK sensor UTC date-time/**FDOM**=fluorescent dissolved organic matter/**TU**=turbidity/**CHLA**=chlorophyll-a.\\ - **ADCP depth** will reply \\ (ADCP) 2020-07-02 10:01:41/64.1658 8.4496/DP:7.5/S:1.4/D:64.4 **meaning**: **(ADCP)**=message_id/UTC date-time/latitude(deg),longitude(deg)/**DP**=sea current depth/**S**=sea current speed/**D**=sea current direction in degrees (NED).\\