-
Notifications
You must be signed in to change notification settings - Fork 0
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
Explore Fprime sequencer (scheduler) and if possible modify to enforce accuracy to the second #19
Comments
Notes to self:
More tests today with nothing else running: Would need to run on a minimal Linux machine or something to test thoroughly, but I'm not sure if it will have high enough resolution |
Great work! Seems like there is around 2 seconds of delay from when the command is time stamped to when the activity is actually called ... Could you post your system please? We should try this test on a pi or zybo running nothing else but the OS as well and compare. |
Yeah I think testing like that would be a good idea. Not sure exactly what info is needed but it's on my asus zenbook laptop, intel i7 cpu @ 1.8GHz, 16GB RAM, x64-based processor running 64-bit windows 11, but run inside the docker container you made through VScode. I think doing something like Ron said of using this to wake up the general task but then having a higher resolution timer inside the F Prime command invoked may be the way to go. |
Yea good call. We could maybe tell every time sensitive Fprime command to execute on the sequencer like 10ish seconds before the time sensitive one is supposed to, and then use that to trigger a higher resolution task in the OS using system time.... The question then becomes what the typical latency is for an OS to spawn a task, how to prioritise this task (if that's possible). |
Been playing around with the Hello World command and got it to always send timed on a round second (see log - command sent earlier but only executed at round times). Now I'm going to try to dive in and alter the actual command sequencer code to implement so any type of command can be run at the exact precision written (this will mean making the command wake up earlier and then sleeping to the exact millisecond). |
Awesome! I would love to see your modifications. Do you think maybe you could create a separate repo and share that with those mods? |
Here is doc link: And that's a good idea, I'll share a repo once I am able |
Make notes on how the Fprime sequencer internals work, including how and where its associated scheduled commands are stored.
July 18th update: Not much done, continued playing around and experimenting with timing and lag, looked for more resources on the topic, etc. Won't be able to make the teamwide tonight as something has come up at work
The text was updated successfully, but these errors were encountered: