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

High-Speed-Mode TCP Implementation #10

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Jmeyer1292
Copy link
Collaborator

Addressing issue #8, this PR adds the ability to interface with the Keyence using the asynchronous "high-speed" mode in which a separate tcp connection is used to constantly stream new profile data.

This PR contains the following:

  1. A new class, keyence::HighSpeedTcpClient that can be started and stopped.
  2. Starting the high speed connection requires the user to provide a callback function.
  3. New synchronous commands that enable the high speed mode
  4. Test/example program demonstrating the usage of the high speed mode both using the new interface and through making raw message calls.

This PR introduces the following new dependencies:

  1. Boost including Boost-System and Boost-Thread libraries
  2. C++11 - Required for usage of certain libsocket++ headers.

@Jmeyer1292 Jmeyer1292 mentioned this pull request Aug 3, 2015
@Jmeyer1292
Copy link
Collaborator Author

@shaun-edwards Could you please either review or allow me rights to merge this PR?

namespace keyence
{

static void worker_main(boost::atomic_flag& flag,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since you are using c++11 is there a reason you haven't used the std::atomic_flag?

@shaun-edwards
Copy link
Contributor

Doxygen on public methods should be added.

@shaun-edwards
Copy link
Contributor

Has the high speed interface been incorporated into a ROS node(s)?

@Jmeyer1292
Copy link
Collaborator Author

Thank you for looking at this. I will get on changes and documentation as quickly as possible.

@Levi-Armstrong
Copy link
Contributor

@Jmeyer1292 Should this be closed?

@Jmeyer1292
Copy link
Collaborator Author

No it's still relevant. This stuff adds the support to reliably sample at 1khz. With the current interface we can only do about 200 Hz.

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.

3 participants