To apply for this task please complete this mandatory coding challenge together with your application: T1191
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
This a is a collection of small tasks that can be worked on in the course of a GSoC project. The scope is working on the AXIOM Remote hardware (https://wiki.apertus.org/index.php/AXIOM_Remote) which has a hardware prototype finished based on a PIC32 CPU and 320x240 pixel LCD. The software runs "bare metal" and there is no graphics acceleration meaning each pixel is drawn "manually" in the software.
The current AXIOM Remote software code can be found here: https://github.com/apertus-open-source-cinema/AXIOM-Remote/tree/dev/Firmware
Videos of the previous software and hardware are here: https://lab.apertus.org/T1116
We also have a hardware "emulator" called the AXIOM Remote Visualizer: https://github.com/apertus-open-source-cinema/AXIOM-Remote/tree/dev/AXIOM_Remote_Firmware_Visualizer that creates a software-only platform to work on the AXIOM Remote code.
Goals:
Implement:
- event handling (button interactions, turning the rotary knob, etc.)
- page setup
- add new UI classes
- Text input GUI (T1182)
- histogram, scopes and other graphs drawing (certain overlap with: T734)
- Optimize drawing
- add transition animations (T1173)
- Unit tests to verify proper implementation
- ...
Prerequisites:
- embedded systems basics (we use a Microchip PIC32MZ CPU) - Full Manual: https://www.alliedelec.com/m/d/1e5e0c2adda09fc1913391ccd4594515.pdf
Language Skills:
- C / C++
Difficulty: Medium
Mentors: Sebastian (@sebastian), Priya (@metal_dent)
To get in touch with any mentor check the Mentor Contact List.
Note: As this task requires certain hardware we provide remote access for testing and/or hardware emulation (https://github.com/apertus-open-source-cinema/AXIOM-Remote/tree/master/axiom_remote_visualizer).