443 Commits

Author SHA1 Message Date
John Wellbelove
2877bf7f23 Deprecated etl::factory 2017-12-18 21:36:41 +00:00
John Wellbelove
ec6d1db186 Modified factory to use pool instead of custom internal allocator. 2017-12-15 20:40:12 +00:00
John Wellbelove
39ad0fe808 Added sign_extend functions with shift parameter. 2017-12-15 13:59:03 +00:00
John Wellbelove
1d6058ffac Modified factory to use pool instead of custom internal allocator. 2017-12-15 13:11:08 +00:00
John Wellbelove
5752151b54 Changes from due to type_lookup.h updates 2017-12-13 10:45:33 +00:00
John Wellbelove
ece1174861 Added clear() 2017-12-13 10:44:41 +00:00
John Wellbelove
45c9e81c54 Simplified codebase 2017-12-13 09:57:52 +00:00
John Wellbelove
c84815e9d2 Parameter named in definition. 2017-12-05 18:51:19 +00:00
John Wellbelove
accd863dcd Fixed global find/replace error. 2017-12-05 18:50:18 +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
636554812f Minor tweak to conditional_integral_constant 2017-12-05 18:47:20 +00:00
John Wellbelove
e3c6865bd1 Added has_successor() and get_successor()
Move successor pointer from protected to private
2017-12-04 10:21:41 +00:00
John Wellbelove
1021a847c4 Removed redundant comment 2017-12-04 10:11:17 +00:00
John Wellbelove
71b963d404 Removed explicit from constructor from underlying value type. 2017-12-04 10:10:56 +00:00
John Wellbelove
55995e4c31 Corrected comment 2017-12-04 10:10:14 +00:00
John Wellbelove
7f32909209 Fixed inconsistencies in the dynamic IO port API. 2017-12-01 09:52:00 +00:00
John Wellbelove
a8a26ee335 Change value() to read() 2017-11-30 19:21:36 +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
ab74f22434 Changed implementation of etl::largest_alignment to be recursive.
Changed internal choose_type to etl::conditional
2017-11-30 17:01:43 +00:00
John Wellbelove
8f1ee4653e Removed unnecessary static 2017-11-30 16:59:44 +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
0f03a90cda Removed redundant include 2017-11-19 10:31:41 +00:00
John Wellbelove
c0c003303f Added #include <stdint.h> 2017-11-18 11:11:57 +00:00
John Wellbelove
ed595ccfe2 Obsolete file 2017-11-14 13:10:45 +00:00
John Wellbelove
40daf72dcf Merge branch 'development' 2017-11-12 10:30:12 +00:00
Ashley Roll
bea0ff7f6d Fixed missing changes to support strict builds. 2017-11-01 19:44:06 +00:00
John Wellbelove
a742749849 Merge branch 'development' 2017-11-01 09:33:17 +00:00
John Wellbelove
1f91850065 Merge remote-tracking branch 'origin/development' 2017-10-27 11:23:18 +01:00
John Wellbelove
0c65164483 Added is_null_router() & is_bus() to imessage_router 2017-10-27 11:11:22 +01:00
John Wellbelove
585a65453e Generator was not updated to match the intended generated file. 2017-10-27 10:22:06 +01:00
John Wellbelove
a6f3bcd17e Fixed issue where on_exit_state was being called after the state had changed. 2017-10-27 10:03:25 +01:00
John Wellbelove
58bf40b55d Amalgamated ecl_timer_list into ecl_timer 2017-10-27 09:51:57 +01:00
John Wellbelove
0df0b91075 Merge remote-tracking branch 'origin/development' 2017-10-26 10:47:41 +01:00
John Wellbelove
ed8b47dacd Added etl::generic_pool top level template class. 2017-10-26 10:42:13 +01:00
John Wellbelove
0924f58b74 Merge remote-tracking branch 'origin/development'
# Conflicts:
#	library.properties
#	src/atomic/atomic_arm.h
#	src/atomic/atomic_gcc.h
#	test/vs2017/etl.vcxproj
#	test/vs2017/etl.vcxproj.filters
2017-10-25 21:28:05 +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
38138ff40f Merge remote-tracking branch 'origin/development'
# Conflicts:
#	library.properties
2017-10-25 09:48:40 +01:00
John Wellbelove
6febf859bc Fixed issue where on_exit_state was being called after the state had changed. 2017-10-25 09:47:14 +01:00
John Wellbelove
88cc021c8c Merge remote-tracking branch 'origin/development'
# Conflicts:
#	examples/ArmTimerCallbacks - C++/RTE/Device/STM32F401RETx/startup_stm32f401xe.s
#	examples/ArmTimerCallbacks - C++/RTE/Device/STM32F401RETx/system_stm32f4xx.c
#	examples/ArmTimerCallbacks/RTE/Device/STM32F401RETx/startup_stm32f401xe.s
#	examples/ArmTimerCallbacks/RTE/Device/STM32F401RETx/system_stm32f4xx.c
#	library.properties
#	test/codeblocks/ETL.cbp
#	test/keil/startup_stm32f401xe.s
#	test/keil/system_stm32f4xx.c
#	test/vs2017/etl.vcxproj
#	test/vs2017/etl.vcxproj.filters
2017-10-24 12:54:09 +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
13de62bd4f Merge remote-tracking branch 'origin/development'
# Conflicts:
#	library.properties
#	src/callback_timer.h
#	src/message_timer.h
#	test/test_callback_timer.cpp
#	test/test_message_timer.cpp
2017-10-21 09:24:16 +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
a47109783e Merge remote-tracking branch 'origin/development'
# Conflicts:
#	library.properties
#	src/callback_timer.h
#	src/message_timer.h
#	test/codeblocks/ETL.cbp
#	test/codeblocks/ETL.depend
#	test/test_callback_timer.cpp
#	test/test_message_timer.cpp
#	test/vs2017/etl.vcxproj.filters
2017-10-19 18:34:21 +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
0bfd212a54 Merge remote-tracking branch 'origin/development'
# Conflicts:
#	examples/ArmTimerCallbacks/RTE/Device/STM32F401RETx/startup_stm32f401xe.s
#	examples/ArmTimerCallbacks/RTE/Device/STM32F401RETx/system_stm32f4xx.c
#	library.properties
#	test/codeblocks/ETL.cbp
#	test/codeblocks/ETL.depend
#	test/codeblocks/ETL.layout
#	test/vs2017/etl.vcxproj
#	test/vs2017/etl.vcxproj.filters
2017-10-18 09:23:17 +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
97fbb678da Removed Git merge annotation 2017-10-02 20:40:42 +01:00