Coder Social home page Coder Social logo

janc18 / cae32 Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 1.0 9.44 MB

Simracing equipment, including hardware, software, and firmware design.

Home Page: https://cae32-docs.readthedocs.io

License: GNU General Public License v3.0

Shell 2.45% C 84.91% Makefile 1.20% CMake 3.47% Dockerfile 0.16% C++ 7.82%
esp32 esp32-idf firmware gtk3 hardware-designs pcb stm32 usb-hid open-source-hardware simracing

cae32's Introduction

CAE32

CAE32 is a project for building and developing all stages of a gaming wheel for PC, specifically for the GNU/Linux operating system.

If you want to contribute, please read the CONTRIBUTING-english.md file.

Si tu quieres contribuir, por favor lee el documento CONTRIBUTING.md

Overall current status

Developing the UML diagram of the whole system

PCBs

status_pedals

status_shifter

status_steering_wheel

Firmware

Working on the development of the UML diagram for the pedals firmware

Software

Needed the improvement of compilation and flags for the user interface

The stages include:

  • PCB Design
  • Firmware
  • Driver (Kernel module if necessary)
  • Configuration and calibration through a graphical user interface (GTK-3)
  • Design of mechanisms for pedals, gear lever, and wheel
  • Power PCB design for feedback motor control (FFB)

PCB Sponsored by PCBWay

4

The PCB quality is excellent, the contact with the support service is good, they responded very quickly in the case of any issue, and it has a good PCB finish using the STM assembly service, all the IC pads are correctly soldered. Overall, the total cost of 5 PCBs and 2 PCBs with the assembly service is a very accessible, so I will keep using PCBWAY to build the next PCB iterations

PCBWay Webpage

Programming Frameworks and Tools

  • Espressif (ESP-IDF)
  • STM32CubeIDE
  • STM32CubeProgrammer

User Interface

The interface is developed with the GTK 3 framework, which will allow configurations such as:

  • Visualization of data graphically and textually (console)
  • Transmission type (Manual, Automatic, Sequential, custom) Natively
  • Pedal limits, sensitivity
  • Pedal type
    • Analog input (Potentiometer, Hall effect, and load cell)
    • SPI, I2C input (Custom sensor)
  • Firmware update

How to compile the project

  1. Install all the dependencies
sudo apt install cmake make gcc pkgconf libevdev-dev libgtk-3-dev libgtk-3-0 libgtest-dev
  1. Run the script to check if all the dependencies was successfully installed
./Source_code/checking_dependency.sh
  1. Execute the Makefile to build the graphic interface and the unit tests
make -C Source_code/

cae32's People

Contributors

janc18 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

zafiro1996

cae32's Issues

Calcular consumo de PCB

Revisar en la hoja de datos de cada componte (IC's) su consumo(mAh) y anotarlo en el esquema eléctrico

Añadir serigrafía a la PCB

Agregar la siguiente serigrafía a la PCB

  • Símbolos de open hardware

  • Easter egg

Image

  • Datos de PCB (URL de REPO, número de revisión, versión de PCB)

  • Añadir nombres de puertos correspondientes (UART, CAN, SPI, etc.)

Crear un archivo docker

Para que sea más sencillo realizar la construcción y pruebas unitarias, lo conveniente es crear un contenedor con todas las dependencias necesarias.

Para compilar

  • Interfaz de usuario(GTK3)
  • Firmware (ESP-IDF y "STM en el caso de que sea posible")

cutOutPcb

I am very interested in your PCB control board

Crear tests para GUI y dispositivo

Como buen software en desarrollo requiere de pruebas.

Para probar la GUI y el dispositivo HID, es posible crear un dispositivo virtual HID conocido como modulo uinput, aquí se encuentra un ejemplo.

Lo ideal es crear un Makefile, donde ejecute diferentes pruebas.

También sera necesario crear una versión de debug de la GUI, he incluso logs

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.