To apply for this task please complete this mandatory coding challenge together with your application: T872
Applications without matching coding challenge completed will not be considered.
---
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:** Low - Medium
**Mentors:** Andrej, Herbert
**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 [[ https://www.apertus.org/GSoC-2019-Mentor-Contact-List | Mentor Contact List]].