diff options
| author | Abel Tim <git@abeltim.com> | 2025-05-27 14:57:06 +0200 |
|---|---|---|
| committer | Abel Tim <git@abeltim.com> | 2025-05-27 14:57:06 +0200 |
| commit | c3b4f159df6b52ac8045fbadaf424a88a2b329a8 (patch) | |
| tree | 9af7e3ddf529d2aeb5e17ce39f9a824327913688 /code | |
| parent | e836ff283a67c7b43a4506f8a6654be5e8500648 (diff) | |
| download | robotica-c3b4f159df6b52ac8045fbadaf424a88a2b329a8.tar.gz robotica-c3b4f159df6b52ac8045fbadaf424a88a2b329a8.zip | |
zephyr
Multi-line description of commit,
feel free to be detailed.
Signed-off-by: Abel Tim <git@abeltim.com>
Diffstat (limited to 'code')
| -rw-r--r-- | code/main/how_to_build_zephr.txt | 25 | ||||
| -rw-r--r-- | code/main/teensy_goalie/.vscode/extensions.json | 10 | ||||
| -rw-r--r-- | code/main/teensy_goalie/include/README | 37 | ||||
| -rw-r--r-- | code/main/teensy_goalie/lib/README | 46 | ||||
| -rw-r--r-- | code/main/teensy_goalie/platformio.ini | 14 | ||||
| -rw-r--r-- | code/main/teensy_goalie/src/main.c | 48 | ||||
| -rw-r--r-- | code/main/teensy_goalie/src/main.cpp | 18 | ||||
| -rw-r--r-- | code/main/teensy_goalie/test/README | 11 | ||||
| -rw-r--r-- | code/main/teensy_player/.vscode/extensions.json | 10 | ||||
| -rw-r--r-- | code/main/teensy_player/CMakeLists.txt | 7 | ||||
| -rw-r--r-- | code/main/teensy_player/include/README | 37 | ||||
| -rw-r--r-- | code/main/teensy_player/lib/README | 46 | ||||
| -rw-r--r-- | code/main/teensy_player/platformio.ini | 14 | ||||
| -rw-r--r-- | code/main/teensy_player/player.yaml | 12 | ||||
| -rw-r--r-- | code/main/teensy_player/prj.conf | 2 | ||||
| -rw-r--r-- | code/main/teensy_player/src/main.c | 48 | ||||
| -rw-r--r-- | code/main/teensy_player/src/main.cpp | 1 | ||||
| -rw-r--r-- | code/main/teensy_player/test/README | 11 |
18 files changed, 142 insertions, 255 deletions
diff --git a/code/main/how_to_build_zephr.txt b/code/main/how_to_build_zephr.txt new file mode 100644 index 0000000..d971097 --- /dev/null +++ b/code/main/how_to_build_zephr.txt @@ -0,0 +1,25 @@ +https://docs.zephyrproject.org/latest/boards/pjrc/teensy4/doc/index.html +https://docs.zephyrproject.org/latest/develop/getting_started/index.html + +replace /path/to/project/ with the actual path to you project + +Create, configure and enter virtual enviorment + python3 -m venv /path/to/project/.venv + source /path/to/project/.venv/bin/activate + pip install west + west init /path/to/project/ + cd /path/to/project/ + west update + west zephyr-export + west packages pip --install + +Install zephyr SDK + cd /path/to/project/zephyr + west sdk install + +build project for teensy 4.1: + west build -b teensy41 /path/to/project/ + +flash project onto the device: + cd /path/to/project/ + west flash diff --git a/code/main/teensy_goalie/.vscode/extensions.json b/code/main/teensy_goalie/.vscode/extensions.json deleted file mode 100644 index 080e70d..0000000 --- a/code/main/teensy_goalie/.vscode/extensions.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - // See http://go.microsoft.com/fwlink/?LinkId=827846 - // for the documentation about the extensions.json format - "recommendations": [ - "platformio.platformio-ide" - ], - "unwantedRecommendations": [ - "ms-vscode.cpptools-extension-pack" - ] -} diff --git a/code/main/teensy_goalie/include/README b/code/main/teensy_goalie/include/README deleted file mode 100644 index 49819c0..0000000 --- a/code/main/teensy_goalie/include/README +++ /dev/null @@ -1,37 +0,0 @@ - -This directory is intended for project header files. - -A header file is a file containing C declarations and macro definitions -to be shared between several project source files. You request the use of a -header file in your project source file (C, C++, etc) located in `src` folder -by including it, with the C preprocessing directive `#include'. - -```src/main.c - -#include "header.h" - -int main (void) -{ - ... -} -``` - -Including a header file produces the same results as copying the header file -into each source file that needs it. Such copying would be time-consuming -and error-prone. With a header file, the related declarations appear -in only one place. If they need to be changed, they can be changed in one -place, and programs that include the header file will automatically use the -new version when next recompiled. The header file eliminates the labor of -finding and changing all the copies as well as the risk that a failure to -find one copy will result in inconsistencies within a program. - -In C, the convention is to give header files names that end with `.h'. - -Read more about using header files in official GCC documentation: - -* Include Syntax -* Include Operation -* Once-Only Headers -* Computed Includes - -https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html diff --git a/code/main/teensy_goalie/lib/README b/code/main/teensy_goalie/lib/README deleted file mode 100644 index 9379397..0000000 --- a/code/main/teensy_goalie/lib/README +++ /dev/null @@ -1,46 +0,0 @@ - -This directory is intended for project specific (private) libraries. -PlatformIO will compile them to static libraries and link into the executable file. - -The source code of each library should be placed in a separate directory -("lib/your_library_name/[Code]"). - -For example, see the structure of the following example libraries `Foo` and `Bar`: - -|--lib -| | -| |--Bar -| | |--docs -| | |--examples -| | |--src -| | |- Bar.c -| | |- Bar.h -| | |- library.json (optional. for custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html -| | -| |--Foo -| | |- Foo.c -| | |- Foo.h -| | -| |- README --> THIS FILE -| -|- platformio.ini -|--src - |- main.c - -Example contents of `src/main.c` using Foo and Bar: -``` -#include <Foo.h> -#include <Bar.h> - -int main (void) -{ - ... -} - -``` - -The PlatformIO Library Dependency Finder will find automatically dependent -libraries by scanning project source files. - -More information about PlatformIO Library Dependency Finder -- https://docs.platformio.org/page/librarymanager/ldf.html diff --git a/code/main/teensy_goalie/platformio.ini b/code/main/teensy_goalie/platformio.ini deleted file mode 100644 index a13d034..0000000 --- a/code/main/teensy_goalie/platformio.ini +++ /dev/null @@ -1,14 +0,0 @@ -; PlatformIO Project Configuration File -; -; Build options: build flags, source filter -; Upload options: custom upload port, speed and extra flags -; Library options: dependencies, extra library storages -; Advanced options: extra scripting -; -; Please visit documentation for the other options and examples -; https://docs.platformio.org/page/projectconf.html - -[env:teensy41] -platform = teensy -board = teensy41 -framework = arduino diff --git a/code/main/teensy_goalie/src/main.c b/code/main/teensy_goalie/src/main.c new file mode 100644 index 0000000..f8aff35 --- /dev/null +++ b/code/main/teensy_goalie/src/main.c @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2016 Intel Corporation + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include <stdio.h> +#include <zephyr/kernel.h> +#include <zephyr/drivers/gpio.h> + +/* 1000 msec = 1 sec */ +#define SLEEP_TIME_MS 1000 + +/* The devicetree node identifier for the "led0" alias. */ +#define LED0_NODE DT_ALIAS(led0) + +/* + * A build error on this line means your board is unsupported. + * See the sample documentation for information on how to fix this. + */ +static const struct gpio_dt_spec led = GPIO_DT_SPEC_GET(LED0_NODE, gpios); + +int main(void) +{ + int ret; + bool led_state = true; + + if (!gpio_is_ready_dt(&led)) { + return 0; + } + + ret = gpio_pin_configure_dt(&led, GPIO_OUTPUT_ACTIVE); + if (ret < 0) { + return 0; + } + + while (1) { + ret = gpio_pin_toggle_dt(&led); + if (ret < 0) { + return 0; + } + + led_state = !led_state; + printf("LED state: %s\n", led_state ? "ON" : "OFF"); + k_msleep(SLEEP_TIME_MS); + } + return 0; +} diff --git a/code/main/teensy_goalie/src/main.cpp b/code/main/teensy_goalie/src/main.cpp deleted file mode 100644 index cb9fbba..0000000 --- a/code/main/teensy_goalie/src/main.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include <Arduino.h> - -// put function declarations here: -int myFunction(int, int); - -void setup() { - // put your setup code here, to run once: - int result = myFunction(2, 3); -} - -void loop() { - // put your main code here, to run repeatedly: -} - -// put function definitions here: -int myFunction(int x, int y) { - return x + y; -}
\ No newline at end of file diff --git a/code/main/teensy_goalie/test/README b/code/main/teensy_goalie/test/README deleted file mode 100644 index 9b1e87b..0000000 --- a/code/main/teensy_goalie/test/README +++ /dev/null @@ -1,11 +0,0 @@ - -This directory is intended for PlatformIO Test Runner and project tests. - -Unit Testing is a software testing method by which individual units of -source code, sets of one or more MCU program modules together with associated -control data, usage procedures, and operating procedures, are tested to -determine whether they are fit for use. Unit testing finds problems early -in the development cycle. - -More information about PlatformIO Unit Testing: -- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html diff --git a/code/main/teensy_player/.vscode/extensions.json b/code/main/teensy_player/.vscode/extensions.json deleted file mode 100644 index 080e70d..0000000 --- a/code/main/teensy_player/.vscode/extensions.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - // See http://go.microsoft.com/fwlink/?LinkId=827846 - // for the documentation about the extensions.json format - "recommendations": [ - "platformio.platformio-ide" - ], - "unwantedRecommendations": [ - "ms-vscode.cpptools-extension-pack" - ] -} diff --git a/code/main/teensy_player/CMakeLists.txt b/code/main/teensy_player/CMakeLists.txt new file mode 100644 index 0000000..4de34fb --- /dev/null +++ b/code/main/teensy_player/CMakeLists.txt @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: Apache-2.0 + +cmake_minimum_required(VERSION 3.20.0) +find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) +project(blinky) + +target_sources(app PRIVATE src/main.c) diff --git a/code/main/teensy_player/include/README b/code/main/teensy_player/include/README deleted file mode 100644 index 49819c0..0000000 --- a/code/main/teensy_player/include/README +++ /dev/null @@ -1,37 +0,0 @@ - -This directory is intended for project header files. - -A header file is a file containing C declarations and macro definitions -to be shared between several project source files. You request the use of a -header file in your project source file (C, C++, etc) located in `src` folder -by including it, with the C preprocessing directive `#include'. - -```src/main.c - -#include "header.h" - -int main (void) -{ - ... -} -``` - -Including a header file produces the same results as copying the header file -into each source file that needs it. Such copying would be time-consuming -and error-prone. With a header file, the related declarations appear -in only one place. If they need to be changed, they can be changed in one -place, and programs that include the header file will automatically use the -new version when next recompiled. The header file eliminates the labor of -finding and changing all the copies as well as the risk that a failure to -find one copy will result in inconsistencies within a program. - -In C, the convention is to give header files names that end with `.h'. - -Read more about using header files in official GCC documentation: - -* Include Syntax -* Include Operation -* Once-Only Headers -* Computed Includes - -https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html diff --git a/code/main/teensy_player/lib/README b/code/main/teensy_player/lib/README deleted file mode 100644 index 9379397..0000000 --- a/code/main/teensy_player/lib/README +++ /dev/null @@ -1,46 +0,0 @@ - -This directory is intended for project specific (private) libraries. -PlatformIO will compile them to static libraries and link into the executable file. - -The source code of each library should be placed in a separate directory -("lib/your_library_name/[Code]"). - -For example, see the structure of the following example libraries `Foo` and `Bar`: - -|--lib -| | -| |--Bar -| | |--docs -| | |--examples -| | |--src -| | |- Bar.c -| | |- Bar.h -| | |- library.json (optional. for custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html -| | -| |--Foo -| | |- Foo.c -| | |- Foo.h -| | -| |- README --> THIS FILE -| -|- platformio.ini -|--src - |- main.c - -Example contents of `src/main.c` using Foo and Bar: -``` -#include <Foo.h> -#include <Bar.h> - -int main (void) -{ - ... -} - -``` - -The PlatformIO Library Dependency Finder will find automatically dependent -libraries by scanning project source files. - -More information about PlatformIO Library Dependency Finder -- https://docs.platformio.org/page/librarymanager/ldf.html diff --git a/code/main/teensy_player/platformio.ini b/code/main/teensy_player/platformio.ini deleted file mode 100644 index a13d034..0000000 --- a/code/main/teensy_player/platformio.ini +++ /dev/null @@ -1,14 +0,0 @@ -; PlatformIO Project Configuration File -; -; Build options: build flags, source filter -; Upload options: custom upload port, speed and extra flags -; Library options: dependencies, extra library storages -; Advanced options: extra scripting -; -; Please visit documentation for the other options and examples -; https://docs.platformio.org/page/projectconf.html - -[env:teensy41] -platform = teensy -board = teensy41 -framework = arduino diff --git a/code/main/teensy_player/player.yaml b/code/main/teensy_player/player.yaml new file mode 100644 index 0000000..de71191 --- /dev/null +++ b/code/main/teensy_player/player.yaml @@ -0,0 +1,12 @@ +sample: + name: Blinky Sample +tests: + sample.basic.blinky: + tags: + - LED + - gpio + filter: dt_enabled_alias_with_parent_compat("led0", "gpio-leds") + depends_on: gpio + harness: led + integration_platforms: + - frdm_k64f diff --git a/code/main/teensy_player/prj.conf b/code/main/teensy_player/prj.conf new file mode 100644 index 0000000..75bb3d2 --- /dev/null +++ b/code/main/teensy_player/prj.conf @@ -0,0 +1,2 @@ +CONFIG_GPIO=y +CONFIG_USB_DEVICE_INITIALIZE_AT_BOOT=y diff --git a/code/main/teensy_player/src/main.c b/code/main/teensy_player/src/main.c new file mode 100644 index 0000000..f8aff35 --- /dev/null +++ b/code/main/teensy_player/src/main.c @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2016 Intel Corporation + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include <stdio.h> +#include <zephyr/kernel.h> +#include <zephyr/drivers/gpio.h> + +/* 1000 msec = 1 sec */ +#define SLEEP_TIME_MS 1000 + +/* The devicetree node identifier for the "led0" alias. */ +#define LED0_NODE DT_ALIAS(led0) + +/* + * A build error on this line means your board is unsupported. + * See the sample documentation for information on how to fix this. + */ +static const struct gpio_dt_spec led = GPIO_DT_SPEC_GET(LED0_NODE, gpios); + +int main(void) +{ + int ret; + bool led_state = true; + + if (!gpio_is_ready_dt(&led)) { + return 0; + } + + ret = gpio_pin_configure_dt(&led, GPIO_OUTPUT_ACTIVE); + if (ret < 0) { + return 0; + } + + while (1) { + ret = gpio_pin_toggle_dt(&led); + if (ret < 0) { + return 0; + } + + led_state = !led_state; + printf("LED state: %s\n", led_state ? "ON" : "OFF"); + k_msleep(SLEEP_TIME_MS); + } + return 0; +} diff --git a/code/main/teensy_player/src/main.cpp b/code/main/teensy_player/src/main.cpp deleted file mode 100644 index dca27d8..0000000 --- a/code/main/teensy_player/src/main.cpp +++ /dev/null @@ -1 +0,0 @@ -#include <Arduino.h> diff --git a/code/main/teensy_player/test/README b/code/main/teensy_player/test/README deleted file mode 100644 index 9b1e87b..0000000 --- a/code/main/teensy_player/test/README +++ /dev/null @@ -1,11 +0,0 @@ - -This directory is intended for PlatformIO Test Runner and project tests. - -Unit Testing is a software testing method by which individual units of -source code, sets of one or more MCU program modules together with associated -control data, usage procedures, and operating procedures, are tested to -determine whether they are fit for use. Unit testing finds problems early -in the development cycle. - -More information about PlatformIO Unit Testing: -- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html |
