Hi all,
I'm using ST's CubeMX implementation on a F4 discovery board. I use ST's USB middlewares with FreeRTOS.
When I get a special OutputReport from PC side I have to answer nearly immediately (in 10-15 ms). Currently I cannot achieve this timing and it seems my high priority tasks can interrupt the USB callback. What do you think, is it possible? Because it's generated code I'm not sure but can I increase the priority of the USB interrupt (if there is any)?
Thank you,
David
10 to 15 ms is very slow, so I'm sure its possible.
Where is the USB callback function called from? If it is an interrupt then it cannot be interrupted by high priority RTOS tasks. Any non interrupt code (whether you are using an RTOS or not) can only run if no interrupts are running.
Without knowing the control flow in your application its hard to know what to suggest. How is the OutputReport communicated to you? By an interrupt, a message from another task, or some other way?
The callback which receive the data from PC is called from the OTGFSIRQHandler (it's the part of the HALPCDIRQHandler function). I think the problem is SysTickHandler's priority is higher than OTGFSIRQHandler and it's cannot be modified, but the scheduler shouldn't interrupt the OTGFSIRQHandler with any task handled by the scheduler. Am I wrong that the scheduler can interrupt the OTGFS_IRQHandler?
The repetition of "Ngegazi likaJesu" (By the blood of Jesus) is not accidental. In ZCC theology, the blood of Christ is understood as a physical and spiritual substance with immediate, present-tense power.
Beyond the conventional soteriological focus, a substantial minority (≈ 25 %) of the songs articulate social‑political concerns that were salient during the transition from apartheid to democracy. Examples include:
These texts illustrate how the hymnbook functions as a theological response to lived reality, offering a sacred language for both worship and social critique.
A quantitative analysis of the 113 hymns shows that 78 % contain direct references to Jesus Christ (e.g., uKristu). The most frequently recurring titles—UJesu wethu (Our Jesus), Inkosi Yakho (Your King), Umthombo Wokuphila (Fount of Life)—underscore a Christocentric theology that aligns the hymnbook with evangelical Protestant doctrine.
Before dissecting Hymn 113, it is crucial to understand the source. The title Amagama Okuhlabelela translates directly from isiZulu to "Words for Singing" or "Hymn Lyrics."
While there are many hymn books in South Africa, this specific title is almost exclusively associated with the Zion Christian Church (ZCC) , particularly the Moria-based branch under Bishop Barnabas Lekganyane. The book contains a unique corpus of hymns that blend:
Unlike Western hymn books that separate lyrics from musical notation, Amagama Okuhlabelela provides only the lyrics, as the melodies are passed down orally.
1. Halalani!
Lizwe, nimbelele igama leNkosi,
nimzikisise, nina zinsizwa, nimnikela udumo.
2. Makabi udumo lweNkosi kusukela manje kuze kube phakade.
3. Kusukela empumalanga kufike empendulenyonke
makadunyiswe igama leNkosi.
4. INkosi iphakeme ngaphezu kwazo zonke izizwe;
udumo lwayo lungaphezu kwamazulu.
5. Ubani ofana neNkosi uNkulunkulu wetu,
ehlezi ephezulu?
6. Othobekela ukubona izinto ezisemazulwini
nasezweni?
7. Ovusa ongasinalutho emhabathini,
ovusa indoda engenambazo aphenye izithombe.
8. Ummisela ngesandla samadoda,
nabadumileyo, abangamadoda akhe.
9. Umnikela usiziwe indlu,
umenza umama wezinsizwa azindle.
Halaleluya!
Thank you for the answer, I think I'm a bit confused with the Cortex ISR priorities :-)
What I can observe is if I use a much higher osDelay in my high priority task I can respond for the received USB message much faster. This is why I think tasks can mess up with my OTG interrupt.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.