470 Commits

Author SHA1 Message Date
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
John Wellbelove
a9e61444a9 Changed create_from_id to return actual derived type. 2017-09-17 16:08:49 +01:00
John Wellbelove
84f5fd946e Fixed GCC warning.
Fixed formatting typo.
2017-09-17 12:56:57 +01:00
John Wellbelove
873998518c Modified factory to accept non-contiguous type ids.
Added support for compile time type-to-id id-to-type type-to-type mapping
2017-09-17 12:43:45 +01:00
John Wellbelove
b885ad3d33 Added 'pop_into' member functions. 2017-09-14 16:27:32 +01:00
John Wellbelove
29c9b658d7 Modified factory pattern 2017-09-13 13:17:11 +01:00
John Wellbelove
dcefb938c4 Changed max_items to max_size 2017-09-13 13:16:50 +01:00
John Wellbelove
7ee5acee18 Added factory pattern 2017-09-11 21:17:33 +01:00
John Wellbelove
259dbfa741 Added type size test and error to ipool::allocate 2017-08-25 14:27:20 +01:00
John Wellbelove
267408445b Added ETL extension etl::types to allow extraction of various types from a specified type. 2017-08-25 11:10:54 +01:00
John Wellbelove
b145adb4eb Added additional generator scripts. 2017-08-25 11:09:23 +01:00
John Wellbelove
ab9f3ce538 Changed the way nullptr is defined for Arduino projects. 2017-08-22 09:36:10 +01:00
John Wellbelove
8f7656a5df Fixed incompatibility in unit test for Code:Blocks 2017-08-22 01:05:25 +01:00
John Wellbelove
41eae71bd3 Simplified etl::parameter_type to remove unnecessary second template parameter. 2017-08-21 10:22:14 +01:00
John Wellbelove
38bcc1e06e Merge branch 'feature/Function' into development 2017-08-19 12:44:24 +01:00
John Wellbelove
1de9ad262a Added etl::function callback wrappers that take function pointers at compile time. 2017-08-19 11:36:56 +01:00
John Wellbelove
b437414fff Added constant test 2017-08-18 16:52:26 +01:00
John Wellbelove
5c040ad21c Changed project due to header name change. 2017-08-18 16:45:48 +01:00
John Wellbelove
6f13324c64 Added integral_limits to tests. 2017-08-18 16:44:42 +01:00
John Wellbelove
7f4d5c25d5 Added code to keep Code::Blocks happy 2017-08-18 16:44:19 +01:00
John Wellbelove
f4cc4c6fe3 Added integer square root template constant. 2017-08-18 12:58:51 +01:00
John Wellbelove
087c685f81 Added etl::constant helper class. 2017-08-18 12:58:25 +01:00
John Wellbelove
d313ec0da0 Modified Windows check. 2017-08-17 18:19:16 +01:00