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

Async support for IEEE 802.15.4. #2208

Open
Frostie314159 opened this issue Sep 20, 2024 · 6 comments
Open

Async support for IEEE 802.15.4. #2208

Frostie314159 opened this issue Sep 20, 2024 · 6 comments
Labels
help wanted Extra attention is needed

Comments

@Frostie314159
Copy link
Contributor

Motivations

Hi, I'd like to build async support for esp-ieee802154 in the future. I wanted to ask if any extensive docs on the hardware registers for ieee802154 are available, so I can try and build an async layer.

Solution

Alternatives

Additional context

@Frostie314159 Frostie314159 added the status:needs-attention This should be prioritized label Sep 20, 2024
@lattice0
Copy link

Also would like this. It blocks the hardware a lot currently, preventing quality development for thread/zigbee stuff

@bjoernQ
Copy link
Contributor

bjoernQ commented Sep 23, 2024

Unfortunately, there is no additional documentation about that peripheral that I'm aware of. A few things could be derived from the code but we don't have anything beyond that.

For async luckily you probably can get away with implementing Futures around the existing interrupt functionality at least

@MabezDev MabezDev removed the status:needs-attention This should be prioritized label Sep 23, 2024
@lattice0
Copy link

Would be nice if espressif stopped making these internals so secretive, I bet any competitor can already reverse engineer it anyways. We're seeing a huge boost on thread/matter devices and I'd love for them to be in Rust. Async support on places like the ieee801254 stack is a must. Not to mention how Rust would make these products much more stable, I always have problems with zigbee devices that need to be resetted because of bugs.

This might make me switch to other boards with better ieee801254 rust support. Anyways, thanks for the answer everyone

@Frostie314159
Copy link
Contributor Author

Frostie314159 commented Sep 24, 2024

Would be nice if espressif stopped making these internals so secretive, I bet any competitor can already reverse engineer it anyways. We're seeing a huge boost on thread/matter devices and I'd love for them to be in Rust. Async support on places like the ieee801254 stack is a must. Not to mention how Rust would make these products much more stable, I always have problems with zigbee devices that need to be resetted because of bugs.

This might make me switch to other boards with better ieee801254 rust support. Anyways, thanks for the answer everyone

I'll have to defend Espressif a little here. I personally contribute to the project reverse engineering the WiFi peripheral, and would of course like register docs. The thing is though, that Espressif didn't design the WiFi, BLE,IEEE 802.15.4 and RF peripherals themselves, but licensed these from CEVA (previously Riviera Waves). They're thus bound by certain NDAs and legally can't publish any of this.
I would love a general shift in the industry towards more openness, because sadly the assumption that all mobile communication stacks are flawed is correct, but realistically this won't happen.

@lattice0
Copy link

@Frostie314159 makes sense, I know nothing about these legal obligations. I thought they made their own radio.

So, espressif, if you're reading this: would be nice to have proper rust async support for the iee radio and bluetooth/wifi as well. I'd like for future matter devices to be rust instead of C, I have seen way too many buggy zigbee devices that probably enter a bad state after days online and I have to turn them off and on again.

The thread border router board that you guys offer is pretty nice, but official support is for C only.

@Frostie314159
Copy link
Contributor Author

I'll do my best to build an async version from the limited knowledge we have. Although, I'll have to see how much time I've to do that.

@MabezDev MabezDev added the help wanted Extra attention is needed label Oct 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
Status: Todo
Development

No branches or pull requests

4 participants