tweedegolf / drive-rs

https://tweedegolf.github.io/drive-rs/
6 stars 0 forks source link

Adding crates that support multiple distinct devices #90

Open oddlama opened 10 hours ago

oddlama commented 10 hours ago

Is it possible to add a crate to this database which supports several different devices? I've recently been working on a more generalized driver crate called embedded-devices which abstracts register based devices of any kind. The idea was to make supporting async & non-async simultaneously less cumbersome and share some common abstractions and boilerplate such as SPI/I2C register access codecs. Currently I have 9 devices implemented in the framework (mostly temperature sensors and ADCs), but more are to come.

I love the idea of a search database, since crates.io is not always great for that. Unfortunately I don't understand whether it is intended or even possible to list my crate here (doesn't look like it), since it would require adding multiple addresses, footprints, links etc. per supported device. It seems like it is designed strictly for 1:1 crate to device relationships.

Is this generally something you'd like to have listed in the future?

tdittr commented 9 hours ago

Oh interesting approach, I know my colleague @diondokter was working on a similar Register abstraction device-driver.

Could you export your drivers as one crate per device? This would also help with compile times, once you accumulate more drivers, a user would always need to fetch and compile the drivers for all your supported chips. All those drivers could still use the common register abstraction generation as a dependency.

Otherwise you can also just add your crate here and leave out the device specific details, just listing the chip names and maybe dev-boards.