492 Commits

Author SHA1 Message Date
John Wellbelove
cb03b5f177 Code::Blocks project update 2018-01-25 10:45:28 +00:00
John Wellbelove
3385d2cf04 GCC compatibility changes 2018-01-23 13:15:18 +00:00
John Wellbelove
71b865ae6b GCC compatibility changes 2018-01-23 12:15:12 +00:00
John Wellbelove
7fc874617d Updated 2018-01-23 09:33:16 +00:00
John Wellbelove
48df943aa0 Renamed xor_shift to xor_rotate 2018-01-23 09:20:53 +00:00
John Wellbelove
4cb02cb6df Added shift version of XOR checksum
XOR:      sum = sum ^ value
XOR-shift sum = etl::rotate_left(sum) ^ value
2018-01-22 09:07:25 +00:00
John Wellbelove
bb294e80fe Array wrapper and unit tests 2018-01-21 18:42:03 +00:00
John Wellbelove
9140ddcd1c Added etl::string_view 2017-12-31 20:23:06 +00:00
John Wellbelove
a14e9b25bb Added default constructor.
Made single parameter constructors explicit.
Added
  assign()
  remove_prefix()
  remove_suffix()
  operator = ()
2017-12-30 17:32:14 +00:00
John Wellbelove
bcaa75a4e1 Added array_view to CodeBlocks 2017-12-26 16:50:47 +00:00
John Wellbelove
835a5cbad0 Added array_view 2017-12-26 16:10:34 +00:00
John Wellbelove
35a94fcd7b Updated CRT SDK version 2017-12-22 16:38:28 +00:00
John Wellbelove
cc23016e9f Added release notes 2017-12-22 11:15:09 +00:00
John Wellbelove
02c96ba791 Added etl::variant_pool as a replacement for etl::factory. 2017-12-21 13:55:48 +00:00
John Wellbelove
f366d26a26 Removed factory.
Added variant_pool
2017-12-21 13:54:17 +00:00
John Wellbelove
39ad0fe808 Added sign_extend functions with shift parameter. 2017-12-15 13:59:03 +00:00
John Wellbelove
316ea01507 Added new binary.cpp 2017-12-05 18:51:47 +00:00
John Wellbelove
c0169188ca Made some templates into normal functions and moved to binary.cpp
Added bit<> template constant
Added bit enumerations
2017-12-05 18:49:50 +00:00
John Wellbelove
7f32909209 Fixed inconsistencies in the dynamic IO port API. 2017-12-01 09:52:00 +00:00
John Wellbelove
d658dd11b8 Rewrite of classes to improve efficiency by removing iterator indirection step. 2017-11-30 17:05:37 +00:00
John Wellbelove
aac3277f06 Added 'conditional_integral_constant' to complement 'conditional' 2017-11-30 17:02:58 +00:00
John Wellbelove
9f4fe86df9 Added 'successor' member to allow implementation 'Chain Of Responsibility' pattern. 2017-11-30 16:56:22 +00:00
John Wellbelove
a742749849 Merge branch 'development' 2017-11-01 09:33:17 +00:00
John Wellbelove
0c65164483 Added is_null_router() & is_bus() to imessage_router 2017-10-27 11:11:22 +01:00
John Wellbelove
1c769b0fb2 Amalgamated ecl_timer_list into ecl_timer 2017-10-27 11:10:27 +01:00
John Wellbelove
ed8b47dacd Added etl::generic_pool top level template class. 2017-10-26 10:42:13 +01:00
John Wellbelove
20753250fb Fix bug in compare_exchange_weak where 'expected' was not modified on fail. 2017-10-25 21:19:40 +01:00
John Wellbelove
ca3236ef2f Merge remote-tracking branch 'origin/feature/timer_triggered' into development
# Conflicts:
#	test/codeblocks/ETL.cbp
2017-10-24 11:28:22 +01:00
John Wellbelove
61d3835f9d Remove warnings 2017-10-21 09:07:41 +01:00
John Wellbelove
3e536e5946 Merge branch 'development' 2017-10-21 08:55:25 +01:00
John Wellbelove
8c05843b30 Merge remote-tracking branch 'origin/master' into development
# Conflicts:
#	test/codeblocks/ETL.cbp
#	test/codeblocks/ETL.depend
#	test/test_callback_timer.cpp
#	test/test_message_timer.cpp
2017-10-21 08:38:52 +01:00
John Wellbelove
f9e4fd8730 Removed internal 'tick_count' member from timers.
Fixed usage of atomic guard variables. Calls load() instead of relying on implicit cast.
Fixed Windows threading issue for callback and message timer tests.
2017-10-20 22:08:25 +01:00
John Wellbelove
cc26d5e6ba Fixed corner case when no timer is active for around 2^32 ticks and the internal tick count rolls over just after a new timer is started.
Also tick(uint32_t count) was not returning the correct value when tick processing did not occur.
2017-10-19 18:17:56 +01:00
John Wellbelove
e174276556 Fix bug if timer list is empty for 49+ days. (Internal tick count rollover) 2017-10-19 10:31:27 +01:00
John Wellbelove
8455e108bc Merge remote-tracking branch 'origin/feature/Timer_triggered_messages' into development
# Conflicts:
#	examples/ArmTimerCallbacks/RTE/Device/STM32F401RETx/startup_stm32f401xe.s
#	examples/ArmTimerCallbacks/RTE/Device/STM32F401RETx/system_stm32f4xx.c
#	examples/FunctionInterruptSimulation/FunctionInterruptSimulation.cpp
#	examples/FunctionInterruptSimulation/vs2017/FunctionInterruptSimulation.sln
#	examples/FunctionInterruptSimulation/vs2017/FunctionInterruptSimulation.vcxproj
#	examples/FunctionInterruptSimulation/vs2017/FunctionInterruptSimulation.vcxproj.filters
#	test/codeblocks/ETL.cbp
#	test/codeblocks/ETL.depend
#	test/codeblocks/ETL.layout
#	test/test_cyclic_value.cpp
#	test/vs2017/etl.vcxproj
#	test/vs2017/etl.vcxproj.filters
2017-10-18 09:02:46 +01:00
John Wellbelove
53412f898f Added etl::function variants that take both the instance and member function at compile time. 2017-10-11 13:22:11 +01:00
John Wellbelove
49fe0054d2 Created compile time and runtime variants of cyclic_value. 2017-10-02 19:48:30 +01:00
John Wellbelove
66843b75d3 Removed Keil projects 2017-10-02 19:45:55 +01:00
John Wellbelove
d6e3d2766f Added a compare template that defines <=, >, >= in terms of std::less or a user supplied comparison class. 2017-09-30 19:43:53 +01:00
John Wellbelove
9da7e3cd5d Changed SIZE to MAX_SIZE for MSVC compatibility 2017-09-30 18:53:40 +01:00
John Wellbelove
cb6153c95a Allow factory to create non-class types. 2017-09-29 20:35:11 +01:00
John Wellbelove
c6876f65d1 Added a compare template that defines <=, >, >= in terms of std::less or a user supplied comparison class. 2017-09-28 11:11:49 +01:00
John Wellbelove
24e661c63a Removed constraint for types to derived from base class. 2017-09-28 10:49:07 +01:00
John Wellbelove
8f8dbf7771 Improved efficiency for large advances.
Added static assert for integral types.
2017-09-21 19:46:26 +01:00
John Wellbelove
7dcf6b50a7 Added pop_into to intrusive_queue
Added pop_into to intrusive_stack
Added reverse to intrusive_stack
2017-09-21 14:05:30 +01:00
John Wellbelove
c6e1e9ac00 Added pop_into(iqueue&) to queue
Added pop_into(istack&) to stack
Added reverse() to stack.
2017-09-19 20:21:03 +01:00
John Wellbelove
1803dca3eb Ignored 2017-09-19 08:37:27 +01:00
John Wellbelove
51b5675e6a Added static runtime get_id_from_type member functions. 2017-09-19 08:31:44 +01:00
John Wellbelove
ae57448c3e Made invalid id or types a compile time error. 2017-09-18 10:50:05 +01:00
John Wellbelove
f8ff224365 Fixed formatting typo.
Added missing files to projects.
2017-09-17 18:01:37 +01:00