Firmware für das FloatPUMP-Projekt, welches im Rahmen einer Studienarbeit entwickelt wurde. Basiertend auf der STM32-HAL-Library. https://www.robtor.de/floatpump
Go to file
Robin Dietzel 674dbb96c2 Updated license information 2023-02-03 20:09:06 +01:00
.idea Documentation 2023-02-03 19:56:27 +01:00
build-tools Refactor documentation 2023-02-03 19:57:47 +01:00
doc Refactor documentation 2023-02-03 19:57:47 +01:00
floatpump Minor UI improvements 2023-02-03 12:50:09 +01:00
net WIP: Added config yaml -> DO NOT USE! 2023-02-02 17:30:51 +01:00
stm32-cube Cleanup 2023-01-26 17:45:40 +01:00
.gitignore Cleanup 2023-01-26 17:45:40 +01:00
CMakeLists.txt FEATURE: automatic git hash injection 2023-01-26 19:42:39 +01:00
LICENSE WIP: readme and toolchain explanation 2023-01-26 19:45:59 +01:00
README.md Updated license information 2023-02-03 20:09:06 +01:00
STM32F411CEUX_FLASH.ld BUGFIX: repaced with newer linker scripts 2023-01-20 15:38:27 +01:00
STM32F411CEUX_RAM.ld BUGFIX: repaced with newer linker scripts 2023-01-20 15:38:27 +01:00
floatpump.cfg FEATURE: added simple test project for testing at real tank with lcd attached 2022-11-07 13:55:28 +01:00

README.md

FloatPUMP - Firmware Repository

This repository contains the necessary files to completely build the firmware for the FloatPUMP controller. The toolchain used in this project is built up using docker. The following sections describe how to setup the jetbrains CLion IDE to automatically use the included docker image to build the project. It also contains some description on how to use OpenOCD to flash the controller using a STLink-V2 Programmer.

Toolchain Setup

This chapter describes how to setup the CLion IDE to use the toolchain built with docker.

Prerequisites

  • Install jetbrains CLion IDE
  • Install Docker
  • Open the Project by clicking New project from version control

Build the docker image

You can build the image by yourself. Alternatively you can pull the image from the robtor.de registry. Open a command line and enter the subdirectory build-tools. There run the follwing command to build the docker image:

docker build -t dev-arm-stm32:latest .

As an alternative you could open the Dockerfile in this directory using CLion and build it directly out of the IDE!

Pulling the image

This method is currently not supported. Coming soon...

Configure toolchain

First enter the Settings dialog in CLion while the floatpump-firmware project is opened. Under Build, Execution, Deployment > Toolchain add a new toolchain and choose the type docker. Now setup everything as depicted in this screenshot: toolchain_settings.png

If you named the image different than dev-arm-stm32:latest, choose the correct image corresponding to your name.

Usually now the correct CMake build targets should appear under Build, Execution, Deployment > CMake.

Configure OpenOCD

To configure OpenOCD for directly flashing and debugging out of CLion go to the BuildTargets dropdown in the header line and click on Edit configurations. There add a new configuration for OpenOCD and enter the following proerties: openocd_settings.png As Board config file chosse the correct floatpump.cfg file contained in the project root dir.

Project structure

Folder Contents
.out Build output directory
build-tools Files for building the toolchain
doc Files for documentation or inclusion in .md Files
floatpump/Core Firmware core source files
floatpump/Drivers STM32 HAL and CMSIS Library files
floatpump/Middlewares/floatpump Modules for the floatpump firmware
Middlewares/ST STM32 Middleware files for USB OTG implementation
USB_DEVICE same as above
net Folder containing material for external Tasmota device and SmartHome integration
stm32-cube Old files from the originating STM32 Cube Project

License

Component Copyright License
CMSIS ARM Limited Apache License 2.0
CMSIS Device ARM Limited - STMicroelectronics Apache License 2.0
STM32F4 HAL STMicroelectronics BSD-3-Clause
BSP STM32F4-Discovery STMicroelectronics BSD-3-Clause
BSP STM32F4xx_Nucleo_144 STMicroelectronics BSD-3-Clause
BSP STM32F4xx-Nucleo STMicroelectronics BSD-3-Clause
BSP STM32F401-Discovery STMicroelectronics BSD-3-Clause
BSP STM32F411E-Discovery STMicroelectronics BSD-3-Clause
BSP STM32F413H-Discovery STMicroelectronics BSD-3-Clause
BSP STM32F429I-Discovery STMicroelectronics BSD-3-Clause
BSP STM324x9I_EVAL STMicroelectronics BSD-3-Clause
BSP STM324xG_EVAL STMicroelectronics BSD-3-Clause
BSP STM32412G-Discovery STMicroelectronics BSD-3-Clause
BSP STM32446E_EVAL STMicroelectronics BSD-3-Clause
BSP STM32469I_EVAL STMicroelectronics BSD-3-Clause
BSP STM32469I-Discovery STMicroelectronics BSD-3-Clause
BSP Components STMicroelectronics BSD-3-Clause
BSP Adafruit STMicroelectronics BSD-3-Clause
FreeRTOS kernel Amazon.com, Inc. or its affiliates MIT
FatFS ChaN - STMicroelectronics BSD-3-Clause
LibJPEG Thomas G. Lane, Guido Vollbe Independent JPEG Group License
LwIP Swedish Institute of Computer Science BSD-3-Clause
mbedTLS ARM Limited Apache License 2.0
STM32_USB_Device_Library STMicroelectronics SLA0044
STM32_USB_Host_Library STMicroelectronics SLA0044
STemWin STMicroelectronics SLA0044
TouchGFX STMicroelectronics SLA0044
STM32_Audio STMicroelectronics SLA0044
STM32 Projects STMicroelectronics SLA0044 (BSD-3-Clause for basic Examples)
STM32 Utilities STMicroelectronics BSD-3-Clause

The default LICENSE file applies on all other Components not covered by the table above!