@@ -50,6 +50,150 @@ pay attention to. Medium impact changes are also worth looking at.
5050
5151</details >
5252
53+ ## 2018-01-07: 2017q4 release
54+
55+ This release covers everything from the 2017q3 release on 2017-10-01 and has been
56+ tested with avr-gcc v5.4.0 from Atmel and arm-none-eabi-gcc 2017q4 from Arm.
57+
58+ Breaking changes:
59+
60+ - No breaking changes.
61+
62+ Major features:
63+
64+ - SCons 3 and Python 3 support for built tools
65+ - All targets build with C++14 by default
66+ - Rosserial support
67+ - LPC support (revival)
68+
69+ Major fixes:
70+
71+ - Fix the I2C driver on STM32L0/L4 for writes/reads > 255 bytes.
72+ - Fix matrix multiplication and LU decomposition
73+ - Fix ` GpioPort ` setOutput()/setInput()/configure() on STM32
74+ - Fix Hd44780 initialization for 4-bit bus
75+ - Fix GCC7-specific compile errors and warnings
76+
77+ Known bugs:
78+
79+ - xpcc may generate separate IRQ handlers for shared interrupts. See [ #88 ] [ ] .
80+ - GPIO ` connect ` on STM32F1 is still broken. See [ #178 ] [ ] for discussion.
81+ The API from MODM will not be backported to xpcc however.
82+ - STM32F107 does not compile due to the HAL trying to remap USB. See [ #268 ] [ ] .
83+ - SCons build system emits multiple non-critical warnings. See [ #286 ] [ ] .
84+ - avr-gcc 7 complains about dynamic initialization put into program memory area. See [ #314 ] [ ] .
85+
86+ New development board targets:
87+
88+ - No new development board targets
89+
90+ New device drivers:
91+
92+ - No new device drivers
93+
94+ Many thanks to all our contributors.
95+ A special shoutout to first timers (🎉🎊):
96+
97+ - Álan Crístoffer ([ @acristoffers ] [ ] ) 🎉🎊
98+ - Andre Gilerson ([ @AndreGilerson ] [ ] ) 🎉🎊
99+ - Carl Treudler ([ @cajt ] [ ] )
100+ - Christopher Durand ([ @chris-durand ] [ ] )
101+ - Marten Junga ([ @Maju-Ketchup ] [ ] )
102+ - Michael Thies ([ @mhthies ] [ ] )
103+ - Niklas Hauser ([ @salkinium ] [ ] )
104+ - Raphael Lehmann ([ @rleh ] [ ] )
105+ - Sascha Schade ([ @strongly-typed ] [ ] )
106+
107+ PR [ #325 ] [ ] -> [ 2017q4] [ ] .
108+
109+ <details >
110+ <summary >Detailed changelog</summary >
111+
112+ #### 2018-01-07: Fix HD44780 initialization for 4-bit bus
113+
114+ Adds missing bitshift to write the correct nibble to enable 4-bit mode.
115+
116+ PR [ #326 ] [ ] -> [ 42837c7] [ ] with low impact on HD44780 driver.
117+ Tested in hardware by [ @acristoffers ] [ ] .
118+
119+ #### 2018-01-07: Fix GpioPort setOutput()/setInput()/configure() on STM32
120+
121+ Fixes wrong offset of a port mask used to configure output, input and pullups.
122+
123+ PR ? -> [ 6328b4a] [ ] with low impact on STM32 targets.
124+ Tested in hardware by [ @salkinium ] [ ] .
125+
126+ #### 2018-01-07: Update CMSIS headers for STM32
127+
128+ PR [ #324 ] [ ] -> [ 857e514] [ ] with ** medium impact** on STM32 targets.
129+ Tested in hardware by [ @salkinium ] [ ] .
130+
131+ #### 2018-01-03: Use C++ stdlib instead of boost for hosted RTOS
132+
133+ Replaces the hosted implementation of our RTOS interface with the C++ stdlib to reduce our dependence on boost for threading.
134+
135+ PR [ #322 ] [ ] -> [ 5ef8009] [ ] with low impact on hosted targets.
136+
137+ #### 2018-01-03: Python 3 support for SConscripts and related tools
138+
139+ SCons 3.0 features support for both Python 3.5+ and Python 2.7.
140+ These changes make all build and tool scripts compatible with
141+ both versions and adapt the CI systems too.
142+
143+ PR [ #297 ] [ ] -> [ 3b47fa5] [ ] with low impact on all build tools.
144+
145+ #### 2017-12-20: Enable C++14 for all targets by default
146+
147+ This is possible since Atmel's offical avr-gcc is now >= v5.4.0.
148+
149+ PR [ #320 ] [ ] -> [ 68e73b3] [ ] with low impact on all targets.
150+
151+ #### 2017-12-19: Fix matrix multiplication and LU-decomposition
152+
153+ Matrix height and width parameters were switched.
154+
155+ PR [ #318 ] [ ] -> [ c4ed672] [ ] with ** medium impact** on matrix math.
156+ Tested in hardware by [ @Maju-Ketchup ] [ ] .
157+
158+ #### 2017-12-18: Fix printing of uint64_t in iostream
159+
160+ Only the lower 32 bits of an uint64_t were shown in iostream.
161+
162+ PR [ #315 ] [ ] -> [ 2c898ae] [ ] with ** medium impact** on printing 64-bit numbers.
163+ Tested in hardware by [ @Maju-Ketchup ] [ ] .
164+
165+ #### 2017-11-09: Add rosserial to communicate with ROS
166+
167+ Allows using xpcc for embedded sensor aquisition and interacting with a ROS robot across a serial link via ROS messages.
168+
169+ PR [ #306 ] [ ] -> [ 78c3ae2] [ ] .
170+ Tested in hardware by [ @strongly-typed ] [ ] .
171+
172+ #### 2017-10-27: Revive LPC11C24 with GPIO, UART and CAN
173+
174+ "out of curiosity"
175+
176+ PR [ #305 ] [ ] -> [ 48d60e2] [ ] with ** medium impact** on LPC targets.
177+ Tested in hardware by [ @strongly-typed ] [ ] .
178+
179+ #### 2017-10-24: Fix negative temperatures and round integer for LTC298x
180+
181+ PR [ #301 ] [ ] -> [ 6aee411] [ ] with ** medium impact** on negative LTC298x data.
182+ Tested in hardware by [ @rleh ] [ ] .
183+
184+ #### 2017-10-15: Add CircleCI integration
185+
186+ PR [ #298 ] [ ] -> [ c5f8170] [ ] .
187+
188+ #### 2017-10-12: Fix the I2C on STM32L4
189+
190+ Correctly generates restart condition on writes > 255 bytes.
191+
192+ PR [ #299 ] [ ] -> [ 3d9d80f] [ ] with low impact on STM32L0/L4 targets.
193+ Tested in hardware by [ @strongly-typed ] [ ] .
194+
195+ </details >
196+
53197
54198## 2017-10-01: 2017q3 release
55199
@@ -810,9 +954,12 @@ we have to do it manually. Hooray for technology.
810954[ 2017q1 ] : https://github.com/roboterclubaachen/xpcc/releases/tag/2017q1
811955[ 2017q2 ] : https://github.com/roboterclubaachen/xpcc/releases/tag/2017q2
812956[ 2017q3 ] : https://github.com/roboterclubaachen/xpcc/releases/tag/2017q3
957+ [ 2017q4 ] : https://github.com/roboterclubaachen/xpcc/releases/tag/2017q4
813958
814959<!-- Contributors -->
815960[ @7Kronos ] : https://github.com/7Kronos
961+ [ @acristoffers ] : https://github.com/acristoffers
962+ [ @AndreGilerson ] : https://github.com/AndreGilerson
816963[ @cajt ] : https://github.com/cajt
817964[ @chris-durand ] : https://github.com/chris-durand
818965[ @daniel-k ] : https://github.com/daniel-k
@@ -840,30 +987,23 @@ we have to do it manually. Hooray for technology.
840987[ #147 ] : https://github.com/roboterclubaachen/xpcc/pull/147
841988[ #154 ] : https://github.com/roboterclubaachen/xpcc/pull/154
842989[ #155 ] : https://github.com/roboterclubaachen/xpcc/pull/155
843- [ #155 ] : https://github.com/roboterclubaachen/xpcc/pull/155
844- [ #155 ] : https://github.com/roboterclubaachen/xpcc/pull/155
845990[ #165 ] : https://github.com/roboterclubaachen/xpcc/pull/165
846991[ #167 ] : https://github.com/roboterclubaachen/xpcc/pull/167
847992[ #168 ] : https://github.com/roboterclubaachen/xpcc/pull/168
848993[ #173 ] : https://github.com/roboterclubaachen/xpcc/pull/173
849- [ #173 ] : https://github.com/roboterclubaachen/xpcc/pull/173
850994[ #175 ] : https://github.com/roboterclubaachen/xpcc/pull/175
851995[ #176 ] : https://github.com/roboterclubaachen/xpcc/pull/176
852996[ #178 ] : https://github.com/roboterclubaachen/xpcc/pull/178
853- [ #178 ] : https://github.com/roboterclubaachen/xpcc/pull/178
854997[ #179 ] : https://github.com/roboterclubaachen/xpcc/pull/179
855998[ #180 ] : https://github.com/roboterclubaachen/xpcc/pull/180
856999[ #182 ] : https://github.com/roboterclubaachen/xpcc/pull/182
8571000[ #183 ] : https://github.com/roboterclubaachen/xpcc/pull/183
8581001[ #185 ] : https://github.com/roboterclubaachen/xpcc/pull/185
859- [ #185 ] : https://github.com/roboterclubaachen/xpcc/pull/185
8601002[ #186 ] : https://github.com/roboterclubaachen/xpcc/pull/186
8611003[ #187 ] : https://github.com/roboterclubaachen/xpcc/pull/187
8621004[ #188 ] : https://github.com/roboterclubaachen/xpcc/pull/188
8631005[ #189 ] : https://github.com/roboterclubaachen/xpcc/pull/189
8641006[ #194 ] : https://github.com/roboterclubaachen/xpcc/pull/194
865- [ #194 ] : https://github.com/roboterclubaachen/xpcc/pull/194
866- [ #194 ] : https://github.com/roboterclubaachen/xpcc/pull/194
8671007[ #195 ] : https://github.com/roboterclubaachen/xpcc/pull/195
8681008[ #196 ] : https://github.com/roboterclubaachen/xpcc/pull/196
8691009[ #202 ] : https://github.com/roboterclubaachen/xpcc/pull/202
@@ -905,6 +1045,20 @@ we have to do it manually. Hooray for technology.
9051045[ #293 ] : https://github.com/roboterclubaachen/xpcc/pull/293
9061046[ #295 ] : https://github.com/roboterclubaachen/xpcc/pull/295
9071047[ #296 ] : https://github.com/roboterclubaachen/xpcc/pull/296
1048+ [ #297 ] : https://github.com/roboterclubaachen/xpcc/pull/297
1049+ [ #298 ] : https://github.com/roboterclubaachen/xpcc/pull/298
1050+ [ #299 ] : https://github.com/roboterclubaachen/xpcc/pull/299
1051+ [ #301 ] : https://github.com/roboterclubaachen/xpcc/pull/301
1052+ [ #305 ] : https://github.com/roboterclubaachen/xpcc/pull/305
1053+ [ #306 ] : https://github.com/roboterclubaachen/xpcc/pull/306
1054+ [ #314 ] : https://github.com/roboterclubaachen/xpcc/pull/314
1055+ [ #315 ] : https://github.com/roboterclubaachen/xpcc/pull/315
1056+ [ #318 ] : https://github.com/roboterclubaachen/xpcc/pull/318
1057+ [ #320 ] : https://github.com/roboterclubaachen/xpcc/pull/320
1058+ [ #322 ] : https://github.com/roboterclubaachen/xpcc/pull/322
1059+ [ #324 ] : https://github.com/roboterclubaachen/xpcc/pull/324
1060+ [ #325 ] : https://github.com/roboterclubaachen/xpcc/pull/325
1061+ [ #326 ] : https://github.com/roboterclubaachen/xpcc/pull/326
9081062
9091063<!-- Commits -->
9101064[ 0118a13 ] : https://github.com/roboterclubaachen/xpcc/commit/0118a13
@@ -919,25 +1073,36 @@ we have to do it manually. Hooray for technology.
9191073[ 2504682 ] : https://github.com/roboterclubaachen/xpcc/commit/2504682
9201074[ 26471ab ] : https://github.com/roboterclubaachen/xpcc/commit/26471ab
9211075[ 29c8905 ] : https://github.com/roboterclubaachen/xpcc/commit/29c8905
1076+ [ 2c898ae ] : https://github.com/roboterclubaachen/xpcc/commit/2c898ae
9221077[ 3992534 ] : https://github.com/roboterclubaachen/xpcc/commit/3992534
1078+ [ 3b47fa5 ] : https://github.com/roboterclubaachen/xpcc/commit/3b47fa5
9231079[ 3c7cd31 ] : https://github.com/roboterclubaachen/xpcc/commit/3c7cd31
1080+ [ 3d9d80f ] : https://github.com/roboterclubaachen/xpcc/commit/3d9d80f
9241081[ 3f50e1d ] : https://github.com/roboterclubaachen/xpcc/commit/3f50e1d
9251082[ 408c309 ] : https://github.com/roboterclubaachen/xpcc/commit/408c309
9261083[ 40da657 ] : https://github.com/roboterclubaachen/xpcc/commit/40da657
9271084[ 41ab22a ] : https://github.com/roboterclubaachen/xpcc/commit/41ab22a
1085+ [ 42837c7 ] : https://github.com/roboterclubaachen/xpcc/commit/42837c7
1086+ [ 48d60e2 ] : https://github.com/roboterclubaachen/xpcc/commit/48d60e2
9281087[ 51159ff ] : https://github.com/roboterclubaachen/xpcc/commit/51159ff
9291088[ 51491ad ] : https://github.com/roboterclubaachen/xpcc/commit/51491ad
9301089[ 553dceb ] : https://github.com/roboterclubaachen/xpcc/commit/553dceb
9311090[ 5e547ab ] : https://github.com/roboterclubaachen/xpcc/commit/5e547ab
1091+ [ 5ef8009 ] : https://github.com/roboterclubaachen/xpcc/commit/5ef8009
9321092[ 5f5934a ] : https://github.com/roboterclubaachen/xpcc/commit/5f5934a
1093+ [ 6328b4a ] : https://github.com/roboterclubaachen/xpcc/commit/6328b4a
9331094[ 637e074 ] : https://github.com/roboterclubaachen/xpcc/commit/637e074
9341095[ 63ad1d3 ] : https://github.com/roboterclubaachen/xpcc/commit/63ad1d3
9351096[ 680c92a ] : https://github.com/roboterclubaachen/xpcc/commit/680c92a
9361097[ 68b904e ] : https://github.com/roboterclubaachen/xpcc/commit/68b904e
1098+ [ 68e73b3 ] : https://github.com/roboterclubaachen/xpcc/commit/68e73b3
1099+ [ 6aee411 ] : https://github.com/roboterclubaachen/xpcc/commit/6aee411
9371100[ 6c1a111 ] : https://github.com/roboterclubaachen/xpcc/commit/6c1a111
9381101[ 7111cd3 ] : https://github.com/roboterclubaachen/xpcc/commit/7111cd3
1102+ [ 78c3ae2 ] : https://github.com/roboterclubaachen/xpcc/commit/78c3ae2
9391103[ 7ab0132 ] : https://github.com/roboterclubaachen/xpcc/commit/7ab0132
9401104[ 84d5bd0 ] : https://github.com/roboterclubaachen/xpcc/commit/84d5bd0
1105+ [ 857e514 ] : https://github.com/roboterclubaachen/xpcc/commit/857e514
9411106[ 8cc5c78 ] : https://github.com/roboterclubaachen/xpcc/commit/8cc5c78
9421107[ 8f9b154 ] : https://github.com/roboterclubaachen/xpcc/commit/8f9b154
9431108[ 9018741 ] : https://github.com/roboterclubaachen/xpcc/commit/9018741
@@ -954,6 +1119,8 @@ we have to do it manually. Hooray for technology.
9541119[ b77294e ] : https://github.com/roboterclubaachen/xpcc/commit/b77294e
9551120[ bb3fa3a ] : https://github.com/roboterclubaachen/xpcc/commit/bb3fa3a
9561121[ c12a69b ] : https://github.com/roboterclubaachen/xpcc/commit/c12a69b
1122+ [ c4ed672 ] : https://github.com/roboterclubaachen/xpcc/commit/c4ed672
1123+ [ c5f8170 ] : https://github.com/roboterclubaachen/xpcc/commit/c5f8170
9571124[ c605416 ] : https://github.com/roboterclubaachen/xpcc/commit/c605416
9581125[ c7adb48 ] : https://github.com/roboterclubaachen/xpcc/commit/c7adb48
9591126[ cb0a11e ] : https://github.com/roboterclubaachen/xpcc/commit/cb0a11e
0 commit comments