> >- Share the same ADC values among multiple threads with different > priorities, > >like a high-priority safing algorithm, a medium priority control > algorithm, and a > >low-priority CAN broadcast thread. > > > >- Share the same ADC values among threads with different needs—the three > >listed above only care about the latest value, while a datalogging thread > that > >saves to flash memory would want to save data in chunks. > >de-serializing the messages as they arrive. >
Some of this data distribution may be addressed by the cluster driver logic in the OS. Bob Feretich added this a long time ago, but it has seen little use. See: https://github.com/apache/incubator-nuttx/blob/master/include/nuttx/sensors/cluster_driver.h https://github.com/apache/incubator-nuttx/blob/master/drivers/sensors/README.txt#L49 The Sony Spresense offers a a hardware solution that also distributes sensor data. Ideally, we should take one driver model and extend and enhance it rather than re-inventing it periodically.