To apply for this task please complete this mandatory coding challenge together with your application: T872 or T1140
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 be able to control the camera from AXIOM Remote, a communication channel has to be implemented, this includes extending AXIOM Remote firmware, as well as control daemon. Main preference is UART via USB, RS232 or RS485
Goals:
- Add UART/socket communication to the control daemon
- Extend the daemon with parameters which can be controlled by the firmware later
- Add UART communication to the AXIOM Remote firmware
- Implement additional menus to control previously added parameters
Prerequisites:
- Embedded systems basics (we use a Microchip PIC32MZ CPU) - Full Manual: https://www.alliedelec.com/m/d/1e5e0c2adda09fc1913391ccd4594515.pdf
Language Skills:
- C for PIC32 firmware
- C++ for control daemon
Difficulty: Medium
Mentors: Andrej (main mentor), Bertl (backup/co mentor)
Notes:
- The PIC32 handles the low level stuff and the electrical interface
- On top of that to use UART over USB (or HID, which might be interesting too) on the PIC32, the USB stack needs to be implemented.
- So the suggested steps would be something like:
- plan what PIC32 based device(s) are realized via USB - any development board with the PIC32 works
- make a test setup with Harmony (Microchips USB Framework) to see how/that it works
- adapt this to work without the Microchip libraries/framework (see Documentation below)
Documentation:
http://ww1.microchip.com/downloads/en/DeviceDoc/61126F.pdf
http://ww1.microchip.com/downloads/en/DeviceDoc/60001191G.pdf (section 11) https://www.microchip.com/forums/m1017383.aspx
Links:
- Repository: https://github.com/apertus-open-source-cinema/AXIOM-Remote
- Wiki: https://wiki.apertus.org/index.php/AXIOM_Remote
To get in touch with any mentor check the Mentor Contact List.