All Projects → apertus-open-source-cinema → AXIOM-Remote

apertus-open-source-cinema / AXIOM-Remote

Licence: GPL-2.0 license
A device to control AXIOM cameras.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
Makefile
30231 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CMake
9771 projects

Projects that are alternatives of or similar to AXIOM-Remote

SAMD TimerInterrupt
This library enables you to use Interrupt from Hardware Timers on an SAMD-based board. These SAMD Hardware Timers, using Interrupt, still work even if other functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software timers using millis() or micros(). That's mandatory if you …
Stars: ✭ 28 (+16.67%)
Mutual labels:  device, control, hardware
Modiy
Modiy is an open-source hardware interface for modular synthesis.
Stars: ✭ 21 (-12.5%)
Mutual labels:  control, hardware
Hardware.Info
Battery, BIOS, CPU - processor, storage drive, keyboard, RAM - memory, monitor, motherboard, mouse, NIC - network adapter, printer, sound card - audio card, graphics card - video card. Hardware.Info is a .NET Standard 2.0 library and uses WMI on Windows, /dev, /proc, /sys on Linux and sysctl, system_profiler on macOS.
Stars: ✭ 238 (+891.67%)
Mutual labels:  device, hardware
malduino scripts
Some Malduino ducky scripts
Stars: ✭ 24 (+0%)
Mutual labels:  hardware, openhardware
detect-gpu
Classifies GPUs based on their 3D rendering benchmark score allowing the developer to provide sensible default settings for graphically intensive applications.
Stars: ✭ 749 (+3020.83%)
Mutual labels:  device, hardware
Detect Gpu
Classifies GPUs based on their 3D rendering benchmark score allowing the developer to provide sensible default settings for graphically intensive applications.
Stars: ✭ 460 (+1816.67%)
Mutual labels:  device, hardware
Luminous
Luminous provides you a lot of information about the system and a lot of handy methods to quickly get useful data on the iOS platform.
Stars: ✭ 298 (+1141.67%)
Mutual labels:  device, hardware
STM32 TimerInterrupt
This library enables you to use Interrupt from Hardware Timers on an STM32F/L/H/G/WB/MP1-based board. These STM32F/L/H/G/WB/MP1 Hardware Timers, using Interrupt, still work even if other functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software timers using millis() or micr…
Stars: ✭ 27 (+12.5%)
Mutual labels:  device, control
Hidguardian
Windows kernel-mode driver for controlling access to various input devices.
Stars: ✭ 138 (+475%)
Mutual labels:  device
awesome-hwd-tools
A curated list of awesome open source hardware design tools
Stars: ✭ 42 (+75%)
Mutual labels:  hardware
Mobile Device Detect
Detect mobile device and its type.
Stars: ✭ 132 (+450%)
Mutual labels:  device
Apple Device Model List
All Apple devices model name list. 通过内部编号判断 iOS 设备型号。
Stars: ✭ 149 (+520.83%)
Mutual labels:  device
basic-ecp5-pcb
Reference design for Lattice ECP5 FPGA. Featuring Raspberry Pi interface and 6 PMODs
Stars: ✭ 71 (+195.83%)
Mutual labels:  hardware
Easydeviceinfo
📱 [Android Library] Get device information in a super easy way.
Stars: ✭ 1,698 (+6975%)
Mutual labels:  device
PuTTY-ng
An improved multi-tabbed PuTTY with better user experience. This project is based on noddle1983's putty-nd.
Stars: ✭ 37 (+54.17%)
Mutual labels:  control
S2e
S2E: A platform for multi-path program analysis with selective symbolic execution.
Stars: ✭ 102 (+325%)
Mutual labels:  device
Fcuuid
iOS UUID / Universally Unique Identifiers library as alternative to UDID and identifierForVendor. 📱
Stars: ✭ 1,387 (+5679.17%)
Mutual labels:  device
Reactor-and-Turbine-control-program
This is my Reactor- and Turbine control program for ComputerCraft and BigReactors
Stars: ✭ 18 (-25%)
Mutual labels:  control
ColorPickerLib
A WPF/MVVM implementation of a themeable color picker control.
Stars: ✭ 44 (+83.33%)
Mutual labels:  control
NumericUpDownLib
Implements numeric up down WPF controls to edit/display values (byte, integer, short, ushort etc.) with a textbox and optional up/down arrow (repeat) buttons. Value editing is possible by dragging the mouse vertically/horizontally, clicking up/down buttons, using up/down or left right cursor keys, spinning mousewheel on mouseover, or editing th…
Stars: ✭ 68 (+183.33%)
Mutual labels:  control

AXIOM Remote

Build status

dev
CircleCI
codecov

Preview (3D)

http://apertus-open-source-cinema.github.io/AXIOM-Remote

Description

A 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.

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License 2 as published by the Free Software Foundation. for details see: LICENSE.txt

Folder Structure

/.vscode/ contains configurations for VS code IDE.

/Archive/ contains old outdated projects related to the AXIOM Remote.

/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.

/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.

/Common/ contains general code and definition that are used in several projects in this repository.

/datasheets/ contains datasheets related to the used hardware (TFT and TFT controller, etc.).

/Docs/ contains illustrations and drawings

/Firmware/ contains the actual Firmware of the AXIOM Remote - this is the main folder of this repository. See the README.md inside the subfolder for more documentation about the GUI structure of the AXIOM Remote.

/FirmwareTest/ contains unit tests of the Firmware.

Build instructions

Fetch the Microchip XC32/XC32++ compiler for your OS

https://www.microchip.com/mplab/compilers. We have tested the code up to compiler version 3.0.

To 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.

Bootloader

  • Open Bootloader folder in terminal
  • Execute make or when rebuilding make clean && make
  • HEX and ELF files would placed in the build folder
  • After flashing connect with minicom and reset the board, after a short moment the information about west key manager will be shown

Firmware

  • Open Firmware folder in terminal
  • Execute make or when rebuilding make clean && make
  • HEX and ELF files would placed in the build folder

Flash instructions

Note 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.

IPE

  • Open IPE and connect to your PICKit3 or later, drag and drop the HEX file into the IPE window
  • Click Program, after a moment it should be finished and main menu with 6 buttons shown

pic32prog

  • Acquire binary or build from source from: https://github.com/sergev/pic32prog to flash with PICKit2
  • run pic32prog yourfile.hex and you should see a progress bar of the flashing/verification process

If 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:

ATTR{idVendor}=="04d8", MODE="664", GROUP="plugdev"

The idVendor should be looked up with lsusb, in case of the PICkit2 it looks like this:

Bus 003 Device 002: ID 04d8:0033 Microchip Technology, Inc. PICkit2

Development Environment

We use Visual Studio Code (https://code.visualstudio.com/) as IDE and supply some configurations for it in /.vscode/ . This means its important to open the root folder of this repo in VS code.

We recommend installing the VsCode Action Buttons extension: https://marketplace.visualstudio.com/items?itemName=seunlanlege.action-buttons and configurations (.vscode/settings.json) to add buttons to compile and flash the AXIOM Remote.

Developing inside Docker container

To 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:

  • Open the repository folder in VSCode
  • Install Remote - Containers extension
  • Click on the green button in the lower-left corner and select Remote-Containers: Reopen in Container
Remote container button Remote container dialog
  • Use the terminal in VSCode for builds, like you've did on your machine before
    • minicom and pic32prog are already included, if required

Coding Guidelines

Please refer to the CodingGuidelines.md

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].