Coder Social home page Coder Social logo

Comments (2)

pablogs9 avatar pablogs9 commented on July 18, 2024

Hello @snelson-durrant, I'm not sure about the usage of your sensor and library.

How is the library communicating with the sensor? Is it possible that it is interfering with the UART port that the micro-ROS Client is using to communicate with the micro-ROS Agent?

In the case you need to call imu_pub.imu_update() at a specific rate, you need to be careful with the micro-ROS part.
Is the timing of imu_pub.imu_update() critical for the correct behavior of the sensor library?

Is it possible that microROS or the agent is "blocking" the IMU library from executing the internal callbacks that put data in the queue?

If the library is based on interrupts, micro-ROS shall not be blocking. In other cases, there are no guarantees of the correct timing.

If so, what would be the best approach to making them work together?

IMO, if you have two time-critical tasks that are independent and have different priorities, the way to go is an RTOS. FreeRTOS can be an option.

from micro_ros_platformio.

snelsondurrant avatar snelsondurrant commented on July 18, 2024

We're using I2C and tested some varying delays in main() to try and replicate the issue with no success, but it may be an timing issue internal to the library. For now, we've hacked together a couple custom library functions that modify it a bit to get around the parts that don't work when microROS is running, but we'll look into using an RTOS in the future. Thanks for your help!

from micro_ros_platformio.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.