To apply for this task please complete this mandatory coding challenge together with your application: T871
Applications without matching coding challenge completed will not be considered.
Read our Google Summer of Code Overview page:
https://wiki.apertus.org/index.php/GSoC_Overview
To allow for testing our general purpose input device, the AXIOM Remote, in an automated way, we designed an interface (AXIOM Beta shield and Add-On PCB) which allows to press buttons and turn dials on the AXIOM Remote from the AXIOM Beta. The shield is connected to one of the routing fabric FPGAs so gateware needs to be developed.
Goals:
- Implement and test the HDL to press buttons and turn dials (encoder) via simple commands.
- Add advanced actions for testing (button bounce, encoder skipping, etc)
- Design a test framework (Python or C) which allows to run automated tests.
Prerequisites:
- Basic FPGA Know-How
- Basic Electronics Know-How
Language Skills:
- HDL (VHDL, Verilog, nMigen)
- Python or C
Useful Links:
- https://www.apertus.org/axiom-remote
- https://hackaday.com/2015/12/09/embed-with-elliot-debounce-your-noisy-buttons-part-i/
- https://en.wikipedia.org/wiki/Rotary_encoder
- http://vserver.13thfloor.at/Stuff/AXIOM/BETA/axiom_beta_shield_remote_v0.2_r1.1.pdf
Difficulty: Medium
Mentors: Bertl
To get in touch with any mentor check the Mentor Contact List.
Notes: If you do not have access to the required hardware platforms/dev kits, we will provide them (or remote access) to you for the duration of the project.