@@ -4,8 +4,6 @@ All notable changes to this project will be documented in this file.
4
4
5
5
The format is based on [ Keep a Changelog] ( http://keepachangelog.com/ ) .
6
6
7
-
8
-
9
7
## [ Unreleased]
10
8
11
9
<!-- When making a PR, please update this section. Note: This document should
@@ -17,14 +15,34 @@ forget to update the links at the bottom of the changelog as well.-->
17
15
18
16
### Breaking Changes
19
17
18
+ - Upgrade ` stm32l0 ` to latest version, and other dependency updates ([ #215 ] ):
19
+
20
+ ` dependencies `
21
+
22
+ | crate | from | to |
23
+ | ----------- | ------ | ------ |
24
+ | cast | 0.2.2 | 0.3.0 |
25
+ | cortex-m-rt | 0.6.8 | 0.7.0 |
26
+ | rtcc | 0.2 | 0.3.0 |
27
+ | stm32l0 | 0.13.0 | 0.15.1 |
28
+
29
+ ` dev-dependencies `
30
+
31
+ | crate | from | to |
32
+ | -------------------- | ----- | ----- |
33
+ | aligned | 0.3.1 | 0.4.1 |
34
+ | cortex-m-rtic | 0.5.6 | 1.1.3 |
35
+ | cortex-m-semihosting | 0.3.2 | 0.5.0 |
36
+ | panic-semihosting | 0.5.1 | 0.6.0 |
37
+
20
38
### Non-Breaking Changes
21
39
22
40
### Fixes
41
+
23
42
- Add other possible pins for SPI1 for L0x1 family
24
43
25
44
### Documentation
26
45
27
-
28
46
## [ v0.9.0] - 2021-12-11
29
47
30
48
### Additions
@@ -45,61 +63,57 @@ forget to update the links at the bottom of the changelog as well.-->
45
63
46
64
- Fix Cargo features used by docs.rs ([ #203 ] )
47
65
48
-
49
66
## [ v0.8.0] - 2021-11-04
50
67
51
68
### Additions
52
69
53
70
- Add ` Timer::new ` to create timer without starting. ([ #152 ] )
54
- - Add (untested) example ` temperature ` ([ #161 ] ) which uses ` adc ` to read the
55
- internal temperature and also an externally connected TMP36 analog sensor.
56
- - Add ` Pwm::set_frequency ` to allow dynamically changing the underlying PWM timer's
57
- frequency. This was previously impossible without resorting to ` unsafe ` because the
58
- channels where moved out of the timer struct and Rust's ownership rules forbade us
59
- to borrow the timer to call ` set_frequency ` . ([ #174 ] )
60
- - Add Cargo features for flash and RAM sizes allowing to pass the correct sizes to
61
- the linker instead of having a default for the whole sub-family. ([ #173 ] )
71
+ - Add (untested) example ` temperature ` ([ #161 ] ) which uses ` adc ` to read the internal temperature
72
+ and also an externally connected TMP36 analog sensor.
73
+ - Add ` Pwm::set_frequency ` to allow dynamically changing the underlying PWM timer's frequency. This
74
+ was previously impossible without resorting to ` unsafe ` because the channels where moved out of
75
+ the timer struct and Rust's ownership rules forbade us to borrow the timer to call
76
+ ` set_frequency ` . ([ #174 ] )
77
+ - Add Cargo features for flash and RAM sizes allowing to pass the correct sizes to the linker
78
+ instead of having a default for the whole sub-family. ([ #173 ] )
62
79
63
80
### Breaking Changes
64
81
65
- - Migrate from custom ` Hertz ` implementation to [ ` embedded-time ` ] ( https://crates.io/crates/embedded-time ) ([ #183 ] )
82
+ - Migrate from custom ` Hertz ` implementation to
83
+ [ ` embedded-time ` ] ( https://crates.io/crates/embedded-time ) ([ #183 ] )
66
84
- Add ` enable ` to ` GeneralPurposeTimer `
67
85
- ` Instance::clock_frequency ` is now an associated function and doesn't take ` &self ` anymore.
68
86
- Build script requires that exactly one ` flash-* ` and one ` ram-* ` feature is enabled. They are
69
- enabled automatically when using an ` mcu-* ` feature, but if you manually selected the other features
70
- before this will break the build because of the missing features.
71
- - The ` rtc::RTC ` struct has been renamed to ` rtc::Rtc ` and includes a big
72
- refactoring and a few API changes. It now implements the traits from the
73
- [ rtcc crate] ( https://docs.rs/rtcc/ ) and uses date/time types from Chrono.
74
- - When downgrading GPIO pins, not only the pin number but also the port
75
- identifier is erased. To update your code, replace
76
- ` PA ` /` PB ` /` PC ` /` PD ` /` PE ` /` PH ` with ` Pin ` . ([ #190 ] )
87
+ enabled automatically when using an ` mcu-* ` feature, but if you manually selected the other
88
+ features before this will break the build because of the missing features.
89
+ - The ` rtc::RTC ` struct has been renamed to ` rtc::Rtc ` and includes a big refactoring and a few API
90
+ changes. It now implements the traits from the [ rtcc crate] ( https://docs.rs/rtcc/ ) and uses
91
+ date/time types from Chrono.
92
+ - When downgrading GPIO pins, not only the pin number but also the port identifier is erased. To
93
+ update your code, replace ` PA ` /` PB ` /` PC ` /` PD ` /` PE ` /` PH ` with ` Pin ` . ([ #190 ] )
77
94
78
95
### Non-Breaking Changes
79
96
80
- - The crate now has an optional ` rtc ` feature (enabled by default). The ` rtc `
81
- module is only available if that feature is enabled. Enabling the feature
82
- also pulls in the ` rtcc ` and ` chrono ` dependencies, in oder to support a
83
- richer calendar / clock API.
97
+ - The crate now has an optional ` rtc ` feature (enabled by default). The ` rtc ` module is only
98
+ available if that feature is enabled. Enabling the feature also pulls in the ` rtcc ` and ` chrono `
99
+ dependencies, in oder to support a richer calendar / clock API.
84
100
85
101
### Fixes
86
102
87
103
- Fixed potential race condition when flushing the tx serial buffer.
88
- - Fixed RTC year handling. Previously, the implementation incorrectly assumed
89
- that the BCD year 00 corresponds to 1970, but this results in a wrong leap
90
- year calculation. The correct time base is the year 2000.
91
-
104
+ - Fixed RTC year handling. Previously, the implementation incorrectly assumed that the BCD year 00
105
+ corresponds to 1970, but this results in a wrong leap year calculation. The correct time base is
106
+ the year 2000.
92
107
93
108
## [ v0.7.0] - 2021-03-10
94
109
95
110
### Additions
96
111
97
112
- Timers: Add support for TIM6 ([ #101 ] )
98
- - Timers: Implement ` LinkedTimer ` ([ #115 ] ). It is initialized with two hardware
99
- timers (either TIM2/TIM3 or TIM21/TIM22). The two timers are configured in
100
- master/slave mode so that an overflow of the master timer triggers an update
101
- on the slave timer. This way, two 16 bit timers can be combined to a single
102
- 32 bit timer. (The STM32L0 does not have 32 bit timers.)
113
+ - Timers: Implement ` LinkedTimer ` ([ #115 ] ). It is initialized with two hardware timers (either
114
+ TIM2/TIM3 or TIM21/TIM22). The two timers are configured in master/slave mode so that an overflow
115
+ of the master timer triggers an update on the slave timer. This way, two 16 bit timers can be
116
+ combined to a single 32 bit timer. (The STM32L0 does not have 32 bit timers.)
103
117
- Remove config tests that prevented stm32l0x1 devices from using ADC with DMA ([ #124 ] )
104
118
- Add ` enable_lse ` method to RCC structure that configures LSE ([ #130 ] )
105
119
- Expose factory calibration data ([ #121 ] )
@@ -124,8 +138,8 @@ forget to update the links at the bottom of the changelog as well.-->
124
138
### Fixes
125
139
126
140
- I2C: Before starting new transaction ensure that both TX and RX buffers are empty ([ #98 ] )
127
- - Detect rollover using positions rather than DMA flags ([ #127 ] ). This fixes a
128
- faulty DMA buffer overflow in ` adc_trig ` example ([ #104 ] ).
141
+ - Detect rollover using positions rather than DMA flags ([ #127 ] ). This fixes a faulty DMA buffer
142
+ overflow in ` adc_trig ` example ([ #104 ] ).
129
143
- Maximum frequency for stm32l0 increased to 32MHz ([ #129 ] )
130
144
- GPIO: Fix ` Pin::into_pull_down_input ` ([ #142 ] )
131
145
@@ -135,33 +149,25 @@ forget to update the links at the bottom of the changelog as well.-->
135
149
- Port examples to RTFM/RTIC 0.5 ([ #100 ] , [ #116 ] )
136
150
- Improve README ([ #119 ] )
137
151
138
-
139
-
140
152
## [ v0.6.2] - 2020-05-03
141
153
142
154
_ Not yet tracked in this changelog._
143
155
144
-
145
-
146
156
## [ v0.6.1] - 2020-04-08
147
157
148
158
_ Not yet tracked in this changelog._
149
159
150
-
151
-
152
160
## [ v0.6.0] - 2020-04-05
153
161
154
162
_ Not yet tracked in this changelog._
155
163
156
-
157
-
158
164
## v0.5.0 - 2019-12-02
159
165
160
- * Not yet tracked in this changelog.*
161
-
162
-
166
+ _ Not yet tracked in this changelog._
163
167
164
168
<!-- Links to pull requests and issues. -->
169
+
170
+ [ #215 ] : https://github.com/stm32-rs/stm32l0xx-hal/pull/215
165
171
[ #208 ] : https://github.com/stm32-rs/stm32l0xx-hal/pull/208
166
172
[ #206 ] : https://github.com/stm32-rs/stm32l0xx-hal/pull/206
167
173
[ #203 ] : https://github.com/stm32-rs/stm32l0xx-hal/pull/203
@@ -202,7 +208,8 @@ _Not yet tracked in this changelog._
202
208
[ #98 ] : https://github.com/stm32-rs/stm32l0xx-hal/pull/98
203
209
204
210
<!-- Links to version diffs. -->
205
- [ Unreleased ] : https://github.com/stm32-rs/stm32l0xx-hal/compare/v0.9.0...HEAD
211
+
212
+ [ unreleased ] : https://github.com/stm32-rs/stm32l0xx-hal/compare/v0.9.0...HEAD
206
213
[ v0.9.0 ] : https://github.com/stm32-rs/stm32l0xx-hal/compare/v0.8.0...v0.9.0
207
214
[ v0.8.0 ] : https://github.com/stm32-rs/stm32l0xx-hal/compare/v0.7.0...v0.8.0
208
215
[ v0.7.0 ] : https://github.com/stm32-rs/stm32l0xx-hal/compare/v0.6.2...v0.7.0
0 commit comments