To apply for this task please complete this mandatory coding challenge together with your application: T1162
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
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
**Goals:**
Implement:
- LVP (Low Voltage Programming) for PIC16s.
- PIC32 self-programming.
- Preset store (save all current camera/config parameters/states into external flash storage) and load routines.
- Shutdown routines (preset store, display power off, component power down).
- Investigate power saving modes (PIC32 low power and sleep mode).
- LCD dimming through PWM control of the LCD LEDs.
- Communication between bootloader and firmware.
- Host (PC/Axiom Beta) software to flash PIC16 and PIC32 firmware via USB.
- Unit tests to verify proper implementation.
**Prerequisites:**
- PIC32MZ2048ECG100 (see Documents for datasheet): https://www.microchip.com/wwwproducts/en/PIC32MZ2048ECG100
- PIC16F1718 (see Documents for datasheet): https://www.microchip.com/wwwproducts/en/PIC16F1718
**Language Skills:**
- C / C++
- GCC linker scripts
**Difficulty:** Medium/High
**Mentors:** Andrej, Supragya
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).