Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #103, add option to configure base tick rate #104

Merged
merged 1 commit into from
Jan 21, 2022

Conversation

jphickey
Copy link
Contributor

@jphickey jphickey commented Dec 6, 2021

Describe the contribution
SCH_LAB was fixed at 1Hz because it bound to the 1Hz tick from CFE_TIME. This creates an OSAL timer instead, which posts a semaphore, and this can serve as a much more flexible time source, with configurable rate.

This still binds to 1Hz and the SCH does not start its first message until the first 1Hz is received, thereby keeping some form of 1Hz sync.

Fixes #103

Testing performed
Used this feature to send wakeup events to CF at 10hz instead of 1hz. (Locally configurable - other items in the table got changed from 4 to 40 to compensate and keep those at 0.25 Hz.)

Expected behavior changes
More configuration flexibility.

System(s) tested on
Ubuntu

Contributor Info - All information REQUIRED for consideration of pull request
Joseph Hickey, Vantage Systems, Inc.

SCH_LAB was fixed at 1Hz because it bound to the 1Hz tick from CFE_TIME.
This creates an OSAL timer instead, which posts a semaphore, and this
can serve as a much more flexible time source, with configurable rate.

This still binds to 1Hz and the SCH does not start its first message
until the first 1Hz is received, thereby keeping some form of 1Hz sync.
@jphickey jphickey added the CCB:Ready Pull request is ready for discussion at the Configuration Control Board (CCB) label Dec 6, 2021
OsStatus = OS_CountSemTake(SCH_LAB_Global.TimingSem);
if (OsStatus == OS_SUCCESS)
{
/* check for arrival of the 1Hz - this should sync counts (TBD) */
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we remove this TBD?

@astrogeco astrogeco removed the CCB:Ready Pull request is ready for discussion at the Configuration Control Board (CCB) label Dec 8, 2021
@astrogeco astrogeco mentioned this pull request Jan 19, 2022
astrogeco added a commit to nasa/cFS that referenced this pull request Jan 19, 2022
nasa/sch_lab#104, Add option to configure base tick rate
astrogeco added a commit to nasa/cFS that referenced this pull request Jan 20, 2022
nasa/sch_lab#104, Add option to configure base tick rate
astrogeco added a commit to nasa/cFS that referenced this pull request Jan 20, 2022
nasa/sch_lab#104, Add option to configure base tick rate
@astrogeco astrogeco merged commit 64612ec into nasa:main Jan 21, 2022
astrogeco added a commit to nasa/cFS that referenced this pull request Jan 21, 2022
Combines:

nasa/cFE#2019, cFE v7.0.0-rc4+dev60
nasa/osal#1212, osal v6.0.0-rc4+dev29
nasa/sch_lab#105, sch_lab v2.5.0-rc4+dev13

Includes:

*cFE*

nasa/cFE#2033, Add CFE_ES_AppInfo_t element documentation
nasa/cFE#2011, Reuse CodeQL, Static Analysis, and Format Check
nasa/cFE#2015, Add FS Functional test
nasa/cFE#2012, Fix mismatched foreach in cmake function
nasa/cFE#2013, Improved code highlighting in cFE Application Developers Guide
nasa/cFE#2027, CFE_FS_ParseInputFileNameEx avoid uninit var
nasa/cFE#2031, Fix array length calculation for perf structs
nasa/cFE#2023, Limit SBR UT loops
nasa/cFE#2029, Initialize BlockData in ES UT
nasa/cFE#2025, Fix osal_id_t type conversion in es_UT.c

*osal*

nasa/osal#1206, Search global and local symbol tables
nasa/osal#1201, Add missing space to UtAssert_STUB_COUNT
nasa/osal#1202, Add UINT8 and UINT16 equivalents for UtAssert_UINT32_<Comparison> macros
nasa/osal#1203, correct warnings on gcc11
nasa/osal#1211, Set output in OS_stat handler
nasa/osal#1190, Reuse CodeQL, Static Analysis, Format Check

*other*

nasa/sch_lab#104, Add option to configure base tick rate

*Continuous Integration Updates*

nasa/PSP#317, Reuse CodeQL, Static Analysis, and Format Check

nasa/sample_lib#72, Reuse CodeQL, Static Analysis, and Format Check
nasa/sample_app#162, Reuse CodeQL, Static Analysis, and Format Check
nasa/ci_lab#100, Reuse CodeQL, Static Analysis, and Format Check
nasa/to_lab#111, Reuse CodeQL, Static Analysis, and Format Check

nasa/tblCRCTool#59, Reuse CodeQL, Static Analysis, and Format Check
nasa/elf2cfetbl#97, Reuse CodeQL, Static Analysis, and Format Check
nasa/cFS-GroundSystem#200, Reuse CodeQL, Static Analysis, and Format Check

Co-authored-by: Ariel Adams     <ArielSAdamsNASA@users.noreply.github.com>
Co-authored-by: Jacob Hageman   <skliper@users.noreply.github.com>
Co-authored-by: Joseph Hickey   <jphickey@users.noreply.github.com>
Co-authored-by: Kurtis Dinelle  <kurtjd@users.noreply.github.com>
Co-authored-by: Paul            <paulober@users.noreply.github.com>
Co-authored-by: Adrien Chardon  <Nodraak@users.noreply.github.com>
@jphickey jphickey deleted the fix-103-faster-wakeup branch November 1, 2023 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow SCH_LAB to schedule faster than 1Hz
2 participants