Skip to content

draft: Asyncio conversion - #62

Open
ptsOSL wants to merge 12 commits into
mainfrom
asyncio-conversion
Open

ptsOSL wants to merge 12 commits into
mainfrom
asyncio-conversion

Conversation

@ptsOSL

@ptsOSL ptsOSL commented Oct 2, 2026 •

Copy link
Copy Markdown
Collaborator
  • Convert atip to asyncio
  • Run the simulation recalculation in a seperate process which is awaited
  • Add CLI argument to allow users to test atip
    TODO: Fix tests

ptsOSL added 12 commits October 1, 2026 16:59
Added a single place to define the ringmodes to tests.
Created a combined fixture for loading both a pytac and
atip lattice. Added a new test which tests just loading
of the atip lattice.
Added: Awaits and asyncio, switch from cothread queue to asyncio queue, caput/cage/camonitor from aioca instead of cothread, changed how the code is run (now uses asyncio.run()), made some necessary changes to events and when they are set/cleared, removed most references to cothread besides a few in the documentation which will be updated seperately and those in create_csv.py which will be updated later
CPU intensive recalculations are now done on a seperate cpu core. This means can now handle CA requests at the same time as doing the calculation. Fresh values will only be output to records after recalculation is done while the up_to_date event is set. So the output pvs will still be to date with the last processed pv setpoint. There may still be setpoints in the queue waiting to be processed, so the output data will not be up to date with these
Add test functionality to atip as well as configuration to run it from vscode. This means that something actually happens when you run the 'atip' command if you pass '-t'. This makes it easier to test atip without virtac. Also changed vscode default CA ports to 806*.
This is not needed as we use argparse

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant