mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
feat(tools): Move sample_project from examples to tools
Extended example readme.md by further development options.
This commit is contained in:
parent
5a5c004691
commit
6ec1e9107f
@ -96,6 +96,18 @@ The `IDF_PATH` environment variable is the only thing that connects the example
|
|||||||
|
|
||||||
If you're looking for a more bare-bones project to start from, try [esp-idf-template](https://github.com/espressif/esp-idf-template).
|
If you're looking for a more bare-bones project to start from, try [esp-idf-template](https://github.com/espressif/esp-idf-template).
|
||||||
|
|
||||||
|
## Further Development
|
||||||
|
|
||||||
|
For further steps on how to develop a project, see the following:
|
||||||
|
|
||||||
|
- Managing the project:
|
||||||
|
- [IDF Frontend](https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/build-system.html#start-a-new-project) document
|
||||||
|
- ESP-IDF Getting Started video ([YouTube](https://youtu.be/J8zc8mMNKtc?t=340), [bilibili](https://www.bilibili.com/video/BV1114y1r7du/?t=336))
|
||||||
|
- [Overview](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html#example-project) of an example project
|
||||||
|
- [Build System](https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/build-system.html) document
|
||||||
|
- Writing code:
|
||||||
|
- Write your own code following the [API references](https://docs.espressif.com/projects/esp-idf/en/stable/api-reference/index.html)
|
||||||
|
|
||||||
## Contributing Examples
|
## Contributing Examples
|
||||||
|
|
||||||
If you have a new example you think we'd like, please consider sending it to us as a Pull Request.
|
If you have a new example you think we'd like, please consider sending it to us as a Pull Request.
|
||||||
|
@ -1,44 +0,0 @@
|
|||||||
# _Sample project_
|
|
||||||
|
|
||||||
(For general overview of examples and their usage, see the `README.md` file in the upper level 'examples' directory.)
|
|
||||||
|
|
||||||
> [!NOTE]
|
|
||||||
> After you click any link to [ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/index.html), go to the top of the sidebar, then make sure you have the appropriate **Espressif chip** (target) and **ESP-IDF version** selected in the dropdown menus.
|
|
||||||
|
|
||||||
This is the example of a simplest buildable project. It is also used by the command `idf.py create-project` which copies these files to the path specified by the user and sets the project name.
|
|
||||||
|
|
||||||
This sample projects contains:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
├── CMakeLists.txt # Build configuration declaring entire project
|
|
||||||
├── main
|
|
||||||
│ ├── CMakeLists.txt # File that registers the main component
|
|
||||||
│ └── main.c # Source file for the main component
|
|
||||||
└── README.md # File you are currently browsing
|
|
||||||
```
|
|
||||||
|
|
||||||
If you want to develop a project for the legacy build system based on Make that requires `Makefile` and `component.mk` files, see [esp-idf-template](https://github.com/espressif/esp-idf-template).
|
|
||||||
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
For brief instructions on how to configure, build, and flash the project, see [Examples README](https://github.com/espressif/esp-idf/blob/master/examples/README.md#using-examples) > Using Examples.
|
|
||||||
|
|
||||||
|
|
||||||
## Further Development
|
|
||||||
|
|
||||||
For further steps on how to develop the project, see the following:
|
|
||||||
|
|
||||||
- Managing the project:
|
|
||||||
- [IDF Frontend](https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/build-system.html#start-a-new-project) document
|
|
||||||
- ESP-IDF Getting Started video ([YouTube](https://youtu.be/J8zc8mMNKtc?t=340), [bilibili](https://www.bilibili.com/video/BV1114y1r7du/?t=336))
|
|
||||||
- [Overview](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html#example-project) of an example project
|
|
||||||
- [Build System](https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/build-system.html) document
|
|
||||||
- Writing code:
|
|
||||||
- Find appropriate bits of code in [application examples](https://github.com/espressif/esp-idf/tree/master/examples)
|
|
||||||
- Write your own code following the [API references](https://docs.espressif.com/projects/esp-idf/en/stable/api-reference/index.html)
|
|
||||||
|
|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
If you want to contribute this project as an ESP-IDF application example, please write this README based on the [example README template](https://github.com/espressif/esp-idf/blob/master/docs/TEMPLATE_EXAMPLE_README.md).
|
|
@ -427,9 +427,9 @@ if __name__ == '__main__':
|
|||||||
check_dirs = {IDF_PATH}
|
check_dirs = {IDF_PATH}
|
||||||
_exclude_dirs = [os.path.join(IDF_PATH, 'tools', 'unit-test-app'),
|
_exclude_dirs = [os.path.join(IDF_PATH, 'tools', 'unit-test-app'),
|
||||||
os.path.join(IDF_PATH, 'tools', 'test_build_system', 'build_test_app'),
|
os.path.join(IDF_PATH, 'tools', 'test_build_system', 'build_test_app'),
|
||||||
os.path.join(IDF_PATH, 'examples', 'get-started', 'sample_project')]
|
os.path.join(IDF_PATH, 'tools', 'templates', 'sample_project')]
|
||||||
else:
|
else:
|
||||||
_exclude_dirs = [os.path.join(IDF_PATH, 'examples', 'get-started', 'sample_project')]
|
_exclude_dirs = [os.path.join(IDF_PATH, 'tools', 'templates', 'sample_project')]
|
||||||
|
|
||||||
extra_default_build_targets_list: List[str] = []
|
extra_default_build_targets_list: List[str] = []
|
||||||
bypass_check_test_targets_list: List[str] = []
|
bypass_check_test_targets_list: List[str] = []
|
||||||
|
@ -242,3 +242,4 @@ ignore:
|
|||||||
- components/protocomm/python/
|
- components/protocomm/python/
|
||||||
- components/wifi_provisioning/proto-c/
|
- components/wifi_provisioning/proto-c/
|
||||||
- components/wifi_provisioning/python/
|
- components/wifi_provisioning/python/
|
||||||
|
- tools/templates/
|
||||||
|
@ -995,7 +995,6 @@ examples/ethernet/basic/main/ethernet_example_main.c
|
|||||||
examples/ethernet/enc28j60/components/eth_enc28j60/enc28j60.h
|
examples/ethernet/enc28j60/components/eth_enc28j60/enc28j60.h
|
||||||
examples/ethernet/enc28j60/main/enc28j60_example_main.c
|
examples/ethernet/enc28j60/main/enc28j60_example_main.c
|
||||||
examples/get-started/blink/main/blink_example_main.c
|
examples/get-started/blink/main/blink_example_main.c
|
||||||
examples/get-started/sample_project/main/main.c
|
|
||||||
examples/mesh/internal_communication/main/include/mesh_light.h
|
examples/mesh/internal_communication/main/include/mesh_light.h
|
||||||
examples/mesh/internal_communication/main/mesh_light.c
|
examples/mesh/internal_communication/main/mesh_light.c
|
||||||
examples/mesh/internal_communication/main/mesh_main.c
|
examples/mesh/internal_communication/main/mesh_main.c
|
||||||
@ -1146,8 +1145,6 @@ tools/ble/lib_gatt.py
|
|||||||
tools/catch/catch.hpp
|
tools/catch/catch.hpp
|
||||||
tools/ldgen/samples/template.ld
|
tools/ldgen/samples/template.ld
|
||||||
tools/ldgen/test/data/linker_script.ld
|
tools/ldgen/test/data/linker_script.ld
|
||||||
tools/templates/sample_component/include/main.h
|
|
||||||
tools/templates/sample_component/main.c
|
|
||||||
tools/test_apps/build_system/embed_test/main/test_main.c
|
tools/test_apps/build_system/embed_test/main/test_main.c
|
||||||
tools/test_apps/build_system/ldgen_test/main/src1.c
|
tools/test_apps/build_system/ldgen_test/main/src1.c
|
||||||
tools/test_apps/build_system/ldgen_test/main/src2.c
|
tools/test_apps/build_system/ldgen_test/main/src2.c
|
||||||
|
@ -32,6 +32,9 @@ tools/eclipse-code-style.xml
|
|||||||
tools/format.sh
|
tools/format.sh
|
||||||
tools/mocks/**/*
|
tools/mocks/**/*
|
||||||
tools/set-submodules-to-github.sh
|
tools/set-submodules-to-github.sh
|
||||||
|
tools/templates/sample_project/main/main.c
|
||||||
|
tools/templates/sample_project/CMakeLists.txt
|
||||||
|
tools/templates/sample_project/main/CMakeLists.txt
|
||||||
tools/templates/sample_component/CMakeLists.txt
|
tools/templates/sample_component/CMakeLists.txt
|
||||||
tools/templates/sample_component/include/main.h
|
tools/templates/sample_component/include/main.h
|
||||||
tools/templates/sample_component/main.c
|
tools/templates/sample_component/main.c
|
||||||
|
@ -40,7 +40,7 @@ def is_empty_and_create(path: str, action: str) -> None:
|
|||||||
|
|
||||||
def create_project(target_path: str, name: str) -> None:
|
def create_project(target_path: str, name: str) -> None:
|
||||||
copytree(
|
copytree(
|
||||||
os.path.join(os.environ['IDF_PATH'], 'examples', 'get-started', 'sample_project'),
|
os.path.join(os.environ['IDF_PATH'], 'tools', 'templates', 'sample_project'),
|
||||||
target_path,
|
target_path,
|
||||||
copy_function=copy,
|
copy_function=copy,
|
||||||
dirs_exist_ok=True,
|
dirs_exist_ok=True,
|
||||||
@ -49,7 +49,6 @@ def create_project(target_path: str, name: str) -> None:
|
|||||||
os.rename(os.path.join(main_folder, 'main.c'), os.path.join(main_folder, '.'.join((name, 'c'))))
|
os.rename(os.path.join(main_folder, 'main.c'), os.path.join(main_folder, '.'.join((name, 'c'))))
|
||||||
replace_in_file(os.path.join(main_folder, 'CMakeLists.txt'), 'main', name)
|
replace_in_file(os.path.join(main_folder, 'CMakeLists.txt'), 'main', name)
|
||||||
replace_in_file(os.path.join(target_path, 'CMakeLists.txt'), 'main', name)
|
replace_in_file(os.path.join(target_path, 'CMakeLists.txt'), 'main', name)
|
||||||
os.remove(os.path.join(target_path, 'README.md'))
|
|
||||||
|
|
||||||
|
|
||||||
def create_component(target_path: str, name: str) -> None:
|
def create_component(target_path: str, name: str) -> None:
|
||||||
|
Loading…
Reference in New Issue
Block a user