You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
MCP750 currently uses a (Very inaccurate) infinite loop with an OS_TaskDelay() to mimic a 1Hz callback. This is inaccurate as it drifts over time and not the best way to create a 1Hz tick.
Describe the solution you'd like
In pc-linux and pc-rtems this just sets up a timebase object so CFE_TIME (or anything else) can register their own 1Hz timer and have it by synchronized to the PSP Time source. Recommend to use this on MCP750 too.
Additional context
Infinite loops with no exit condition are also bad for unit testing.
This code to set up a PSP timebase using kernel timer could be modularized, as the implementation is already abstracted in OSAL.
Requester Info
Joseph Hickey, Vantage Systems, Inc.
The text was updated successfully, but these errors were encountered:
The time has now come where this probably needs to be addressed. With the facility now provided via #264 the "preferred" 1Hz/timing logic for example platforms (where it is generated from OSAL) can be put into a module and used on all 3 platforms.
Making a module still allows easy customization for users that do not want to use OSAL/RTOS timers as the source of 1Hz/timing info.
I also need this (or something like it) to provide a better alternative to CFE_PSP_GetTime() so that nasa/cFE#1244 can be solved.
Add a new PSP module that instantiates an OSAL abstract timebase
for use with cFE services. This single module is then used
across all 3 implementations (mcp750, pc-linux, pc-rtems) and
does not need to be duplicated.
Add a new PSP module that instantiates an OSAL abstract timebase
for use with cFE services. This single module is then used
across all 3 implementations (mcp750, pc-linux, pc-rtems) and
does not need to be duplicated.
Is your feature request related to a problem? Please describe.
MCP750 currently uses a (Very inaccurate) infinite loop with an
OS_TaskDelay()
to mimic a 1Hz callback. This is inaccurate as it drifts over time and not the best way to create a 1Hz tick.Describe the solution you'd like
In pc-linux and pc-rtems this just sets up a timebase object so CFE_TIME (or anything else) can register their own 1Hz timer and have it by synchronized to the PSP Time source. Recommend to use this on MCP750 too.
Additional context
Infinite loops with no exit condition are also bad for unit testing.
This code to set up a PSP timebase using kernel timer could be modularized, as the implementation is already abstracted in OSAL.
Requester Info
Joseph Hickey, Vantage Systems, Inc.
The text was updated successfully, but these errors were encountered: