rusefi/firmware/config/boards/readme.md

2.4 KiB

Boards Directory

TL,DR: for community edition see f407-discovery.

rusEFI supports quite a wide array of hardware:

  • most supported platforms are stm32f4 and stm32f7
  • alpha version support stm32h7
  • experimental support kinetis
  • experimental support cypress MCUs.

Looking for most default firmware for your own hardware? See f407-discovery

We support on-board a number of smart GPIO chips, overall we support quite a wide array of hardware. With all those options our goal is to provide nice user experience which means upfront investment by board designer.

For best user experience we have more than a dozen of different binaries which are all compiled from same firmware files with different configuration. This folder is all about that process.

See https://rusefi.com/build_server/

By definition, BOARD_NAME is a folder in firmware\config\boards

One BOARD_NAME could be producing a number of artifacts via compile_$BUNDLE_NAME.sh scripts

Work in progress: SHORT_BOARD_NAME becomes BUNDLE_NAME

New board procedure once you have new folder in this boards directory

  1. update gen_config.sh: add "board board" pair into 'for BOARD' iteration - this would produce new signature*.h file and new rusefi*.ini file

  2. update build-firmware.yaml to get new firmware bundle on https://rusefi.com/build_server/

  3. add connector pinout mapping yaml file see examples of yaml files in 'connectors' subfolders here.

See also https://github.com/rusefi/rusefi/wiki/Hardware

FAQ

Q: how do I change Primary UART pins via TS?

A: Primary UART, critical error LED pin and maybe a couple more of the most fundamental pins could NOT be changed via TS. You would need another binary altogether - either another official binary or a custom binary.

Q: I need more info!

A: please remember about https://github.com/rusefi/rusefi/wiki/Hardware#q-this-is-all-very-cool-but-you-guys-do-not-have-a-plugplay-for-my-trabant-i-think-i-will-go-and-make-a-new-rusefi-board-just-for-my-trabant

Q: I insist on custom

A: https://github.com/rusefi/rusefi/wiki/Custom-Firmware