Written READMEs
This commit is contained in:
parent
0e02c38686
commit
df3a988ff6
|
|
@ -0,0 +1,34 @@
|
|||
# ESP32_Project
|
||||
|
||||
## Description
|
||||
|
||||
This is a template for **C** project for esp32 boards using PlatformIO with the esp-idf framework, better than Arduino but proprietary.
|
||||
|
||||
## Setup
|
||||
|
||||
To make this template work you will need to install PlatformIO.
|
||||
For this use this link : [super quick install](https://docs.platformio.org/en/latest/core/installation/methods/installer-script.html#super-quick-macos-linux)
|
||||
|
||||
During installation select all boards.
|
||||
|
||||
Then in the project's platformio.ini change the board id to the one that you can find by using :
|
||||
```bash
|
||||
pio boards your_board
|
||||
```
|
||||
|
||||
And finally in the project dir run :
|
||||
```bash
|
||||
pio project init
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
In vscode open your task runner and use the different tasks :
|
||||
- **Build** : Build the current project
|
||||
- **Build and Upload** : Build project and upload to device
|
||||
- **Clean** : Clean build directory
|
||||
|
||||
They correspond to calling make with the following :
|
||||
- **Build** : pio run
|
||||
- **Build and Upload** : pio run --target upload
|
||||
- **Clean** : pio run --target clean
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
# GCC_Project
|
||||
|
||||
## Description
|
||||
|
||||
This is a template for **C** projects using make and gcc.
|
||||
|
||||
## Setup
|
||||
|
||||
To make this template work you will need to install make and gcc.
|
||||
|
||||
On Debian 13 the command is :
|
||||
```bash
|
||||
sudo apt install make gcc
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
In vscode open your task runner and use the different tasks :
|
||||
- **Build** : Build the current project
|
||||
- **Clean** : Clean build directory
|
||||
- **Run** : Run the compiled executable
|
||||
- **Build Verbose** : Build with verbosity on (show the commands called by make while building the project)
|
||||
|
||||
They correspond to calling make with the following :
|
||||
- **Build** : make
|
||||
- **Clean** : make clean
|
||||
- **Run** : make run
|
||||
- **Verbosity on** : make ... VERBOSE=1 ; You can add verbosity to any task that you want
|
||||
|
||||
If you want to add more source files in your project, add their path in the SOURCES variable in the Makefile.
|
||||
For exemple to add src/wifi/udp_client.c you should do something like this :
|
||||
```bash
|
||||
# Source files
|
||||
SOURCES := \
|
||||
src/main.c \
|
||||
src/wifi/udp_client.c
|
||||
```
|
||||
|
||||
You can also add include drectories for headers :
|
||||
TIP : Add the same path to your c_cpp_properties.json in the .vscode folder in the includePath list, like this you don't have include errors by IntelliSense
|
||||
```bash
|
||||
# Include directories
|
||||
INCLUDE_DIRS = lib/super_extra/include/
|
||||
```
|
||||
|
||||
> .vscode/c_cpp_properties.json
|
||||
```json
|
||||
{
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Default",
|
||||
"includePath": [
|
||||
"lib/super_extra/include/"
|
||||
]
|
||||
}
|
||||
],
|
||||
"version": 1
|
||||
}
|
||||
```
|
||||
|
||||
You can change the name of the executable and the build dir too (don't forget to change it in the .gitignore):
|
||||
```bash
|
||||
# Build folder
|
||||
BUILD_DIR = build_dir
|
||||
|
||||
#...
|
||||
|
||||
# Output target name
|
||||
OUTPUT := BestExecOfHumanity
|
||||
```
|
||||
|
||||
And change the compiler and linker args as you want :
|
||||
```bash
|
||||
# Flags
|
||||
CCFLAGS = -Wall -Wextra -std=c17 -g -no-pie
|
||||
LDFLAGS = -no-pie
|
||||
```
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
# Projects Templates
|
||||
|
||||
## Description
|
||||
|
||||
This is a compilation of many differents project templates, mainly configured for vscode.
|
||||
Every template has a default program so you can start by there after configuring them.
|
||||
|
||||
-----------------------------------------------------------------------------------------
|
||||
|
||||
## Setup
|
||||
|
||||
### Per-project setup
|
||||
|
||||
Each project template has a README to explain how to configure it on Debian 13 and how to use it.
|
||||
Other distributions than Debian should work but configuration might not be applicable.
|
||||
|
||||
### Global setup
|
||||
|
||||
Many of the templates - if not all - are using the task runner in vscode, so it's highly recommended to setup a shortcut to open the task runner.
|
||||
|
||||
You may also want to install the extensions in vscode.
|
||||
For the moment you should install, at least, the **C/C++** default extension (not the extension pack) by *microsoft* to get IntelliSense highlighting and code browsing.
|
||||
I use the **Teleplot** extension by *alexnesnes* too. It's useful to communicate over serial port to external devices like RPI Pico or ESP32 boards.
|
||||
Loading…
Reference in New Issue