@@ -4,7 +4,7 @@ use volatile_register::RW;
4
4
#[ cfg( not( armv6m) ) ]
5
5
use volatile_register:: { RO , WO } ;
6
6
7
- use crate :: interrupt:: Nr ;
7
+ use crate :: interrupt:: InterruptNumber ;
8
8
use crate :: peripheral:: NVIC ;
9
9
10
10
/// Register block
@@ -86,9 +86,9 @@ impl NVIC {
86
86
#[ inline]
87
87
pub fn request < I > ( & mut self , interrupt : I )
88
88
where
89
- I : Nr ,
89
+ I : InterruptNumber ,
90
90
{
91
- let nr = interrupt. nr ( ) ;
91
+ let nr = interrupt. number ( ) ;
92
92
93
93
unsafe {
94
94
self . stir . write ( u32:: from ( nr) ) ;
@@ -99,9 +99,9 @@ impl NVIC {
99
99
#[ inline]
100
100
pub fn mask < I > ( interrupt : I )
101
101
where
102
- I : Nr ,
102
+ I : InterruptNumber ,
103
103
{
104
- let nr = interrupt. nr ( ) ;
104
+ let nr = interrupt. number ( ) ;
105
105
// NOTE(unsafe) this is a write to a stateless register
106
106
unsafe { ( * Self :: ptr ( ) ) . icer [ usize:: from ( nr / 32 ) ] . write ( 1 << ( nr % 32 ) ) }
107
107
}
@@ -112,9 +112,9 @@ impl NVIC {
112
112
#[ inline]
113
113
pub unsafe fn unmask < I > ( interrupt : I )
114
114
where
115
- I : Nr ,
115
+ I : InterruptNumber ,
116
116
{
117
- let nr = interrupt. nr ( ) ;
117
+ let nr = interrupt. number ( ) ;
118
118
// NOTE(ptr) this is a write to a stateless register
119
119
( * Self :: ptr ( ) ) . iser [ usize:: from ( nr / 32 ) ] . write ( 1 << ( nr % 32 ) )
120
120
}
@@ -127,20 +127,20 @@ impl NVIC {
127
127
#[ inline]
128
128
pub fn get_priority < I > ( interrupt : I ) -> u8
129
129
where
130
- I : Nr ,
130
+ I : InterruptNumber ,
131
131
{
132
132
#[ cfg( not( armv6m) ) ]
133
133
{
134
- let nr = interrupt. nr ( ) ;
134
+ let nr = interrupt. number ( ) ;
135
135
// NOTE(unsafe) atomic read with no side effects
136
136
unsafe { ( * Self :: ptr ( ) ) . ipr [ usize:: from ( nr) ] . read ( ) }
137
137
}
138
138
139
139
#[ cfg( armv6m) ]
140
140
{
141
141
// NOTE(unsafe) atomic read with no side effects
142
- let ipr_n = unsafe { ( * Self :: ptr ( ) ) . ipr [ Self :: ipr_index ( & interrupt) ] . read ( ) } ;
143
- let prio = ( ipr_n >> Self :: ipr_shift ( & interrupt) ) & 0x0000_00ff ;
142
+ let ipr_n = unsafe { ( * Self :: ptr ( ) ) . ipr [ Self :: ipr_index ( interrupt) ] . read ( ) } ;
143
+ let prio = ( ipr_n >> Self :: ipr_shift ( interrupt) ) & 0x0000_00ff ;
144
144
prio as u8
145
145
}
146
146
}
@@ -150,9 +150,9 @@ impl NVIC {
150
150
#[ inline]
151
151
pub fn is_active < I > ( interrupt : I ) -> bool
152
152
where
153
- I : Nr ,
153
+ I : InterruptNumber ,
154
154
{
155
- let nr = interrupt. nr ( ) ;
155
+ let nr = interrupt. number ( ) ;
156
156
let mask = 1 << ( nr % 32 ) ;
157
157
158
158
// NOTE(unsafe) atomic read with no side effects
@@ -163,9 +163,9 @@ impl NVIC {
163
163
#[ inline]
164
164
pub fn is_enabled < I > ( interrupt : I ) -> bool
165
165
where
166
- I : Nr ,
166
+ I : InterruptNumber ,
167
167
{
168
- let nr = interrupt. nr ( ) ;
168
+ let nr = interrupt. number ( ) ;
169
169
let mask = 1 << ( nr % 32 ) ;
170
170
171
171
// NOTE(unsafe) atomic read with no side effects
@@ -176,9 +176,9 @@ impl NVIC {
176
176
#[ inline]
177
177
pub fn is_pending < I > ( interrupt : I ) -> bool
178
178
where
179
- I : Nr ,
179
+ I : InterruptNumber ,
180
180
{
181
- let nr = interrupt. nr ( ) ;
181
+ let nr = interrupt. number ( ) ;
182
182
let mask = 1 << ( nr % 32 ) ;
183
183
184
184
// NOTE(unsafe) atomic read with no side effects
@@ -189,9 +189,9 @@ impl NVIC {
189
189
#[ inline]
190
190
pub fn pend < I > ( interrupt : I )
191
191
where
192
- I : Nr ,
192
+ I : InterruptNumber ,
193
193
{
194
- let nr = interrupt. nr ( ) ;
194
+ let nr = interrupt. number ( ) ;
195
195
196
196
// NOTE(unsafe) atomic stateless write; ICPR doesn't store any state
197
197
unsafe { ( * Self :: ptr ( ) ) . ispr [ usize:: from ( nr / 32 ) ] . write ( 1 << ( nr % 32 ) ) }
@@ -212,19 +212,19 @@ impl NVIC {
212
212
#[ inline]
213
213
pub unsafe fn set_priority < I > ( & mut self , interrupt : I , prio : u8 )
214
214
where
215
- I : Nr ,
215
+ I : InterruptNumber ,
216
216
{
217
217
#[ cfg( not( armv6m) ) ]
218
218
{
219
- let nr = interrupt. nr ( ) ;
219
+ let nr = interrupt. number ( ) ;
220
220
self . ipr [ usize:: from ( nr) ] . write ( prio)
221
221
}
222
222
223
223
#[ cfg( armv6m) ]
224
224
{
225
- self . ipr [ Self :: ipr_index ( & interrupt) ] . modify ( |value| {
226
- let mask = 0x0000_00ff << Self :: ipr_shift ( & interrupt) ;
227
- let prio = u32:: from ( prio) << Self :: ipr_shift ( & interrupt) ;
225
+ self . ipr [ Self :: ipr_index ( interrupt) ] . modify ( |value| {
226
+ let mask = 0x0000_00ff << Self :: ipr_shift ( interrupt) ;
227
+ let prio = u32:: from ( prio) << Self :: ipr_shift ( interrupt) ;
228
228
229
229
( value & !mask) | prio
230
230
} )
@@ -235,29 +235,29 @@ impl NVIC {
235
235
#[ inline]
236
236
pub fn unpend < I > ( interrupt : I )
237
237
where
238
- I : Nr ,
238
+ I : InterruptNumber ,
239
239
{
240
- let nr = interrupt. nr ( ) ;
240
+ let nr = interrupt. number ( ) ;
241
241
242
242
// NOTE(unsafe) atomic stateless write; ICPR doesn't store any state
243
243
unsafe { ( * Self :: ptr ( ) ) . icpr [ usize:: from ( nr / 32 ) ] . write ( 1 << ( nr % 32 ) ) }
244
244
}
245
245
246
246
#[ cfg( armv6m) ]
247
247
#[ inline]
248
- fn ipr_index < I > ( interrupt : & I ) -> usize
248
+ fn ipr_index < I > ( interrupt : I ) -> usize
249
249
where
250
- I : Nr ,
250
+ I : InterruptNumber ,
251
251
{
252
- usize:: from ( interrupt. nr ( ) ) / 4
252
+ usize:: from ( interrupt. number ( ) ) / 4
253
253
}
254
254
255
255
#[ cfg( armv6m) ]
256
256
#[ inline]
257
- fn ipr_shift < I > ( interrupt : & I ) -> usize
257
+ fn ipr_shift < I > ( interrupt : I ) -> usize
258
258
where
259
- I : Nr ,
259
+ I : InterruptNumber ,
260
260
{
261
- ( usize:: from ( interrupt. nr ( ) ) % 4 ) * 8
261
+ ( usize:: from ( interrupt. number ( ) ) % 4 ) * 8
262
262
}
263
263
}
0 commit comments