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

Add ActionServer #270

Merged
merged 18 commits into from
Feb 25, 2019
Merged

Add ActionServer #270

merged 18 commits into from
Feb 25, 2019

Commits on Feb 15, 2019

  1. Add ActionServer

    * Add Action server functions to extension module
        * Separated service related macros into separate request and response calls
    * Add server goal handle functions to extension module
    * Update Action extension module to use conversion functions
    * Add partial implementation of Python ActionServer
        * Handles goal and cancel requests, responds, and calls user-defined functions for executing goals.
    
    Signed-off-by: Jacob Perron <jacob@openrobotics.org>
    jacobperron committed Feb 15, 2019
    Configuration menu
    Copy the full SHA
    f923126 View commit details
    Browse the repository at this point in the history
  2. Handle result requests

    And some linting.
    
    Signed-off-by: Jacob Perron <jacob@openrobotics.org>
    jacobperron committed Feb 15, 2019
    Configuration menu
    Copy the full SHA
    de91864 View commit details
    Browse the repository at this point in the history
  3. Handle expired goals

    Pass an optional 'result_timeout' argument to the constructor specififying how long after a goal is completed to keep a reference to the result.
    
    Signed-off-by: Jacob Perron <jacob@openrobotics.org>
    jacobperron committed Feb 15, 2019
    Configuration menu
    Copy the full SHA
    eaca5a1 View commit details
    Browse the repository at this point in the history
  4. Fix incorrect module name in _rclpy_action.c

    Signed-off-by: Jacob Perron <jacob@openrobotics.org>
    jacobperron committed Feb 15, 2019
    Configuration menu
    Copy the full SHA
    daac625 View commit details
    Browse the repository at this point in the history
  5. Make thread safe and add tests involving concurrent goals

    Signed-off-by: Jacob Perron <jacob@openrobotics.org>
    jacobperron committed Feb 15, 2019
    Configuration menu
    Copy the full SHA
    886adec View commit details
    Browse the repository at this point in the history
  6. Make 'is_active' a property

    Signed-off-by: Jacob Perron <jacob@openrobotics.org>
    jacobperron committed Feb 15, 2019
    Configuration menu
    Copy the full SHA
    24f0949 View commit details
    Browse the repository at this point in the history
  7. Add test for feedback

    Signed-off-by: Jacob Perron <jacob@openrobotics.org>
    jacobperron committed Feb 15, 2019
    Configuration menu
    Copy the full SHA
    385dd4f View commit details
    Browse the repository at this point in the history
  8. lint

    Signed-off-by: Jacob Perron <jacob@openrobotics.org>
    jacobperron committed Feb 15, 2019
    Configuration menu
    Copy the full SHA
    de7aebc View commit details
    Browse the repository at this point in the history
  9. Publish goal status array and fix feedback publishing

    The goal status array is published whenever a goal state is updated.
    Published feedback messages should have the goal ID field populated, otherwise the message will be ignored at the rcl layer.
    
    Signed-off-by: Jacob Perron <jacob@openrobotics.org>
    jacobperron committed Feb 15, 2019
    Configuration menu
    Copy the full SHA
    9c5db87 View commit details
    Browse the repository at this point in the history
  10. Minor refactor in action unit tests

    Signed-off-by: Jacob Perron <jacob@openrobotics.org>
    jacobperron committed Feb 15, 2019
    Configuration menu
    Copy the full SHA
    a4a0ea0 View commit details
    Browse the repository at this point in the history
  11. Add handle_accepted_callback to ActionServer

    Upon accepting a goal, the provided `handle_accepted_callback` is called with a reference to the goal handle.
    The user can then decide to execute the goal or defer.
    If `handle_accepted_callback` is not provided, then the default behavior is to execute the goal handle immediately.
    
    Signed-off-by: Jacob Perron <jacob@openrobotics.org>
    jacobperron committed Feb 15, 2019
    Configuration menu
    Copy the full SHA
    8e4a34b View commit details
    Browse the repository at this point in the history
  12. Add test for execute callback that does not set the goal state

    Signed-off-by: Jacob Perron <jacob@openrobotics.org>
    jacobperron committed Feb 15, 2019
    Configuration menu
    Copy the full SHA
    fb33cb9 View commit details
    Browse the repository at this point in the history
  13. Reject goals processed by malformed goal callbacks

    Signed-off-by: Jacob Perron <jacob@openrobotics.org>
    jacobperron committed Feb 15, 2019
    Configuration menu
    Copy the full SHA
    a37cd81 View commit details
    Browse the repository at this point in the history
  14. Resolve issues regarding deferring and canceling goals

    * Goal should first transition to CANCELING before CANCELED
    * Handle case where goal skips the EXECUTING state if deferred (accepted, but not executed) and then canceled
    
    Signed-off-by: Jacob Perron <jacob@openrobotics.org>
    jacobperron committed Feb 15, 2019
    Configuration menu
    Copy the full SHA
    1b1e4d3 View commit details
    Browse the repository at this point in the history
  15. Address review

    Signed-off-by: Jacob Perron <jacob@openrobotics.org>
    jacobperron committed Feb 15, 2019
    Configuration menu
    Copy the full SHA
    449244c View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2019

  1. Avoid compiler warning from implicit cast

    Signed-off-by: Jacob Perron <jacob@openrobotics.org>
    jacobperron committed Feb 20, 2019
    Configuration menu
    Copy the full SHA
    5d8881d View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2019

  1. Use 'L' format for int64_t when calling PyArg_ParseTuple

    This resolves test errors that were present in Windows builds.
    
    Signed-off-by: Jacob Perron <jacob@openrobotics.org>
    jacobperron committed Feb 21, 2019
    Configuration menu
    Copy the full SHA
    b53e7bc View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2019

  1. Remove debug leftovers

    Signed-off-by: Jacob Perron <jacob@openrobotics.org>
    jacobperron committed Feb 22, 2019
    Configuration menu
    Copy the full SHA
    19926d3 View commit details
    Browse the repository at this point in the history