SoC Firmware for L1Calo
What is Ironman?
Ironman is a general purpose software toolbox to be run on L1Calo hardware with embedded processors (SoCs).
Look how easy it is to use
>>> import ironman >>> # Get your stuff done >>> ironman.engage()
- Be awesome
- Make things faster
Install ironman by running
pip install ironman
If it is your first time…
git clone firstname.lastname@example.org:kratsg/ironman cd ironman && mkvirtualenv ironman pip install -r requirements.txt
and then afterwards…
workon ironman python setup.py develop ... do work here ... pip uninstall ironman
If you are having issues, let us know.
- Do some work on your package (i.e. fix bugs, add features, etc)
- Make sure the tests pass. Run tox (for just tests) tox -e coverage (for tests and coverage)
- Update the __version__ number in your package’s **init**.py file
- “Freeze” your code by creating a tag: git tag -a x.y.z -m "Your message here..."
- Run python setup.py sdist upload to upload the new version of your package to PyPI
Since we will be predominantly using Twisted within the Zynq to manage the Reactor workflow (“callbacks”), I suggest reading through this tutorial on your own time to get up to speed on how it works and some details of sockets.
I’m following the guide based on sandman here
- split udp and tcp into different, separate protocols: http://stackoverflow.com/questions/33224142/twisted-protocol-that-simultaneously-handles-tcp-and-udp-at-once
- make it like twisted.web - we build Request objects which need to find Resource objects that provide actions (maybe too complicated, try and simplify?) link