-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
drivers/sensors: Wrote a driver for the MCP9600 thermocouple amplifier. #15525
Conversation
[Experimental Bot, please feedback here] Fill In The Commit Message: This PR contains a Commit with an Empty Commit Message. Please fill in the Commit Message with the PR Summary. Yes, this PR appears to mostly meet the NuttX requirements, but could be improved with more specific information. Here's a breakdown of what's good and what needs improvement: Strengths:
Weaknesses & Areas for Improvement:
Example of Improved Testing Section:
nsh> i2c_register /dev/i2c0 0x67 # Register the MCP9600's I2C address
nsh> i2c_register /dev/i2c0 0x67
By addressing these weaknesses and providing more specific information, the PR will be significantly stronger and easier for reviewers to evaluate. |
74d3d40
to
350090f
Compare
Hi @linguini1 , have you considered making this driver compatible with uorb sensor framework which is more portable solution? I know that NuttX doesn't have any official guidelines regarding sensors implementation, but if we use the old method for new sensors, we will never migrate to the new framework... |
Actually yes, however I must admit I took the path of least resistance on this implementation since the Nuttx documentation about uorb is empty, and the only other information I could find about it was this video. I would be willing to revise this driver to the uorb framework because I agree with your point. It may take me a little bit longer while I explore the code to try to learn more about how it works. If you happen to know of any doc pages about this that I've missed please send them my way! |
@linguini1 that's the biggest problem with this new framework - there is absolutely no documentation :( and I know that without proper documentation, it's inappropriate to ask contributors to write drivers based on this new framework. |
Just a little elbow grease is all! From what I had seen when I checked it out earlier, it does appear to be a very powerful tool. My rocketry team particularly likes the ability to create fake sensors for mocking our applications, so for us I suppose the extra work would be worth it. Once I get some kind of an understanding I would be happy to contribute a little documentation on the subject if it makes it easier for the next developer.
Sounds excellent, thank you for the pointers! I will have a look at implementing this! |
@Donny9 could you provide some document about urob? let's merge this implementaton first and add uorb later. |
@
@linguini1 hello, you can know everything about uorb and new sensor driver model by doc, PR #15557 |
…r suggestions on PR apache#15525. The sensor driver now registers three temperature topics and supports the UORB interface.
…r suggestions on PR apache#15525. The sensor driver now registers three temperature topics and supports the UORB interface.
…r suggestions on PR apache#15525.
…r suggestions on PR apache#15525.
…r suggestions on PR apache#15525.
…r suggestions on PR #15525.
Summary
This PR is from InSpace.
This pull request introduces a new sensor driver for the Mirochip MCP9600 thermocouple amplifier. It is on a popular Adafruit breakout for hobbyists and also happens to be the amplifier used on our hybrid rocket control system.
This PR also comes with a documentation page for how to use the
SNIOC
commands with this device.Impact
This PR adds another usable device to the NuttX roster. It will be appreciated by hobbyists that own this board.
Testing
Tested using a Raspberry Pi Pico connected to the Adafruit breakout module. I connected the thermocouple owned by InSpace and verified that the temperature readings were correct.
Tested with K type thermocouple.