Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

   

Request to transfer ANT* rust crates

Rank

Total Posts: 21

Joined 2016-12-26

PM

Hello Garmin/Dynastream Devs,

I'm the ANT/ANT+ lib maintainer for Arduino. I recently have taken an interest in Rust and have developed a ANT rust crate (cannot be shared yet but will be under Apache 2 License) and this one is targeting to support all ANT use cases (+, FS, etc) minus blaze.

I went searching the crates registry and noticed that a Garmin dev appears to own 3 ant crates (ant, ant-usb, ant-plus) but has not published a proper version yet. Looking at the repos on github they appear empty as well.

Right now I just have the serial driver implemented (essentially ant-arduino) and its at 3k lines of code + tests (not including blank or comment lines). Once I finish up some bugs and pass my companies internal release process for internal project I would like to publish to the crates registry. I was hoping Harrison would be open to transferring the crate names to me so we reduce the empty crate pollution in rust rather than me releasing under a suffix such as ant-rs. I might be able to share the code privately with you early if you wish to view it but it would be under the context of all rights reserved until my release is complete. Let me know if there is anything Garmin would like me to do to help with this release. Thanks      
Rank

Total Posts: 1

Joined 2018-09-30

PM

Did you ever make progress on Rust ANT+ crates?
Looking in Google and Github all I find is empty crates (probably squatters).
Looks like this is a known issue with the rust process      
Rank

Total Posts: 3

Joined 2014-10-05

PM

any activity at all before we start building Rust foreign function interfaces to the ANT libraries?      
Rank

Total Posts: 21

Joined 2016-12-26

PM

Apologies, somehow this forum is not making it to my inbox.

Harrison and I are working on a joint crate under the crate names "ant", "ant-sys" and "ant-derive"

The crate has not been published to crates.io yet but it is public now.

I have done a number of iterations on the design and am quite satisfied with this one going forward. One I get my TODOs down to a reasonable level and make it past a decent level of functionality I will publish it to crates.io      
Rank

Total Posts: 21

Joined 2016-12-26

PM

Also if you are testing for us, please use the development branch. Thanks      
Rank

Total Posts: 7

Joined 2023-05-02

PM

I will try it.      
Rank

Total Posts: 2

Joined 2022-07-16

PM

RubyGutierez - 10 May 2023 04:49 AM
I will try it.


Any update?      
Rank

Total Posts: 21

Joined 2016-12-26

PM

SheilaBrown - 17 June 2023 08:18 AM
RubyGutierez - 10 May 2023 04:49 AM
I will try it.


Any update?


Had a bit of blip due to personal events, will be resuming development hopefully in next week or so.

Current status is I'm working on the profile TX messaging system. Gone through a few iterations of the design trying to avoid allocs and caching of messages. Challenges revolve around:

- handling control datapages pages from slaves
- how to package messages in a coherent format while also exposing controls to specify underlying broadcast type (e.g. acknowledge vs broadcast)
- keeping the driver transmission pattern logical for bursting
- abstracting error paths to avoid generic hell
- finishing up the configuration helper to code duplication overhead

Any thoughts or opinions are welcome.

Also hit a bit of snag with USB subsystem when I tried to make it non-blocking so have a hack in there until i have time to rework that.

I plan on publishing a 0.X.0 release once I have a semi coherent and functional API complete.      
Rank

Total Posts: 7

Joined 2023-05-02

PM

cujo - 17 June 2023 09:54 AM
SheilaBrown - 17 June 2023 08:18 AM
RubyGutierez - 10 May 2023 04:49 AM
I will try it.


Any update?


Had a bit of blip due to personal events, will be resuming development hopefully in next week or so.

Current status is I'm working on the profile TX messaging system. Gone through a few iterations of the design trying to avoid allocs and caching of messages. Challenges revolve around:

- handling control datapages pages from slaves
- how to package messages in a coherent format while also exposing controls to specify underlying broadcast type (e.g. acknowledge vs broadcast)
- keeping the driver transmission pattern logical for bursting
- abstracting error paths to avoid generic hell
- finishing up the configuration helper to code duplication overhead

Any thoughts or opinions are welcome.

Also hit a bit of snag with USB subsystem when I tried to make it non-blocking so have a hack in there until i have time to rework that.

I plan on publishing a 0.X.0 release once I have a semi coherent and functional API complete.



Thank you for the update smile      
Rank

Total Posts: 7

Joined 2023-05-02

PM

cujo - 17 June 2023 09:54 AM
SheilaBrown - 17 June 2023 08:18 AM
RubyGutierez - 10 May 2023 04:49 AM
I will try it.


Any update?


Had a bit of blip due to personal events, will be resuming development hopefully in next week or so.

Current status is I'm working on the profile TX messaging system. Gone through a few iterations of the design trying to avoid allocs and caching of messages. Challenges revolve around:

- handling control datapages pages from slaves
- how to package messages in a coherent format while also exposing controls to specify underlying broadcast type (e.g. acknowledge vs broadcast)
- keeping the driver transmission pattern logical for bursting
- abstracting error paths to avoid generic hell
- finishing up the configuration helper to code duplication overhead

Any thoughts or opinions are welcome.

Also hit a bit of snag with USB subsystem when I tried to make it non-blocking so have a hack in there until i have time to rework that.

I plan on publishing a 0.X.0 release once I have a semi coherent and functional API complete.


How is it going now?      
Rank

Total Posts: 21

Joined 2016-12-26

PM

Got sidetracked by life unfortunately recently.

So bit slow, rewrote a lot of the config state machine. It should be ready for basic usb sync usage. HR Display is mostly working. HR sensor will be next and if i can get that to work i think we are good for v0.0.1

Async will be added later by Harrison, and will include abstractions for various async engines.

     
Rank

Total Posts: 7

Joined 2023-05-02

PM

cujo - 30 August 2023 07:54 PM
Got sidetracked by life unfortunately recently.

So bit slow, rewrote a lot of the config state machine. It should be ready for basic usb sync usage. HR Display is mostly working. HR sensor will be next and if i can get that to work i think we are good for v0.0.1

Async will be added later by Harrison, and will include abstractions for various async engines.



Ok, thank you.      
Rank

Total Posts: 21

Joined 2016-12-26

PM

Taking a break from the project, need to wrap up some other stuff and realized I made a major mistake with the callback system that breaks users ability to callback with context which will require a decent amount of rework. Will resume probably Q2 in the new year.      
Rank

Total Posts: 1

Joined 2023-12-22

PM

Any update?      
Rank

Total Posts: 21

Joined 2016-12-26

PM

unfortunately no, my personal life has taken my focus, likely till end of april. Not sure when Harrison will start on the project.

As for current functionality, you can use the library as is, the drivers work and the ANT and ANT+ message types are ready. Its just the intermediate routing layer you have to handle yourself till I can get around to fixing it in the lib.      
Rank

Total Posts: 1

Joined 2024-01-31

PM

Ok, thanks. Best of luck smile