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?
999 Happy Haunts: Why The Haunted Mansion is the Perfect Disney Ride (And Always Will Be)
Welcome, foolish mortals, to The Haunted Mansion.
You pass through the crypt doors, blinking in the harsh Florida (or California) sunlight. The real world feels loud and flat. You look back at the stately manor on the hill, its windows glowing faintly amber.
Here is why the Mansion remains the single greatest piece of Imagineering ever built. The genius of The Haunted Mansion is its tone. It isn't a gore-filled horror house (looking at you, Universal), and it isn't a childish kiddie ride. It’s a Gothic romance with a wink.
You’ll be back. They know you will. After all, there’s always room for one more.
It is Halloweentown meets Edgar Allan Poe. It is a seance conducted by a floating Madame Leota. It is the only place where you can be genuinely startled by a pop-up ghost in a doom buggy and then immediately laugh at a goofy ghost trying to blow out his own birthday candles. Here is the secret: The Haunted Mansion has no single, definitive story.
There is a specific moment, just after the "stretch room" floor levels out, that I fall in love with Disney theme parks all over again.
Spooky? Yes. Scary? No. Perfect? Absolutely.
The Hitchhiking Ghosts have followed you home. Or maybe... they were always there.
You step out of the octagonal chamber and into a long, dark hallway. The portraits on the walls seem to watch you. The candlelight flickers without a source. The air is cool, smelling faintly of dust, roses, and hydraulic fluid. Ahead of you, a pair of heavy wooden doors creak open on their own.
For over 50 years, this iconic attraction has been the perfect blend of spooky, silly, and spectacular. It isn’t the fastest ride in the park. It doesn’t have the tallest drop. But it has something far more valuable: atmosphere .
Disney Imagineer Marc Davis famously said, "We don't want to scare people to death—just to life." The Mansion walks that razor’s edge perfectly. You get the ominous organ music, the cobwebs, and the disembodied voice of the Ghost Host (RIP Paul Frees). But you also get the singing busts, the hitchhiking ghosts, and a bride who literally has a beating heart in a music box.
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.