Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remote Transceiver GlobalPath to Iridium - #269 #464

Draft
wants to merge 57 commits into
base: main
Choose a base branch
from

Conversation

vaibhavambastha
Copy link

Description

Implemented functionality to transmit a series of global waypoints to Polaris via the Iridium satellite network. The changes include:

  1. Parsing incoming request data to extract JSON strings.
  2. Creating and populating a Polaris::GlobalPath object.
  3. Serializing the Polaris::GlobalPath object to a binary string.
  4. Using libcurl to make a POST request to the Rockblock server to transmit the serialized global waypoints.
  5. Handling the response from the Rockblock server, including managing specific error codes.
  6. Writing Iridium response information to the database.

A new table has been added to the database to store Iridium response logs. The schema follows the structure outlined in "Database Schemas → Iridium Response" on Confluence.

Verification

  • Ensured POST requests are correctly formatted and sent to the Rockblock server using libcurl.
  • Implemented and tested logging of Iridium responses into the database.
  • Testing performed with the virtual rockblock_web_server.py to simulate Rockblock server interactions, covering all specified error cases.
  • Verified that waypoints are correctly serialized and deserialized in testing using Google Protobuf and stored in database correctly.
  • Verified multiple global path POST requests were handled appropriately and stored in database correctly in test_remote_transceiver.cpp through tests TestPostGlobalPath and TestPostGlobalPathMult.

Resources

vaibhavambastha and others added 27 commits August 10, 2024 14:11
* Fix issues in model and physics node

* Fix dimension mismatching

* Fix comments for constants

* Allow wind & current generation config

* Allow config of fluid cov in globals.yaml

* Prevent data collection from making file when not in use

* Fix formatting issues with README for ci

* Update fluid generation unit tests
* brought in changes from old branch

* updated pkg xml with required dependencies

* updated pkg xml and requirements

* added jupyter notebook, ignore array type in obstacles

* updated license info

* updated script to apply consistent 12.5NM buffer

* printing heads

* ended friendship with shapefile, friends with geojson now

* removed geopandas and fiona!

* some metadata changes to notebook

* implemented buffer amount, its set at 5000 meters right now

* updated generation to include buffer

* metadata

---------

Co-authored-by: Sean Donaghy <[email protected]>
* Changed sensor names to resolve ROS conflict

* Updated WindSensor to SimWindSensor
* Made global path none in localpathstate and checked it when initializing reference_latlon

* Changed the test case to not have localpathstate to be none
#450)

* refactor test rockblock server to intake waypoint data and error code

* add documentation for refactor of rockblock web server

* fix for linter
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Transmit Global Path Flow
9 participants