diff --git a/README.md b/README.md index 4baa523d..2ca62bd4 100644 --- a/README.md +++ b/README.md @@ -56,3 +56,7 @@ Any help porting the library to work under different platforms and compilers wou I am especially interested in people who are using Keil, IAR, Green Hills, TI Code Composer etc, bare metal or RTOS, and DSPs. See (https://www.etlcpp.com) for up-to-date information. + +**Arduino library:** + +The content of this repo is available as a library in the Arduino IDE (search for the "Embedded Template Library" in the IDE library manager). The Arduino library repository is available at ```https://github.com/ETLCPP/etl-arduino```, see there for more details. diff --git a/arduino/create_arduino_library.py b/arduino/create_arduino_library.py index b74549e1..97924e7f 100644 --- a/arduino/create_arduino_library.py +++ b/arduino/create_arduino_library.py @@ -27,6 +27,10 @@ print('etl_dir = ', etl_dir) include_dir = os.path.join(etl_dir, 'include') print('include_dir = ', include_dir) +# Get the ETL arduino_examples folder +arduino_examples_dir = os.path.join(etl_dir, 'arduino_examples') +print('examples_dir = ', arduino_examples_dir) + # Get the root folder of both repositories common_dir = os.path.dirname(etl_dir) print('common_dir = ', common_dir) @@ -39,6 +43,10 @@ print('etl_arduino_dir = ', etl_arduino_dir) etl_arduino_src_dir = os.path.join(etl_arduino_dir, 'src') print('etl_arduino_src_dir = ', etl_arduino_src_dir) +# Get the ETL Arduino examples repository folder +etl_arduino_examples_dir = os.path.join(etl_arduino_dir, 'examples') +print('etl_arduino_examples_dir = ', etl_arduino_examples_dir) + print('') # Copy the library properties @@ -70,3 +78,13 @@ print('Copy the ETL headers') print(' From :', source) print(' To :', destination) shutil.copytree(source, destination, dirs_exist_ok = True) + +print('') + +# Copy the ETL arduino_examples +source = arduino_examples_dir +destination = etl_arduino_examples_dir +print('Copy the ETL examples_arduino') +print(' From :', source) +print(' To :', destination) +shutil.copytree(source, destination, dirs_exist_ok = True) diff --git a/arduino_examples/Example_0_import_etl/Example_0_import_etl.ino b/arduino_examples/Example_0_import_etl/Example_0_import_etl.ino new file mode 100644 index 00000000..d208c463 --- /dev/null +++ b/arduino_examples/Example_0_import_etl/Example_0_import_etl.ino @@ -0,0 +1,10 @@ +#include "Embedded_Template_Library.h" // this is required for any more etl import when using Arduino IDE + +void setup(){ + +} + + +void loop(){ + +} diff --git a/arduino_examples/Vector_Examples/Example_Vector_1_simple_use/Example_Vector_1_simple_use.ino b/arduino_examples/Vector_Examples/Example_Vector_1_simple_use/Example_Vector_1_simple_use.ino new file mode 100644 index 00000000..a0c92fc1 --- /dev/null +++ b/arduino_examples/Vector_Examples/Example_Vector_1_simple_use/Example_Vector_1_simple_use.ino @@ -0,0 +1,37 @@ +#include "Embedded_Template_Library.h" +#include "etl/vector.h" + +template +void print_vector(etl::ivector const & vec_in){ + Serial.print(F("print vector content | size ")); Serial.print(vec_in.size()); Serial.print(F(" | capacity ")); Serial.println(vec_in.capacity()); + Serial.print(F("content | ")); + for (T const & elem : vec_in) { + Serial.print(elem); + Serial.print(F(" | ")); + } + Serial.println(); +} + +void setup(){ + Serial.begin(115200); + delay(100); + Serial.println(F("booted")); + + etl::vector vec_int; + + Serial.println(F("initialized vec_int")); + print_vector(vec_int); + + vec_int.push_back(1); + vec_int.push_back(2); + Serial.println(F("pushed to vec_int")); + print_vector(vec_int); + + vec_int.pop_back(); + Serial.println(F("pop from vec_int; returns no value")); + print_vector(vec_int); +} + +void loop(){ + +}