Universal_Robots_Client_Library icon indicating copy to clipboard operation
Universal_Robots_Client_Library copied to clipboard

Improve primary client

Open urmarp opened this issue 3 years ago • 3 comments

Improved primary interface, this includes following changes:

  • Added message handlers for messages received through primary client

  • Changed primary pipeline and full driver example

  • Added datatype: vector6f_t and vector6uin8_t

  • Added parsing of vector6f_t

  • Changed timeout in producer

  • Added parsing of more messages from primary interface

  • Added calibration check in constructor of primary client

  • Added calibration checksum to urdriver constructor

  • Added test for primary client and primary parser

  • Added funtionality to set robot as simulated or real

  • Added wait in full driver example

urmarp avatar Dec 28 '22 14:12 urmarp

Codecov Report

Base: 74.09% // Head: 75.53% // Increases project coverage by +1.44% :tada:

Coverage data is based on head (1d13676) compared to base (09adab9). Patch coverage: 68.91% of modified lines in pull request are covered.

:exclamation: Current head 1d13676 differs from pull request most recent head 3cd736a. Consider uploading reports for the commit 3cd736a to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #137      +/-   ##
==========================================
+ Coverage   74.09%   75.53%   +1.44%     
==========================================
  Files          91      135      +44     
  Lines        3462     4775    +1313     
  Branches      359      429      +70     
==========================================
+ Hits         2565     3607    +1042     
- Misses        680      931     +251     
- Partials      217      237      +20     
Impacted Files Coverage Δ
include/ur_client_library/comm/bin_parser.h 89.23% <ø> (+14.76%) :arrow_up:
...client_library/primary/abstract_primary_consumer.h 100.00% <ø> (ø)
.../ur_client_library/primary/program_state_message.h 0.00% <0.00%> (ø)
include/ur_client_library/primary/robot_message.h 100.00% <ø> (ø)
.../primary/robot_message/runtime_exception_message.h 0.00% <0.00%> (ø)
include/ur_client_library/primary/robot_state.h 100.00% <ø> (ø)
include/ur_client_library/ur/calibration_checker.h 83.33% <0.00%> (+16.66%) :arrow_up:
include/ur_client_library/ur/ur_driver.h 33.33% <ø> (ø)
src/primary/program_state_message.cpp 0.00% <0.00%> (ø)
...rimary/robot_message/runtime_exception_message.cpp 0.00% <0.00%> (ø)
... and 100 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

codecov[bot] avatar Dec 28 '22 14:12 codecov[bot]

@urmarp this would be easier to review if these were multiple commits.

fmauch avatar Jan 05 '23 10:01 fmauch

Before reviewing this any further: Could you please elaborate what you have done? What is the handler concept and why did you add this?

Again, splitting this into multiple commits (maybe with commit messages going into more detail) might make things a lot clearer.

I have split the commit into multiple commits and tried to explain the thoughts behind the changes.

Added message handlers for the messages from the primary interface. These handlers save the data from the latest message of each type, which can then be accessed through the primary client. The handlers also enable the possibility to handle the data differently for each message. The primary client can through its consumer get the message handlers and from the message handlers get the latest message of each type.

urmarp avatar Jan 06 '23 08:01 urmarp

Closing this in favor of #186

fmauch avatar May 28 '24 09:05 fmauch