vendor Catch2 and ETL

This commit is contained in:
2024-10-29 10:49:46 +01:00
parent 3915e0d641
commit 5173292491
1763 changed files with 959387 additions and 71 deletions

View File

@ -0,0 +1,80 @@
#ifndef ETL_EMBEDDED_TEMPLATE_LIBRARY_INCLUDED
#define ETL_EMBEDDED_TEMPLATE_LIBRARY_INCLUDED
#if defined(TEENSYDUINO)
#if defined(__AVR_ATmega32U4__)
#define ARDUINO_BOARD "Teensy 2.0"
#elif defined(__AVR_AT90USB1286__)
#define ARDUINO_BOARD "Teensy++ 2.0"
#elif defined(__MK20DX128__)
#define ARDUINO_BOARD "Teensy 3.0"
#elif defined(__MK20DX256__)
#define ARDUINO_BOARD "Teensy 3.2" // and Teensy 3.1
#elif defined(__MKL26Z64__)
#define ARDUINO_BOARD "Teensy LC"
#elif defined(__MK64FX512__)
#define ARDUINO_BOARD "Teensy 3.5"
#elif defined(__MK66FX1M0__)
#define ARDUINO_BOARD "Teensy 3.6"
#else
#define ARDUINO_BOARD "Unknown"
#endif
#else // --------------- Arduino ------------------
#if defined(ARDUINO_AVR_ADK)
#define ARDUINO_BOARD "Mega Adk"
#elif defined(ARDUINO_AVR_BT)
#define ARDUINO_BOARD "Bt"
#elif defined(ARDUINO_AVR_DUEMILANOVE)
#define ARDUINO_BOARD "Duemilanove"
#elif defined(ARDUINO_AVR_ESPLORA)
#define ARDUINO_BOARD "Esplora"
#elif defined(ARDUINO_AVR_ETHERNET)
#define ARDUINO_BOARD "Ethernet"
#elif defined(ARDUINO_AVR_FIO)
#define ARDUINO_BOARD "Fio"
#elif defined(ARDUINO_AVR_GEMMA)
#define ARDUINO_BOARD "Gemma"
#elif defined(ARDUINO_AVR_LEONARDO)
#define ARDUINO_BOARD "Leonardo"
#elif defined(ARDUINO_AVR_LILYPAD)
#define ARDUINO_BOARD "Lilypad"
#elif defined(ARDUINO_AVR_LILYPAD_USB)
#define ARDUINO_BOARD "Lilypad Usb"
#elif defined(ARDUINO_AVR_MEGA)
#define ARDUINO_BOARD "Mega"
#elif defined(ARDUINO_AVR_MEGA2560)
#define ARDUINO_BOARD "Mega 2560"
#elif defined(ARDUINO_AVR_MICRO)
#define ARDUINO_BOARD "Micro"
#elif defined(ARDUINO_AVR_MINI)
#define ARDUINO_BOARD "Mini"
#elif defined(ARDUINO_AVR_NANO)
#define ARDUINO_BOARD "Nano"
#elif defined(ARDUINO_AVR_NG)
#define ARDUINO_BOARD "NG"
#elif defined(ARDUINO_AVR_PRO)
#define ARDUINO_BOARD "Pro"
#elif defined(ARDUINO_AVR_ROBOT_CONTROL)
#define ARDUINO_BOARD "Robot Ctrl"
#elif defined(ARDUINO_AVR_ROBOT_MOTOR)
#define ARDUINO_BOARD "Robot Motor"
#elif defined(ARDUINO_AVR_UNO)
#define ARDUINO_BOARD "Uno"
#elif defined(ARDUINO_AVR_YUN)
#define ARDUINO_BOARD "Yun"
#elif defined(ARDUINO_SAM_DUE)
#define ARDUINO_BOARD "Due"
#elif defined(ARDUINO_SAMD_ZERO)
#define ARDUINO_BOARD "Zero"
#elif defined(ARDUINO_ARC32_TOOLS)
#define ARDUINO_BOARD "101"
#else
#define ARDUINO_BOARD "Unknown"
#endif
#endif
#endif

View File

@ -0,0 +1,12 @@
#include "Embedded_Template_Library.h" // This is required for any more etl import when using Arduino IDE
void setup()
{
}
void loop()
{
}

View File

@ -0,0 +1,46 @@
// make sure that we do not rely on the STL
#define ETL_NO_STL
#include "Embedded_Template_Library.h"
#include "etl/vector.h"
template <typename T>
void print_vector(etl::ivector<T> 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<int, 12> 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()
{
}

View File

@ -0,0 +1,39 @@
{
"name": "Embedded Template Library ETL",
"version": "20.39.0",
"authors": {
"name": "John Wellbelove",
"email": "john.wellbelove@etlcpp.com"
},
"homepage": "https://www.etlcpp.com/",
"license": "MIT",
"description": "ETL. A C++ template library tailored for embedded systems. Directories formatted for Arduino",
"keywords": "c-plus-plus, cpp, algorithms, containers, templates",
"repository": {
"type": "git",
"url": "https://github.com/ETLCPP/etl-arduino.git"
},
"build": {
"includeDir": "include"
},
"export": {
"include": [
"include",
"examples",
"LICENSE",
"README.md"
],
"exclude": [
"include/etl/experimental",
"include/etl/deprecated",
"**/__vm",
"**/.vs",
"**/*.filters",
"**/*.log",
"**/*.tmp"
]
},
"platforms": "*",
"frameworks": "*"
}

View File

@ -0,0 +1,10 @@
name=Embedded Template Library ETL
version=20.39.0
author= John Wellbelove <john.wellbelove@etlcpp.com>
maintainer=John Wellbelove <john.wellbelove@etlcpp.com>
license=MIT
sentence=ETL. A C++ template library tailored for embedded systems.
paragraph=
category=Other
url=https://www.etlcpp.com/
architectures=*