Docs re-write, including for asyncio support#14
Conversation
Extracted out the example file for ease of code sharing. Need to extract "creating a publishable ioc" into a how-to guide shortly.
Includes extracting out the creation of publishable IOC to a separate how-to page (which is currently just a copy-paste of the text from the tutorial page)
It still doesn't work as I expect - the second caget on AI always returns 5.0, not 999...
Add a docstring to AsyncioDispatcher.__init__ to suppress the docstring from threading.Thread, which is misleading.
Codecov Report
@@ Coverage Diff @@
## master #14 +/- ##
=======================================
Coverage 81.80% 81.80%
=======================================
Files 13 13
Lines 797 797
=======================================
Hits 652 652
Misses 145 145
Continue to review full report at Codecov.
|
thomascobb
left a comment
There was a problem hiding this comment.
Looking good, hopefully you can remove lots of :role: prefixes, but the content looks fine
| .. note:: | ||
| You may see warnings regarding the missing "caRepeater" program. This is an EPICS tool | ||
| that is used to track when PVs start and stop. It is not required for this simple example, | ||
| and so the warning can be ignored. |
There was a problem hiding this comment.
According to DiamondLightSource/aioca#12 (comment) then if you upgrade the epicscorelibs dependency to epicscorelibs>=7.0.5.99.1.0a2 (in pyproject.toml) then remove the Pipfile.lock and run pipenv --rm && pipenv install --dev then these warnings should go away. Please could you try that?
There was a problem hiding this comment.
Doing this update causes tests to fail due to a missing import. I also see the same error when just trying to start up my example IOCs:
File "docs/examples/example_cothread_ioc.py", line 2, in <module> from softioc import softioc, builder ModuleNotFoundError: No module named 'softioc'
I can verify that this is entirely caused by changing the epicscorelibs dependency - swapping the required version back and reinstalling the pipenv makes the tests (and my example IOCs) work again.
I can't say I understand this error at the moment, so I'll investigate it a little more.
There was a problem hiding this comment.
Oops, you need to do dls-py3 download-one-dependency epicscorelibs 7.0.5.99.1.0a2 first
Wrote several how-to guides, re-wrote the "Creating an IOC" tutorial, wrote example code for IOCs using cothread and asyncio, and another example for how to remotely read from those example IOCs.