Comments (4)
@Kethku I can confirm that the various RX/TX examples are not working for me. Something seems to be wrong. I've opened #140.
from dw1000-rs.
I would also be happy to build a wrapper over the lower level registers. I was digging into the user manual for the dw1000 and there seems to be very details descriptions of what each flag does. Even just having a GetStatus function which returns a struct with well documented booleans would be a reasonable enough approach that imho would be approachable, but I don't know if thats the correct abstraction to build.
As a side note, I'm very excited that this library exists! I was somewhat dreading the prospects of writing my own, and was even considering dropping down into an arduino wrapper in c. Having this available though means I can stay in comy cozy rust land which is a huge boost to my productivity. Super happy about this
from dw1000-rs.
Hi @Kethku, thanks for opening this issue!
is there a way to access the sys_status flags in the high level api
I think the only way to check those flags is through the low-level interface. This is not intentional, just something that no one bothered to implement so far.
how would you recommend debugging a lack of receiving (or sending) messages ?
It's been a while since I seriously worked with this library (initial development was back in 2019), and my working knowledge regarding debugging these kinds of issues has deteriorated. I remember there was lots of reading the user manual, figuring out which status flags I can check. You're on the right way with SYS_STATUS, but there might be more relevant registers.
I think I've built some of the examples (like dw1000_only_rx
) specifically for debugging, so maybe that can help you. A simple program like that might receive much more reliably than a less trivial one. It's quite easy to introduce timing problems, e.g. by doing something else while you should be receiving. My memory is hazy, but I remember having lots of problems before I got the examples to work reliably.
It's also possible that something broke, due to updated Rust versions or updated dependencies. Again, my memory is hazy, but I remember there being some mysterious cases of breakage that I had to fix. I'll try to confirm that the examples currently work with up-to-date versions of everything, but it might take a few days until I can get to it (just got back from vacation and started working through the backlog).
I would also be happy to build a wrapper over the lower level registers. I was digging into the user manual for the dw1000 and there seems to be very details descriptions of what each flag does. Even just having a GetStatus function which returns a struct with well documented booleans would be a reasonable enough approach that imho would be approachable, but I don't know if thats the correct abstraction to build.
That would be a very welcome addition! And the approach you describe sounds reasonable. Don't worry too much about the correct abstraction. I'll merge anything that is an improvement over the current state. We can always refine stuff later, as we figure out better ways to do things.
Please note that there's a pending pull request (#134, see #133 for context) that I haven't had a chance to look at. It includes lots of improvements and might already add what you need. In any case, any work you do should probably be based on that branch, to prevent merge conflicts.
As a side note, I'm very excited that this library exists! I was somewhat dreading the prospects of writing my own, and was even considering dropping down into an arduino wrapper in c. Having this available though means I can stay in comy cozy rust land which is a huge boost to my productivity. Super happy about this
Glad you like it!
from dw1000-rs.
Good I'm not crazy hahaha
from dw1000-rs.
Related Issues (20)
- Merge this repository with braun-embedded/rust-dwm1001 HOT 1
- Add type parameter to `Led` to identify pin
- Add support for the buttons on the dev board
- Apply range bias to distance measurement
- Use latest version of embedded-hal traits
- Overflow and weird reading in ranging examples
- Timeout error in ranging tag example HOT 5
- Publish new cargo crate version? HOT 2
- CI not working
- Is a mega PR welcome? HOT 1
- RX/TX examples don't seem to work HOT 1
- How to flash for DWM1001? HOT 2
- Version bump? HOT 7
- Bug: ranging on battery panics in compute_distance HOT 3
- Enforce formatting in CI
- Looking for new maintainer HOT 5
- Raspberry pi integration HOT 1
- Stuck in block! HOT 5
- FYI `SYS_STATE` is now available in the datasheet HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dw1000-rs.