To apply for this task please complete this mandatory coding challenge together with your application: T1140
Applications without matching coding challenge completed will not be considered.
---
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/master/AXIOM_Remote_Prototype_V01.X
Videos of the current software and hardware are here: https://lab.apertus.org/T1116
**Goals:**
Implement:
- event handling (button interactions, turning the rotary knob, etc.)
- page setup
- histogram, scopes and other graphs drawing (certain overlap with: T734)
- preset storing (save all current camera/config parameters/states into external flash storage) also the loading routines for presets to do the reverse thing
- shutdown routines (save preset then display power off sequence, then turn off all components)
- investigate power saving modes (put the PIC32 into a sleep mode and turn off the display)
- LCD dimming through PWM control of the LCD LEDs.
**Prerequisites:**
- embedded systems basics (we use a Microchip PIC32MZ CPU) - Full Manual: https://www.alliedelec.com/m/d/1e5e0c2adda09fc1913391ccd4594515.pdf
**Language Skills:**
- C
**Difficulty:** Medium
**Mentors:** Sebastian, Andrej
To get in touch with any mentor check the [[ https://www.apertus.org/GSoC-2019-Mentor-Contact-List | 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).