Skip to content

Releases: ETLCPP/etl-arduino

Sync to ETL 20.11.4

24 Jun 18:48

Choose a tag to compare

===============================================================================
20.11.4
Fixed etl::circular_buffer copy and move assignment bug where the destination
buffer was not cleared before assignment.

===============================================================================
20.11.3
Define missing macro when cross compiling with clang for AVR

===============================================================================
20.11.2
etl::basic_string::copy is now const and does not affect truncation flags.

===============================================================================
20.11.1
Fixed ambiguous function call in etl::mem_cast for clang.

===============================================================================
20.11.0
Added etl::mem_cast, etl::mem_cast_ptr & etl::mem_cast_types for reinterpretion of memory blocks.
State tables in etl::debounce are now constexpr in C++11 or above.

===============================================================================
20.10.6
Updated QueuedMessageRouter and QueuedFSM examples to use current message frameworks.

===============================================================================
20.10.5
Added container_type to etl::stack, etl::queue and etl::priority_queue.

===============================================================================
20.10.4
Fixed cross compiler compatibility for etl::circular_buffer.

===============================================================================
20.10.3
Fixed etl::fsm generator for non-default number of message types.

===============================================================================
20.10.2
Fixed misspelled histogram class.

===============================================================================
20.10.1
Fixed incorrect histogram end() and cend() return values.

===============================================================================
20.10.0
Added Hierarchical Finite State Machine (etl::hfsm) derived from etl::fsm

===============================================================================
20.9.3
Fixed misspelt DBL_MAX macro.

===============================================================================
20.9.2
Fixed ETL_ASSERT for non-class types in etl::pool.

===============================================================================
20.9.1
Replaced std::distance with etl::distance in erase() and erase_if() for vector.h

===============================================================================
20.9.0
Fixed #362 'etl::fsm::receive() partial override'.
Fixed #363 'circular_buffer operator [] takes integer rather than size_type'.
Fixed occasional incorrect string length for etl::make_string.
Added macros for compilers that don't support HUGE_VAL.
Added etl::accumulate, etl::clamp, etl::erase, etl::erase_if, etl::remove, etl::remove_if.
Added maths algorithms and functors.
etl::correlation
etl::covariance
etl::gamma_encode
etl:;gamma_decode
etl::histogram
etl::sparce_histogram
etl::mean
etl::invert
etl::threshold
etl::quantize
etl::limiter
etl::rescale
etl::rms
etl::standard_deviation
etl::variance

===============================================================================
20.8.0
Added more CRCs, generalised table creation.
Options for table sizes of 4, 16 and 256.
Removed unnecessary non-const versions of iterators for containers.

===============================================================================
20.7.0
Added etl::selection_sort.
etl::delegate accepts moveable parameters.
Fixed the return type of const iterators for containers from const_iterator to iterator.
Changed many instances of 'static const' to 'static ETL_CONSTANT'.

===============================================================================
20.6.3
Updates to unit test CMake files.
Added missing include for string_utilities.h

===============================================================================
20.6.2
C++98/03 compatibility fixes.
Added 'sanity check' tests for checking for 98/03/11/14/17 issues.

===============================================================================
20.6.1
Added missing etl::atomic from gcc & clang implementations.
Changed nullptr to ETL_NULLPTR in buffer_descriptors and multi_range.
Fixed header includes in state_chart.h

===============================================================================
20.6.0
Added etl::message_router_registry.
Changed etl::flat_multimap & etl::flat_multiset to iterate in insertion order, as per C++11 map and set.
Added ETL_CONSTEXPR to etl::array.
C++98 compatibility fixes.
Remove unnecessary template keyword to destroy() call in etl::pool.
Abstracted unit test framework header.

===============================================================================
20.5.2
Fixed template aliases when using STL and below C++14

===============================================================================
20.5.1
Fixed ambiguous template error for etl::extent.

===============================================================================
20.5.0
Added specialisation of etl::state_chart to allow a parameter to be passed along
with the event.
Issue #339 - Fix extent type conversion warning
Issue #340 - Export headers as system includes

===============================================================================
20.4.1
Updates to etl::shared_message example application.

===============================================================================
20.4.0
Added uninitialized_resize() to etl::vector and etl::basic_string.

===============================================================================
20.3.1
Added ETL_CONSTANT to numeric_limits member functions.

===============================================================================
20.3.0
Added initialize_free_space(), trim_to_terminator() and data_end() functions to
strings for easier integration with C APIs.

===============================================================================
20.2.3
Fixed indexing error in find_next() for etl::bitset.

Sync to ETL 20.2.2

14 Feb 11:53

Choose a tag to compare

Added non-const get_message() member funtions in shared message framework.
Modified reference_counted_message_pool::allocate() return type.
Changed from etl::ireference_counted_message* to etl::reference_counted_message<TMessage, TCounter>*
Allow default constructed messages for shared messages.
Changed template aliases so they are available for C++11 rather than C++14.
Removed source 'etl::imessage_router&' parameter from the message framework 'receive'
and 'on_receive' member functions.
Added move constructor and move assignment operator to etl::shared_message.
Fixed rollover error for etl::queue_spsc_atomic
Added 'required_alignment' parameter to 'allocate' for etl::imemeory_block_allocator.
Updated QueuedMessageRouter example.
Exclude integral types from being considered for iterator range container constructors.
Added shared messages to the messaging framework + supporting allocator classes.
Some refactoring of the messaging framework internals.
Added example application for shared messages.
Added a lockable queue with locks implemented as pure virtuals.
Refeactored the other queues.
Fixed missing virtual destructor for C++11 observer.
Added etl::successor class for consistant 'chain of responsibilty' pattern generation.
Added missing constructors to unique_ptr.
Added nullptr check to unique_ptr destructor.
Fixed VS2019 warning for etl::deque iterators.
Added a virtual on_task_added callback to the scheduler.
Added a runtime multi range nested loop class.
Added etl::for_each.
Added is_random_access_iterator and deprecated is_random_iterator.
Added VS2019 Delegate function interrupt service example.
Added nullptr check to unique_ptr destructor.
Fixed VS2019 warning for etl::deque iterators.
Added constructors with deleters for unique_ptr.
Added virtual function 'void on_task_added()' that is called when a task is added to a scheduler.

Fixed LGT8F macro name clash

04 Jan 10:19

Choose a tag to compare

The LGT8F defined macros that clashed with ETL template parameter names.

Unknown board type is no longer an error

03 Jan 10:07

Choose a tag to compare

19.3.7

Unknown board is nor an error

Improved Arduino compatibility

20 Dec 16:38

Choose a tag to compare

19.3.6

Updated compatibility

Initial Arduino compatible version of ETL 19.3.5

19 Dec 19:30

Choose a tag to compare

An Arduino compatible version of the ETL taken from https://github.com/ETLCPP/etl.git