{"id":26353811,"url":"https://github.com/apertus-open-source-cinema/axiom-remote","last_synced_at":"2025-03-16T11:28:19.540Z","repository":{"id":8842208,"uuid":"10547467","full_name":"apertus-open-source-cinema/AXIOM-Remote","owner":"apertus-open-source-cinema","description":"A device to control AXIOM cameras.","archived":false,"fork":false,"pushed_at":"2023-05-24T22:18:06.000Z","size":60976,"stargazers_count":25,"open_issues_count":11,"forks_count":28,"subscribers_count":9,"default_branch":"dev","last_synced_at":"2023-09-11T19:30:38.339Z","etag":null,"topics":["apertus","axiom","c-plus-plus","camera","control","device","embedded","hardware","openhardware","pic32"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apertus-open-source-cinema.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-06-07T10:13:50.000Z","updated_at":"2023-09-08T16:39:56.000Z","dependencies_parsed_at":"2022-07-26T00:33:01.530Z","dependency_job_id":null,"html_url":"https://github.com/apertus-open-source-cinema/AXIOM-Remote","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apertus-open-source-cinema%2FAXIOM-Remote","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apertus-open-source-cinema%2FAXIOM-Remote/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apertus-open-source-cinema%2FAXIOM-Remote/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apertus-open-source-cinema%2FAXIOM-Remote/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apertus-open-source-cinema","download_url":"https://codeload.github.com/apertus-open-source-cinema/AXIOM-Remote/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243860270,"owners_count":20359695,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apertus","axiom","c-plus-plus","camera","control","device","embedded","hardware","openhardware","pic32"],"created_at":"2025-03-16T11:28:18.918Z","updated_at":"2025-03-16T11:28:19.515Z","avatar_url":"https://github.com/apertus-open-source-cinema.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AXIOM Remote\n\n## Build status\n\n| dev |\n|:------:|\n|[![CircleCI](https://circleci.com/gh/apertus-open-source-cinema/AXIOM-Remote/tree/dev.svg?style=svg)](https://circleci.com/gh/apertus-open-source-cinema/AXIOM-Remote/tree/dev)|\n|[![codecov](https://codecov.io/gh/apertus-open-source-cinema/AXIOM-Remote/branch/dev/graph/badge.svg)](https://codecov.io/gh/apertus-open-source-cinema/AXIOM-Remote)\n\n## Preview (3D)\nhttp://apertus-open-source-cinema.github.io/AXIOM-Remote\n\n## Description\n\nA universal remote control with buttons, dials and an LCD for menu/settings (no live video) for AXIOM devices and potentially many other things as well.\n\n## License\n\nThis program is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License 2 as published by the Free Software Foundation.\nfor details see: LICENSE.txt\n\n## Folder Structure\n\n```/.vscode/``` contains configurations for VS code IDE.\n\n```/Archive/``` contains old outdated projects related to the AXIOM Remote.\n\n```/AXIOM_Remote_Firmware_Visualizer/``` contains the AXIOM Remote Visualizer - a tool to emulate the actual code running on the PIC32 and pixels displayed on the 320x240 LCD on a PC.\n\n```/Bootloader/``` The Bootloader will be used for handling of periphery (LCD, USB-UART, I2C) and updating the firmware of the main PIC32 and also the east and west PIC16s (key managers) without a dedicated programming hardware.\n\n```/Common/``` contains general code and definition that are used in several projects in this repository.\n\n```/datasheets/```  contains datasheets related to the used hardware (TFT and TFT controller, etc.).\n\n```/Docs/``` contains illustrations and drawings\n\n```/Firmware/``` contains the actual Firmware of the AXIOM Remote - this is the main folder of this repository. See the [README.md](/Firmware/README.md) inside the subfolder for more documentation about the GUI structure of the AXIOM Remote.\n\n```/FirmwareTest/``` contains unit tests of the Firmware.\n\n## Build instructions\n\n### Fetch the Microchip XC32/XC32++ compiler for your OS\n\n[https://www.microchip.com/mplab/compilers](https://www.microchip.com/mplab/compilers). We have tested the code up to compiler version 3.0.\n\nTo be able to build, the variable **XC32_PATH** in the Makefile of firmware and bootloader has to be adjusted to the actual install path of XC32.\n\n### Bootloader\n\n- Open **Bootloader** folder in terminal\n- Execute **make** or when rebuilding **make clean \u0026\u0026 make**\n- **HEX** and **ELF** files would placed in the **build** folder\n- After flashing connect with **minicom** and reset the board, after a short moment the information about west key manager will be shown\n\n### Firmware\n\n- Open **Firmware** folder in terminal\n- Execute **make** or when rebuilding **make clean \u0026\u0026 make**\n- **HEX** and **ELF** files would placed in the **build** folder\n\n## Flash instructions\n\nNote that with the current hardware the PICKit2 needs to stay connected for normal operation even when flashing has been completed as the PICkit2 pulls down the RESET signal.\n\n### IPE\n\n- Open IPE and connect to your PICKit3 or later, drag and drop the HEX file into the IPE window\n- Click **Program**, after a moment it should be finished and main menu with 6 buttons shown\n\n### pic32prog\n\n- Acquire binary or build from source from: \u003chttps://github.com/sergev/pic32prog\u003e to flash with PICKit2\n- run **pic32prog yourfile.hex** and you should see a progress bar of the flashing/verification process\n\nIf ```pic32prog``` only works with ```sudo``` add your user to the plugdev group and add the following udev rule to /etc/udev/rules.d/26-microchip.rules (create file if it does not exist) and reboot:\n\n```\nATTR{idVendor}==\"04d8\", MODE=\"664\", GROUP=\"plugdev\"\n```\n\nThe idVendor should be looked up with ```lsusb```, in case of the PICkit2 it looks like this:\n\n```\nBus 003 Device 002: ID 04d8:0033 Microchip Technology, Inc. PICkit2\n```\n\n## Development Environment\n\nWe use Visual Studio Code (\u003chttps://code.visualstudio.com/\u003e) as IDE and supply some configurations for it in /.vscode/ .\nThis means its important to open the root folder of this repo in VS code.\n\nWe recommend installing the VsCode Action Buttons extension: \u003chttps://marketplace.visualstudio.com/items?itemName=seunlanlege.action-buttons\u003e and configurations (.vscode/settings.json) to add buttons to compile and flash the AXIOM Remote.\n\n\n### Developing inside Docker container\n\nTo avoid the need to install all the required and helpful tools, you can also use a Docker container we provide for development. Follow the steps to set it up in VSCode:\n\n- Open the repository folder in VSCode\n- Install **Remote - Containers** extension\n- Click on the green button in the lower-left corner and select **Remote-Containers: Reopen in Container**\n\nRemote container button | Remote container dialog\n:-------------------------:|:-------------------------:\n![](Docs/Remote_container_button.png) | ![](Docs/Remote_container_reopen.png)\n- Use the terminal in VSCode for builds, like you've did on your machine before\n  - **minicom** and **pic32prog** are already included, if required\n\n\n## Coding Guidelines ##\n\nPlease refer to the [CodingGuidelines.md](CodingGuidelines.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapertus-open-source-cinema%2Faxiom-remote","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapertus-open-source-cinema%2Faxiom-remote","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapertus-open-source-cinema%2Faxiom-remote/lists"}