-
Notifications
You must be signed in to change notification settings - Fork 2.1k
drivers/abp2: add abp2 driver #20398
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
Conversation
1a59f06
to
fcb2d07
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the contribution, that's a nice first driver!
Some comments:
e2c4682
to
cba1b60
Compare
549c360
to
5230483
Compare
your commits messages will need rewording https://github.com/RIOT-OS/RIOT/blob/master/CONTRIBUTING.md#commit-conventions |
Could you be more accurate ? |
5230483
to
0e61666
Compare
so you commit messages should be for example driver/abp2: driver for SPI sensors prepare for I2C tests/driver/abp2: test implementation or something similar the scheme is |
0e61666
to
93c1983
Compare
Why should we Block that usecase (one might have a mix of both in one experiment or just have multiple sensors) the design hints just point into the direction of there will only be one sensor simple example speed/flow (pito) and pressure measurement would need one differential and one absolute sensor (or two absolute) (ofcause these can be two spi (different cs), but with these hints i2c would not work (neither 2 i2c sensors nor can it be combined with spi)). |
I didn't make up the pseudo-module thing myself; I was advised to do so by a maintainer. I spent quite some time on this driver, which is OK, because I like to return some effort to the open source community. Despite the long period of inactivity in this PR, I could do minor changes, like the timer stuff. But changing the pseudo-module structure would take me much more time (I didn't work with RIOT for a while), with the risk that some other maintainer asks to reestablish it when I'm done.
OK, the I2C version is not implemented, but I may do it later, because I will probably buy an I2C sensor in a future project. I just don't know when. I understand that you strive for high quality standards, but you know the saying, the best is the enemy of the good. In the end, I'm afraid this driver will only be used by me.
|
bb67bc7
to
193a70f
Compare
193a70f
to
e930756
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these are some hints to improve this code without implementing i2c.
I resolve the old comments about the same thing.
If you like me to ignore these please leave a comment
e930756
to
ba386fd
Compare
6551e65
to
1dfbd0f
Compare
The failing tests on |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some minor changes
1dfbd0f
to
edaeda4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the driver ztimer_msec needs to be switched to ztimer_usec
If you like to squash the two driver commits you may.
edaeda4
to
71a940d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good to go
trusting test run by @dpproto
71a940d
to
42aa0b0
Compare
Honeywell ABP2 pressure sensors series. Implement all sensors features, only supporting the SPI version of the sensor. Prepare future support for the I2C interface by emphasizing where to implement the code that will support the I2C bus version.
Use pseudomodules to add a dependency on the relevant feature: periph_spi if the abp2_spi pseudomodule is selected, or periph_i2c if the abp2_i2c pseudomodule is selected.
42aa0b0
to
2c97a53
Compare
Contribution description
Testing procedure
Use the test application in
RIOT/tests/drivers/abp2
.Output of the test application:
Issues/PRs references
Fixes #20233