nasa / PSP

The Core Flight System (cFS) Platform Support Package (PSP)
Apache License 2.0
68 stars 56 forks source link

PSP API for onboard devices #33

Closed skliper closed 4 years ago

skliper commented 4 years ago

This has been split off from #6 PSP needs to define some common API/framework for communication with onboard devices. This would present a consistent API so CFS code can be better abstracted from the hardware implementation details.

For instance, if a serial controller device is present on the board, it would speak the same protocol regardless of whether the physical devices is connected over RS232, RS485, an LVDS link, or some other link. However the configuration API and the means to communicate over these different types of interfaces differs. Some boards might have dedicated hardware channels, others might "bit bang" with GPIO, etc.

The PSP should abstract this difference and present a similar API so the CFS code that talks to these devices can be portable. The standardization work being performed by the CCSDS SOIS working group may be relevant here as well.

skliper commented 4 years ago

Imported from trac issue 29. Created by jphickey on 2015-07-17T11:26:14, last modified: 2019-08-14T14:13:14

skliper commented 4 years ago

Trac comment by jphickey on 2016-06-01 13:16:56:

Commit [changeset:b1e5fb1] contains an implementation of this concept.

This uses the "module" infrastructure to implement pluggable I/O device drivers. Branch is trac-29-psp_device_api

skliper commented 4 years ago

Trac comment by jhageman on 2019-06-24 16:06:28:

Status? Rebase?

skliper commented 4 years ago

Hardware support/interface standardization outside of what is needed by CFE is outside the scope of the community framework. It's certainly valuable work, just not with the limited framework resources.