awygle wrote:I'm very interested in what you come up with here. I've been writing EX drivers for a couple of RF transceiver chips lately and those things have a *ton* of configuration parameters. Currently I'm exposing more-or-less all of them in the Config struct and making sure to put together a sensible default_config to act as a starting point. When those are a little further along I'll post the code and you can see what too much configuration looks like
This is not directly related to this topic, but I have quite a bit of experience in RF modules (at least the HopeRF modules), and while you may want to tweak some parameters, generally most of the parameters are highly dependent on other parameters. Most of the parameters can be set in a lookup table based on RF datarate. In fact, for the RFM22B there's a spreadsheet where you put in the datarate (and maybe another parameter or two) and it spits out most of the register settings.
As for MEMS sensors, you probably want to control most of the parameters, but I wouldn't put any biases or scales. They are required, but they're not something that you can default in a standard configuration, and they're easy enough to apply externally.
Another couple of complications is that some sensor allow you to chain sensors onto them. This is common to add e.g. an external magnetometer or pressure sensor. Some even support full attitude solutions in addition to the raw sensor values.