# 2023 — Webservices and Applications ## Table of Contents - [Table of Contents](#table-of-contents) - [Used Libs, compiler and apps](#used-libs-compiler-and-apps) - [Tasks](#tasks) - [Style Guide](#style-guide) - [Editor Configuration](#editor-configuration) - [Commit Messages Conventions](#commit-messages-conventions) - [Writing File System Data to QSPI Flash](#writing-file-system-data-to-qspi-flash) - [Documentation](#documentation) ## Used Libs, Compiler and Apps - lwip version 2.1.2 - CubeIDE version 1.12.1 - STM32CubeMX version 6.8.1 - Firmware Lib (stm32f7) 1.17.1 ## Tasks Make for each task a separate c and h file. The name of the file is the name of the task. This way we can keep the code clean. [tasks_and_taskowners.md](tasks_and_taskowners.md) ## Style Guide To maintain a consistent and clean codebase, follow the [style guide](docs/style_guide.md). This document provides detailed instructions on naming conventions, code structure, and commenting practices. Please read the [style_guide.md](docs/style_guide.md) carefully before making contributions. ### Editor Configuration To help you adhere to the style guide, use the provided configuration files for the code formatters in your code editor. You can choose from the following options: - `.clang-format`: - For [Visual Studio Code](https://code.visualstudio.com/docs/cpp/cpp-ide#_code-formatting) and [CLion](https://www.jetbrains.com/help/clion/clangformat-as-alternative-formatter.html#clion-support) users - Or use the [clang-format](https://clang.llvm.org/docs/ClangFormat.html) tool directly - `eclipse_format.xml`: - For Eclipse-based editors, including STM32CubeIDE. - You can import it within eclipse settings, `Preferences -> LANGUAGE -> Code Style -> Formatter` tab. ## Commit Messages Conventions The subject line of a commit message should follow the following rules: - Short and descriptive (max 50 chars) - In imperative present tense - Capitalized - Not end with a period Example: ``` Implement access right management ``` The body of a commit message may be used to explain the what and why of a commit. ## Writing File System Data to QSPI Flash Please read the [llfs.md](./docs/llfs.md#enabling-the-external-loader-in-stm32cubeide) document for instructions on how to enable the external loader in STM32CubeIDE. ## Documentation Documentation is placed in the [docs](docs) folder. If your part needs documentation (e.g. how to use tcp cmd interface), add a markdown file in the above-mentioned folder. This folder contains the following documents: - [llfs.md](docs/llfs.md): Linked List File System - [lcd_api.md](docs/lcd_api.md): LCD API - [logger.md](docs/logger.md): Logging and Debugging Messages - [mkllfs.md](docs/mkllfs.md): Make Linked List File System - [style_guide.md](docs/style_guide.md): Style Guide - [tftp.md](docs/tftp.md): Trivial File Transfer Protocol