1504 Commits

Author SHA1 Message Date
John Wellbelove
b80835108e Merge branch 'feature/message-broker' into development 2022-08-01 16:13:05 +01:00
John Wellbelove
3ad60c1e6c Finished message_broker code 2022-08-01 16:12:33 +01:00
John Wellbelove
18f78348d2 Added CMake updates 2022-08-01 13:05:56 +01:00
John Wellbelove
838cdc24af Finished message_broker code 2022-08-01 13:00:20 +01:00
John Wellbelove
40290c4fa2 Partial implementation 2022-07-31 13:55:23 +01:00
John Wellbelove
e5fea50fab Standardise conditional compilation macros for ETL_USING_CPP11 and ETL_USING_STL 2022-07-31 09:53:34 +01:00
John Wellbelove
1fa2116bd1 #573 more comfortable circular_buffer_ext construction 2022-07-28 15:55:38 +01:00
John Wellbelove
a89db201c5 Merge branch 'development' of https://github.com/ETLCPP/etl into development 2022-07-28 08:23:55 +01:00
benedekkupper
747867f1fa
Bip buffer improvements (#575)
* bip-buffer-spsc-atomic: read reserve default size is all available data

* bip-buffer-spsc-atomic: add API to write reserve in buffer space optimal way
2022-07-28 08:18:47 +01:00
John Wellbelove
cd18cc6af0 Eradicated all GCC and clang warnings 2022-07-27 10:42:03 +01:00
John Wellbelove
b2e1c35540 Fixed swap function for circular_buffer_ext
Fixed circular_buffer iterator -> operators
Added functions and macros to etl::debug_count
2022-07-24 12:56:44 +01:00
John Wellbelove
4316a4d7af Added tests for error handler macros
Fixed missing value parameter for exception + log configuration
2022-07-24 12:52:58 +01:00
John Wellbelove
a2e02d8dfa Added Log Errors event handler tests 2022-07-20 16:07:32 +01:00
John Wellbelove
4b465f64c4 Merge branch 'development' of https://github.com/ETLCPP/etl into development
# Conflicts:
#	test/vs2019/etl.vcxproj
2022-07-20 14:33:38 +01:00
John Wellbelove
adf9d690e1 Updated version and release notes 2022-07-20 14:32:43 +01:00
John Wellbelove
17b2a12482 Updated version and release notes 2022-07-20 14:10:40 +01:00
John Wellbelove
67c2efb85c Added is_enum 2022-07-14 17:31:20 +01:00
Jesse Li
4d4a3c8ab9
is_enum (#561) 2022-07-14 15:38:49 +01:00
John Wellbelove
bcf147f096 Added etl::poly_span
Refacted parts of etl::span
2022-07-14 12:19:08 +01:00
John Wellbelove
f05f74fbd1 Work in progress 2022-07-12 13:16:11 +01:00
John Wellbelove
adf9bd5c20 Work in progress 2022-07-10 14:09:46 +01:00
John Wellbelove
9dca59bf40 etl::poly_span without etl::dynamic_extent 2022-07-04 20:24:39 +01:00
John Wellbelove
e6fdd324b9 Null pointer check fix for GCC 2022-07-04 19:51:35 +01:00
John Wellbelove
50f5319382 Legacy variant is in namespace etl::legacy if ETL_IN_UNIT_TEST is not defined 2022-07-04 10:46:08 +01:00
John Wellbelove
638de5bd40 Merge branch 'hotfix/#560-unable-to-upcast-legacy-variant' into development 2022-07-02 21:19:47 +01:00
John Wellbelove
3c07f46158 #560-unable-to-upcast-legacy-variant
Refactor of upcast to eliminate upcast_functor
Added is_base_of member function
2022-07-02 21:19:15 +01:00
John Wellbelove
a074b42b91 Added non-member etl::send_message for etl::shared_message 2022-06-27 11:03:23 +01:00
John Wellbelove
c0923e1d6a Fix to message_packet
Fix tests for atomic under GCC
2022-06-24 15:59:25 +01:00
John Wellbelove
1b3445d11a Fixed etl::message_packet issues 2022-06-24 14:58:53 +01:00
John Wellbelove
3c26ffea4e dded etl::byte_stream_overflow assert to byte_stream_reader 'skip'. 2022-06-23 19:49:20 +01:00
John Wellbelove
aedb151b89 Renamed cumulative_moving_average to pseudo_moving_average 2022-06-23 13:47:49 +01:00
John Wellbelove
829d9fa220 Renamed cumulative_moving _average to pseudo_moving_average
Modified etl::debounce internal enumeration names to avoid clashes with Arduino
2022-06-22 17:37:59 +01:00
John Wellbelove
22060623fc Added skip functions 2022-06-22 10:05:14 +01:00
John Wellbelove
5a460f7fec Latest refactoring
Added little endian bit stream reader tests
2022-06-19 18:37:20 +01:00
John Wellbelove
d1a522eb68 Updated CMakeLists.txt with new bit_stream tests 2022-06-18 21:20:06 +01:00
John Wellbelove
fefe6d3975 Added endianness to bit_stream_writer 2022-06-18 20:57:26 +01:00
John Wellbelove
c83b222690 Merge branch 'feature/bit_stream-reader-and-writer-like-byte_stream' of https://github.com/ETLCPP/etl into feature/bit_stream-reader-and-writer-like-byte_stream
# Conflicts:
#	test/test_atomic.cpp
#	test/vs2019/etl.vcxproj.filters
2022-06-15 11:46:48 +01:00
John Wellbelove
bf49fe60e6 Finished bit_stream_reader tests 2022-06-15 11:43:55 +01:00
John Wellbelove
f88999bb12 Latest updates to bit_stream_reader 2022-06-15 11:43:54 +01:00
John Wellbelove
11b97359fb Changed 'expected_data' to 'expected' 2022-06-15 11:43:54 +01:00
John Wellbelove
6a8cdf6892 Added error exceptions to byte_stream_writer 2022-06-15 11:43:54 +01:00
John Wellbelove
0e6dff2767 Added callback functionality to bit_stream_writer 2022-06-15 11:43:54 +01:00
John Wellbelove
3a2f71456a Added optional byte_stream callback 2022-06-15 11:43:13 +01:00
John Wellbelove
c0fb8761df Added write_byte_stream_iterative_output 2022-06-15 11:43:13 +01:00
John Wellbelove
9e0ff809fd Initial bit_stream_writer code 2022-06-15 11:43:12 +01:00
John Wellbelove
314cb452f7 Merge branch 'feature/variant-visit' into development
# Conflicts:
#	include/etl/private/variant_legacy.h
#	include/etl/private/variant_variadic.h
#	test/vs2019/etl.vcxproj.filters
2022-06-14 11:47:30 +01:00
John Wellbelove
c6e31f381f Added tests 2022-06-14 09:54:17 +01:00
John Wellbelove
baa47d1c33 Updated copyright notice 2022-06-10 21:45:37 +01:00
John Wellbelove
cf24398209 Refactor etl::atomic implementations to allow non-(integrals/pointers/bool)
Changed etl::atomic and etl::mutex, with STL enabled, to be template aliases
2022-06-10 21:45:34 +01:00
John Wellbelove
047fc3eb90 Refactor C++17 message_packet 2022-06-10 21:45:34 +01:00
John Wellbelove
e864fe62d5 Added optional byte_stream callback 2022-06-10 21:45:33 +01:00
John Wellbelove
4306350da0 Added write_byte_stream_iterative_output 2022-06-10 21:45:33 +01:00
Robin Söderholm
0ace9654da
Feature/variant visit (#554)
* add variant visit to c++11 and above

* visit legacy added

* update with multiple variants visit for variadic

* make it build on gcc and clang ubuntu
remove declval from utility.h due to ambiguity against type_traits.h version when using STL
2022-06-10 18:56:18 +01:00
John Wellbelove
259efe1e7d Finished bit_stream_reader tests 2022-06-10 18:16:30 +01:00
John Wellbelove
dd89f1c748 Interim changes after PR 2022-06-10 11:18:48 +01:00
John Wellbelove
d1a6735872 Latest updates to bit_stream_reader 2022-06-09 15:05:08 +01:00
John Wellbelove
06373fda63 Changed 'expected_data' to 'expected' 2022-06-09 15:04:03 +01:00
John Wellbelove
238d3469e9 Added error exceptions to byte_stream_writer 2022-06-09 15:03:17 +01:00
Robin Söderholm
89be7e62cf
Feature/variant visit (#552)
* add variant visit to c++11 and above

* visit legacy added

* update with multiple variants visit for variadic
2022-06-09 08:56:55 +01:00
John Wellbelove
0ae71fb797 Added callback functionality to bit_stream_writer 2022-06-06 11:01:36 +01:00
John Wellbelove
bccea7d0da Refactor etl::atomic implementations to allow non-(integrals/pointers/bool)
Changed etl::atomic and etl::mutex, with STL enabled, to be template aliases
2022-06-05 10:56:26 +01:00
John Wellbelove
55b4fb6587 Added optional byte_stream callback 2022-06-05 10:55:58 +01:00
John Wellbelove
8d6f73cd25 Added write_byte_stream_iterative_output 2022-06-05 10:55:10 +01:00
John Wellbelove
cace71c3f7 Initial bit_stream_writer code 2022-05-29 14:04:26 +01:00
John Wellbelove
2695cd8fb8 Refactor C++17 message_packet 2022-05-25 12:24:08 +01:00
John Wellbelove
6a979fb7c9 Added optional byte_stream callback 2022-05-22 10:52:24 +01:00
John Wellbelove
9c9bd93549 Added write_byte_stream_iterative_output 2022-05-20 12:36:11 +01:00
John Wellbelove
752d9adb5c Fixed final sanitizer issues 2022-05-19 11:10:00 +01:00
John Wellbelove
aaf1f84935 Updates to etl::successor 2022-05-18 16:49:42 +01:00
John Wellbelove
7bb39b56bf Added skip() to byte_stream_writer. 2022-05-17 17:04:47 +01:00
John Wellbelove
c09a1885b5 Merge branch 'hot-fix/#536-undefined-behaviour-and-memory-issues' into development
# Conflicts:
#	test/CMakeLists.txt
2022-05-17 15:03:05 +01:00
John Wellbelove
9224df106e Fixed data alignment issues raised by sanitizer 2022-05-16 20:58:07 +01:00
John Wellbelove
232f329867 Fix header file includes 2022-05-16 20:57:04 +01:00
John Wellbelove
7bfea414cb Updated array_wrapper test to remove sanitizer issues 2022-05-15 18:55:30 +01:00
John Wellbelove
7b3bb5fa6d Fixed incorrect returned span length for byte stream read 2022-05-15 18:01:44 +01:00
John Wellbelove
2d743082ec Updated runtests.sh 2022-05-13 16:45:14 +01:00
John Wellbelove
7c3d8490c4 indirect_vector updates from sanitizer results 2022-05-13 14:43:36 +01:00
John Wellbelove
7d7a9cf15b Updated CMakeLists.txt 2022-05-11 21:06:35 +01:00
John Wellbelove
87f40fe813 Updates to etl::successor and derived classes. 2022-05-11 16:04:25 +01:00
John Wellbelove
898c8c6587 Multiple sanitizer fixes. 2022-05-08 11:13:13 +01:00
John Wellbelove
44db411d0d Multiple sanitizer fixes. 2022-05-08 11:10:42 +01:00
John Wellbelove
882bbab022 Minor updates
Revert some #536 code
2022-04-29 10:29:22 +01:00
Jeremy Overesch
8ac2db0dbe
Feature/pass partial handled events to parent (#541)
* Pass partial handled events to parent.

* Fix the generator file for C++17.
2022-04-28 15:29:11 +01:00
John Wellbelove
90e4316f8f Interim fixes 2022-04-25 10:30:54 +02:00
John Wellbelove
36d126c93e Squashed commit of the following:
commit c217b3ec12b26104e8f1027c1766cc9d49b93a29
Author: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Date:   Thu Apr 21 11:57:55 2022 +0200

    Added mutex traits

    Added transparent comparator test to multimap

commit b6487b869e5599ea067d45af1778d5c0f90c6a52
Author: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Date:   Thu Apr 21 10:42:06 2022 +0200

    Modified char8_t, char16_t and char32_t macros.

    Added conditional compilation on the presense of native char8_t, char16_t and char32_t types.

commit 2c2bd86ce3d5d5d698e922518421a93f70a9cc1e
Author: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Date:   Thu Apr 21 10:29:04 2022 +0200

    Modified char8_t, char16_t and char32_t macros.

    Added conditional compilation on the presense of native char8_t, char16_t and char32_t types.

commit d16242d20e9b6df6752a926d862d0016a452bada
Author: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Date:   Wed Apr 20 13:53:37 2022 +0200

    Expanded constexpr test

commit fad097e6656cd4639c2d81bc8cad2467cae4b4ce
Author: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Date:   Wed Apr 20 13:53:05 2022 +0200

    Added ETL_OVERRIDE to state chart process_event()

commit 25403c2225f3aff0b99105a54cfc44f1cf88d527
Author: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Date:   Wed Apr 20 13:41:00 2022 +0200

    Added test_etl_traits

commit e42c778cf645cb8fc06e5930336e7f1183004dfe
Author: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Date:   Wed Apr 20 13:38:22 2022 +0200

    Removed unused code.

commit 5a25c0c1973f7094ef3aa5b6f29529e96450451c
Author: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Date:   Sun Apr 17 13:17:29 2022 +0200

    Large and small character support macros

commit 6a463fb65ef655b700a8dea381265a3c1b622658
Author: Melg Eight <public.melg8@gmail.com>
Date:   Sun Apr 17 13:54:34 2022 +0300

    Fix spelling (#535)

    Signed-off-by: Melg Eight <public.melg8@gmail.com>

commit 5468eb659c8b4ecdb3d08e8b8f0442c5a2549a48
Author: Gabriel Arjones <arjones@arjones.com>
Date:   Thu Apr 14 17:55:27 2022 -0300

    cmake: write an arch independent version file (#534)
2022-04-21 12:11:26 +02:00
John Wellbelove
05e85b9e90 Added mutex traits
Added transparent comparator test to multimap
2022-04-21 11:57:55 +02:00
John Wellbelove
cd9d199dde Modified char8_t, char16_t and char32_t macros.
Added conditional compilation on the presense of native char8_t, char16_t and char32_t types.
2022-04-21 10:29:04 +02:00
John Wellbelove
6279840973 Expanded constexpr test 2022-04-20 13:53:37 +02:00
John Wellbelove
2b158f4fb4 Added test_etl_traits 2022-04-20 13:41:00 +02:00
John Wellbelove
e1fa7d198e Removed unused code. 2022-04-20 13:38:22 +02:00
John Wellbelove
63c05fb6b9 Large and small character support macros 2022-04-17 13:17:29 +02:00
John Wellbelove
e59f995289 #531 Fixed: Compilation of etl::reference_counted_message_pool with ETL_LOG_ERROR enabled due to non-public inheritance. 2022-04-11 14:54:55 +02:00
John Wellbelove
f68b3d7796 Lastest release script version 2022-04-09 21:38:35 +02:00
John Wellbelove
3b66ced782 #530 etl::nth_type not implemented correctly 2022-04-08 18:08:53 +02:00
John Wellbelove
ce93358e95 Lastest release script version 2022-04-08 09:37:21 +02:00
Robin Mueller
fbffca3b4c Update cmake & meson version handling (#522)
* updated the version handling

- Introduces a new version.txt file
- This file is parsed by CMake to determine the current version

* assign version in project call

* use version variable

* Meson update

1. Minor fix for GCC build
2. Use external version file which can be used by CMake as well

* get version from git tag now

* ci/cd broke..

* maybe this solves the error

* updated workflow files

* one last test

* remove git describe call
2022-04-08 09:37:21 +02:00
John Wellbelove
1399c0d0d9 Work in progress
Updates version.h
2022-04-08 09:37:20 +02:00
John Wellbelove
fa7f6dc9d7 Fixed move parameter in notify_observers 2022-03-23 19:59:30 +00:00
John Wellbelove
e0c2ba2ab7 Simplified test 2022-03-23 11:16:02 +00:00
John Wellbelove
aad0dabebe Re-initroduced etl::functor
Added constexpr to etl::member_function_wrapper and etl:;functor_wrapper
2022-03-22 15:16:51 +00:00
John Wellbelove
1be86f8566 Added etl::member_function_wrapper and etl::functor_wrapper to utility.h 2022-03-22 13:51:02 +00:00
John Wellbelove
426f7f48a4 Updated CMakeLists.txt to embed the unit test code. 2022-03-21 16:08:49 +00:00
John Wellbelove
64a03b2aa4 Changed random log output to single list of values. 2022-03-21 16:05:49 +00:00
John Wellbelove
dcf06809ae Embedded copy of UnitTest++ 2022-03-20 22:41:59 +00:00
John Wellbelove
245d84b231 Modified VS2019 Github Actions 2022-03-20 18:12:56 +00:00
John Wellbelove
7f2525a48f Modified VS2019 Github Actions 2022-03-20 16:45:53 +00:00
John Wellbelove
6f99c2b3a9 Added template wrappers around memcpy, memmove, memcmp, memset& memchr.
Added C++23 macro
Updated version numbers
2022-03-19 21:29:29 +00:00
John Wellbelove
87080285e6 Merge branch 'feature/#515-make-unaligned-types-fully-constexpr' into development
# Conflicts:
#	include/etl/algorithm.h
#	include/etl/endianness.h
2022-03-18 15:19:54 +00:00
John Wellbelove
1c03e57aba Made etl::unaligned_type constexpr 2022-03-18 15:14:23 +00:00
John Wellbelove
b4e67d9a96 Removed forced constexpr algorithms 2022-03-18 15:13:17 +00:00
John Wellbelove
2423745786 Fixed missing lines for cplusplus trait 2022-03-12 10:15:19 +00:00
John Wellbelove
740e490aed Tested ETL traits code. 2022-03-11 20:28:26 +00:00
John Wellbelove
43100b2cf4 Initial code 2022-03-07 13:11:28 +00:00
John Wellbelove
9a1705ed4c Added CMakeFiles.txt for initializer_list tests 2022-03-07 12:07:54 +00:00
John Wellbelove
3753b8e8e0 Moved sanity check files to the correct filter. 2022-03-05 18:03:55 +00:00
John Wellbelove
b58dad3e2e Moved sanity check files to the correct filter. 2022-03-05 18:03:28 +00:00
John Wellbelove
4262c4e0d3 Added optional counter type to instance_count. 2022-03-05 18:02:00 +00:00
John Wellbelove
574556b8e2 Updated the initializer_list unit test project. 2022-03-05 18:01:48 +00:00
John Wellbelove
e9ec00b346 Move initializer_list test project out of main ETL unit tests project 2022-03-04 20:55:30 +00:00
John Wellbelove
292f5d9176 Modified logic for enabling the use of initializer lists 2022-03-04 20:54:38 +00:00
John Wellbelove
b5b09274ce Added extra sanity checks for new classes 2022-03-03 18:39:23 +00:00
John Wellbelove
c34ac53a4e Changes the order of callback and re-insertion of the timer in the active list. 2022-03-03 14:34:01 +00:00
John Wellbelove
0a163463c2 Added callback and message timers for interrupts. 2022-03-03 14:31:24 +00:00
John Wellbelove
290f7a86ac Changed atomic timers to use a user supplied atomic semaphore counter. 2022-03-02 19:26:19 +00:00
John Wellbelove
2f91d707cd Renamed Arduino files to stop PlatformIO getting confused (possibly).
Updated Arduino Python script to rename files on copy.
Removed old file.
2022-02-26 11:27:50 +00:00
John Wellbelove
60757a44ab callback and message timers now uses etl::timer_semaphore_t 2022-02-20 18:49:43 +00:00
John Wellbelove
11b4f669d3 Fixed force C++03 implementation flags 2022-02-15 20:58:06 +00:00
John Wellbelove
e5fd40d82b Added etl::byte 2022-02-15 16:41:47 +00:00
John Wellbelove
86c0813d93 Added fill() member functions to array_view, circular_buffer, deque, indirect_vector and vector 2022-02-15 10:54:44 +00:00
John Wellbelove
1cdb4c69b6 Final initializer_list updates
Added a separate project to test initializer_list
2022-02-14 11:06:09 +00:00
John Wellbelove
117902e39a Updates to sanity check
Added Intel compiler support to MSVC
2022-02-11 21:21:57 +00:00
John Wellbelove
8c45d2cc2a Added sanity checks for initializer_list 2022-02-11 15:00:35 +00:00
John Wellbelove
64edec227d Initial code for MSVC, GCC, Clang and ARM6 compilers 2022-02-11 13:40:03 +00:00
John Wellbelove
d0150696a5 Changes for controlling the availability of constexpr algorithms 2022-02-11 09:57:55 +00:00
John Wellbelove
64efb84ec3 Singleton class 2022-02-10 18:40:52 +00:00
John Wellbelove
5da17885be Sanity check updates 2022-02-10 18:40:27 +00:00
John Wellbelove
c65da15063 Tweak built-in tests 2022-02-06 17:58:22 +00:00
John Wellbelove
87fe3eec2d Replaced post increment with pre increment 2022-02-03 17:16:26 +00:00
John Wellbelove
791aa97885 Work in progress 2022-02-03 12:40:29 +00:00
John Wellbelove
4b1b6004c6 Final(?) changes 2022-01-29 14:16:26 +00:00
John Wellbelove
68d5f39c7c Merge branch 'master' into feature/constexpr-for-string_view 2022-01-25 10:49:56 +00:00
John Wellbelove
734e4e654a Minor changes
Modified MSVC compiler C++11 check
2022-01-24 20:15:17 +00:00
John Wellbelove
64b6c20d19 Merge branch 'master' into feature/constexpr-for-string_view
# Conflicts:
#	include/etl/iterator.h
#	include/etl/platform.h
#	test/vs2019/etl.vcxproj
#	test/vs2019/etl.vcxproj.filters
2022-01-23 18:26:52 +00:00
John Wellbelove
47210b5815 Merge branch 'development'
# Conflicts:
#	test/vs2019/etl.vcxproj
#	test/vs2019/etl.vcxproj.filters
2022-01-23 15:25:37 +00:00
John Wellbelove
13b28387c5 Merge branch 'feature/reduce-size-of-state_chart' into development 2022-01-23 14:23:44 +00:00
John Wellbelove
9dafa0bb70 Merge branch 'feature/reduce-size-of-state_chart' into development 2022-01-23 13:50:31 +00:00
John Wellbelove
2353672b64 Renamed compile time state machine classes 2022-01-23 10:46:35 +00:00
John Wellbelove
4d0682e196 Merge branch 'hotfix/bitset' into development 2022-01-22 16:17:09 +00:00
John Wellbelove
e98270ca60 Bitset updates 2022-01-22 16:16:44 +00:00
John Wellbelove
fc59b4e34e Latest state chart code
Reinstated virtual process_event()
2022-01-20 11:05:37 +00:00