Releases: ETLCPP/etl-arduino
Sync to 20.35.6
Sync to 20.35.6
Sync to 20.35.5
Incorrect C++03 enable_if syntax for etl::array_view and etl::span
Sync to 20.32.1
20.30.0
- Fixed #560 Unable to upcast legacy variant.
- Refactored legacy variant to remove upcast functors.
- Added upcast_ptr, is_base_of & 'not a base' error exception to legacy variant.
- If ETL_USE_LEGACY_VARIANT is defined then legacy variant is in the etl namespace.
- If ETL_USE_LEGACY_VARIANT is not defined then legacy variant is in the etl::legacy namespace.
- Added non-member etl::send_message for etl::shared_message
20.30.1
- Fixed #560 Unable to upcast legacy variant Latest
- Refactored legacy variant to remove upcast functors.
- Added upcast_ptr, is_base_of & 'not a base' error exception to legacy variant.
- If ETL_USE_LEGACY_VARIANT is defined then legacy variant is in the etl namespace.
- If ETL_USE_LEGACY_VARIANT is not defined then legacy variant is in the etl::legacy namespace.
- Added non-member etl::send_message for etl::shared_message
- Green Hills compiler compatibility
20.31.0
- Added etl::poly_span
- Refacted parts of etl::span, including prevent compound statements in constexpr methods for C++11
- Added etl::is_enum
20.31.1
- Addition of extra ETL_NODISCARD and ETL_NOEXCEPT to etl::span & etl::poly_span.
- Fixed warnings for initialisation order for some etl::poly_span constructors.
20.31.2
- #567 error-handler: only return when the condition is false
20.31.3
- #569 Fixed swap function for circular_buffer_ext
- #568 Fixed circular_buffer iterator -> operators
- Optimised container move for external buffers
- Added functions and macros to etl::debug_count
- Added tests for error handler macros
20.32.0
- #571 Activate GCC and clang compiler warnings
- #575 Bip buffer improvements
- #576 Invoke function pointers with parenthesis
- #574 Allow users to remove SYSTEM keyword because it forces C linkage for some gcc versions
20.32.1
- Added size only constructor, set_buffer() and is_valid() members to circular_buffer_ext
Sync to 20.29.3
Sync to 20.29.3
20.29.3
- Updated message_packet_generator.h to match etl::message_packet changes.
20.29.2
- #557 QueuedFSM example does not compile.
20.29.1
- Added etl::byte_stream_overflow assert to byte_stream_reader 'skip'.
20.29.0
- Added etl::bit_stream_writer
- Added etl::bit_stream_reader
- Deprecated etl::bit_stream
- Added callback option to etl::byte_stream_writer
- Added error exceptions to byte_stream_writer
- Added ETL_NODISCARD to etl::delegate 'create' and 'is_valid' functions
- Added etl::visit support to etl::variant
- Refactored C++17 message_packet
- Refactored etl::atomic implementations to allow non-(integrals/pointers/bool)
- Refactors etl::vector and etl::deque resize() to take const reference parameter
- Renamed ETL_ALWAYS_ASSERT to ETL_ASSERT_FAIL
- Removed duplicate void_t definition
- Removed duplicate etl::declvar definition
- Renamed cumulative_moving_average to pseudo_windowed_moving_average to more accurately reflect its algorithm.
- Changed etl::debounce internal state names to avoid clashes with Arduino macros.
20.28.0
- Fixed issues raised by sanitizer.
- Added conditional compilation for 8 bit type in hash.h
- Fixed warnings for 64bit compilation.
- Fixed sanity check includes.
- Fixed incorrect returned span length for byte stream read.
- Updates to etl::successor and derived classes.
Sync to ETL 20.27.3
Fixed compilation error of etl::reference_counted_message_pool with ETL_LOG_ERROR enabled
Sync to ETL 20.27.2
Sync to 20.27.2
Sync to 20.24.1
20.24.1
callback and message timers now use etl::timer_semaphore_t instead of et::atomic_uint_least16_t
Fixed send_message function signatures.
20.24.0
#503 Algorithm transform uses expensive post increment operator - Fixed for all occurences of iterator increment.
#504 ETL_CONSTANT vs const in binary.h - Fixed.
Many algorithms will leverage built-ins, if available. Dependant on compiler version.
Added detection or selection of built-ins.
Much of etl::string and etl::string_view can be constexpr.
Added ETL initializer_list implementations that are compatible with major compilers.
Added etl::construct_at support.
Sync to ETL 20.23.0
20.23.0
Recoded state_chart to reduce its resource requirements.
Added compile time state chart variants.
Added etl::unaligned_type for fundamental types.
Added reverse engineered functionality from C++20 .
Added all permutations of leading/trailing bit tests.
Changed inline functions to templates in binary.h.
Added etl::midpoint and etl::lerp
Recoded etl::endian & etl::endianness to allow constexpr in certain configurations.
Updates and fixes to etl::bitset. Added to_ulong, to_ullong, to_string member functions.
Moved void_t definition.
Renamed 8bit check macro.
Updated tests to support C++20 STL.
Modified C++ language level detection.
Added all permutations of leading/trailing bit tests.
etl::iterator is more SFINAE compatible.
Updated C++ standard detection.
Sync to ETL 20.22.0
===============================================================================
20.22.0
Split callback and message timer to atomic and locked interrupt versions.
#480 Fixed: Double formatting with precision > 9
#481 Fixed: etl::span const datacannot be created from non const c array of data.
#482 Fixed: Two or more etl::span/array_view of different types create ambiguous overloading set
#483 Fixed: Added Green Hills compiler to minmax push and pop.
#484 Fixed: etl::vector test_uninitialized_resize_excess not calling uninitialized_resize.
#485 Fixed: etl::message_packet takes message types that are not in its list.
===============================================================================
20.21.0
Added contains() method to etl::map and etl::set + variants.
Added support for transparent comparators.
When ETL_NO_ATOMICS is defined the timer.h file does not define timer_semaphore_t.
etl::deque::resize throws etl::deque_full instead of etl::deque_out_of_bounds, if requested size is too large.
===============================================================================
20.20.0
Updated container 'insert' and 'erase' to C++11 style const_iterator parameters. (#463)
Fixed container template function overload abiguity. (#466)
Harmonize copy ctor and assignment for etl::delegate. (#465)
Added constexpr support for etl::enum_type. (#462)
Added 'make' functions to construct containers.
Remove unnecessary casts that causes warnings. (#461)
Added non-const string pointer overload. (#449)
Changed != to < in etl::ipool to get rid of erroneous clang-tidy nullptr dereference warning. (#457)
Added ifdef guard for MSVC pragma (#455)
===============================================================================
20.19.0
Updates to etl::delegate. Added more constexpr and set() functions.
Removed conanfile.py. Now controlled by conan repository.
Fixed missing 'typename' keyword in etl::multi_span.
Added missing explicit initialisation from in_place structures.
Fixed hidden parameter warning in unordered_map, unordered_multimap, unordered_set, unordered_multiset.
Disable etl::begin(), etl::end() and etl::size() for STL & >= C++11.
Add available_bytes to byte_stream_reader & byte_stream_writer.
Meson tests & style fix (#447).
Fix constexpr accepts() implementation to be C++11 compliant (#451, #452)
Fix-compiler-error-msvc-16 #454
===============================================================================
20.18.1
Added missing 'start, length' read() variants for byte_stream_reader.
Added multi_span to 'sanity checks'.
===============================================================================
20.18.0
Added front() access to locked queues.
Added .clang-format rules.
Added etl::pool_ext and etl::generic_pool_ext.
Added etl::multi_span.
Added CMSIS RTOS2 mutex variant.
Added 'unchecked' read and write membvers functions to byte_stream_reader and byte_stream_writer.
Fixed byte_stream_reader to be able to use const buffers.
Removed compiler warning messages.
Fixed missing 'public' access for message_router_registry iterator.
===============================================================================
20.17.3
Modified etl::cyclic_value for ARMCC v5 compatibility
===============================================================================
20.17.2
Replaced std::size_t with size_t in etl::in_place_index
===============================================================================
20.17.1
Added successor handling for accepts()
Added successor handling for pre-C++17 message router
===============================================================================
20.17.0
Added etl::result type
Added etl::byte_stream
Added denominated etl::to_string overloads
Added etl::remove_cvref to type traits
Replaced etl::remove_reference_t with etl::remove_cvref_t in variadic etl::variant
Added call_if and call_or member functions to etl::delegate
Improved compliance with MISRA rules
Extended 'successor' handling for all derived message router types
===============================================================================
20.16.2
Fixed incomplete template specialisations in type_traits.h for C++11
===============================================================================
20.16.1
Fix for etl::mutex::try_lock() for GCC
===============================================================================
20.16.0
Added C++17 variadic versions of etl::message_router and etl::fsm
'pop_into' in queue and stack will move if possible.
Added Force C++03 option to Github CI
Expanded compiled variants for scripts
===============================================================================
20.15.1
Fixed etl::fsm C++03 template definition that was corrupted in 20.10.0
Fixed meson.build
===============================================================================
20.15.0
Added a Bipartite buffer, by Benedek Kupper.
etl::bip_buffer_spsc_atomic
notify_observers() takes universal reference for C++11 and above.
Updated type traits generator.
===============================================================================
20.14.1
Changed std::forward to etl::forward in etl::variant (variadic)
===============================================================================
20.14.0
Added a vaiadic version of etl::variant. Usable for C++11 and up.
Added etl::overload pattern class. Groups lambdas into a functor class.
Refactored type_traits.h. Uses STL, compiler built-ins or user defined specialisations, dependent on settings.
Added etl::conditional_t to type_traits.h
Added etl::conjunction and etl::disjunction to type_traits.h
Added etl::integer_sequence to utility.h
Added etl::in_place, etl::in_place_t and etl::in_place_index_t.
Fixed missing etl::alignment_of specialisation for const void.
===============================================================================
20.13.0
Added a specialisation of etl::delegate_service to allow constexpr service.
===============================================================================
20.12.0
Added the option to derived etl::message<> from a parent class other than etl::imessage.
The parent class must ultimately be derived from etl::imessage.
===============================================================================
20.11.5
Added Arduino examples.
Sync to ETL 20.11.5
===============================================================================
20.11.5
Added Arduino examples.