Skip to content

Commit ecbe3d9

Browse files
authored
Merge pull request #91 from burrbull/gpio-const
gpio consts
2 parents 68a14ef + db8ff25 commit ecbe3d9

File tree

1 file changed

+40
-40
lines changed

1 file changed

+40
-40
lines changed

src/gpio.rs

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -212,18 +212,18 @@ macro_rules! gpio {
212212
self,
213213
cr: &mut $CR,
214214
) -> $PXi<Alternate<PushPull>> {
215-
let offset = (4 * $i) % 32;
215+
const OFFSET: u32 = (4 * $i) % 32;
216216
// Alternate function output push pull
217-
let cnf = 0b10;
217+
const CNF: u32 = 0b10;
218218
// Output mode, max speed 50 MHz
219-
let mode = 0b11;
220-
let bits = (cnf << 2) | mode;
219+
const MODE: u32 = 0b11;
220+
const BITS: u32 = (CNF << 2) | MODE;
221221

222222
// input mode
223223
cr
224224
.cr()
225225
.modify(|r, w| unsafe {
226-
w.bits((r.bits() & !(0b1111 << offset)) | (bits << offset))
226+
w.bits((r.bits() & !(0b1111 << OFFSET)) | (BITS << OFFSET))
227227
});
228228

229229
$PXi { _mode: PhantomData }
@@ -235,18 +235,18 @@ macro_rules! gpio {
235235
self,
236236
cr: &mut $CR,
237237
) -> $PXi<Alternate<OpenDrain>> {
238-
let offset = (4 * $i) % 32;
238+
const OFFSET: u32 = (4 * $i) % 32;
239239
// Alternate function output open drain
240-
let cnf = 0b11;
240+
const CNF: u32 = 0b11;
241241
// Output mode, max speed 50 MHz
242-
let mode = 0b11;
243-
let bits = (cnf << 2) | mode;
242+
const MODE: u32 = 0b11;
243+
const BITS: u32 = (CNF << 2) | MODE;
244244

245245
// input mode
246246
cr
247247
.cr()
248248
.modify(|r, w| unsafe {
249-
w.bits((r.bits() & !(0b1111 << offset)) | (bits << offset))
249+
w.bits((r.bits() & !(0b1111 << OFFSET)) | (BITS << OFFSET))
250250
});
251251

252252
$PXi { _mode: PhantomData }
@@ -257,18 +257,18 @@ macro_rules! gpio {
257257
self,
258258
cr: &mut $CR,
259259
) -> $PXi<Input<Floating>> {
260-
let offset = (4 * $i) % 32;
260+
const OFFSET: u32 = (4 * $i) % 32;
261261
// Floating input
262-
let cnf = 0b01;
262+
const CNF: u32 = 0b01;
263263
// Input mode
264-
let mode = 0b00;
265-
let bits = (cnf << 2) | mode;
264+
const MODE: u32 = 0b00;
265+
const BITS: u32 = (CNF << 2) | MODE;
266266

267267
// input mode
268268
cr
269269
.cr()
270270
.modify(|r, w| unsafe {
271-
w.bits((r.bits() & !(0b1111 << offset)) | (bits << offset))
271+
w.bits((r.bits() & !(0b1111 << OFFSET)) | (BITS << OFFSET))
272272
});
273273

274274
$PXi { _mode: PhantomData }
@@ -279,12 +279,12 @@ macro_rules! gpio {
279279
self,
280280
cr: &mut $CR,
281281
) -> $PXi<Input<PullDown>> {
282-
let offset = (4 * $i) % 32;
282+
const OFFSET: u32 = (4 * $i) % 32;
283283
// Pull up/down input
284-
let cnf = 0b10;
284+
const CNF: u32 = 0b10;
285285
// Input mode
286-
let mode = 0b00;
287-
let bits = (cnf << 2) | mode;
286+
const MODE: u32 = 0b00;
287+
const BITS: u32 = (CNF << 2) | MODE;
288288

289289
//pull down:
290290
// NOTE(unsafe) atomic write to a stateless register
@@ -294,7 +294,7 @@ macro_rules! gpio {
294294
cr
295295
.cr()
296296
.modify(|r, w| unsafe {
297-
w.bits((r.bits() & !(0b1111 << offset)) | (bits << offset))
297+
w.bits((r.bits() & !(0b1111 << OFFSET)) | (BITS << OFFSET))
298298
});
299299

300300
$PXi { _mode: PhantomData }
@@ -305,12 +305,12 @@ macro_rules! gpio {
305305
self,
306306
cr: &mut $CR,
307307
) -> $PXi<Input<PullUp>> {
308-
let offset = (4 * $i) % 32;
308+
const OFFSET: u32 = (4 * $i) % 32;
309309
// Pull up/down input
310-
let cnf = 0b10;
310+
const CNF: u32 = 0b10;
311311
// Input mode
312-
let mode = 0b00;
313-
let bits = (cnf << 2) | mode;
312+
const MODE: u32 = 0b00;
313+
const BITS: u32 = (CNF << 2) | MODE;
314314

315315
//pull up:
316316
// NOTE(unsafe) atomic write to a stateless register
@@ -320,7 +320,7 @@ macro_rules! gpio {
320320
cr
321321
.cr()
322322
.modify(|r, w| unsafe {
323-
w.bits((r.bits() & !(0b1111 << offset)) | (bits << offset))
323+
w.bits((r.bits() & !(0b1111 << OFFSET)) | (BITS << OFFSET))
324324
});
325325

326326
$PXi { _mode: PhantomData }
@@ -342,12 +342,12 @@ macro_rules! gpio {
342342
cr: &mut $CR,
343343
initial_state: State,
344344
) -> $PXi<Output<OpenDrain>> {
345-
let offset = (4 * $i) % 32;
345+
const OFFSET: u32 = (4 * $i) % 32;
346346
// General purpose output open-drain
347-
let cnf = 0b01;
347+
const CNF: u32 = 0b01;
348348
// Open-Drain Output mode, max speed 50 MHz
349-
let mode = 0b11;
350-
let bits = (cnf << 2) | mode;
349+
const MODE: u32 = 0b11;
350+
const BITS: u32 = (CNF << 2) | MODE;
351351

352352
let mut res = $PXi { _mode: PhantomData };
353353

@@ -359,7 +359,7 @@ macro_rules! gpio {
359359
cr
360360
.cr()
361361
.modify(|r, w| unsafe {
362-
w.bits((r.bits() & !(0b1111 << offset)) | (bits << offset))
362+
w.bits((r.bits() & !(0b1111 << OFFSET)) | (BITS << OFFSET))
363363
});
364364

365365
res
@@ -380,12 +380,12 @@ macro_rules! gpio {
380380
cr: &mut $CR,
381381
initial_state: State,
382382
) -> $PXi<Output<PushPull>> {
383-
let offset = (4 * $i) % 32;
383+
const OFFSET: u32 = (4 * $i) % 32;
384384
// General purpose output push-pull
385-
let cnf = 0b00;
385+
const CNF: u32 = 0b00;
386386
// Output mode, max speed 50 MHz
387-
let mode = 0b11;
388-
let bits = (cnf << 2) | mode;
387+
const MODE: u32 = 0b11;
388+
const BITS: u32 = (CNF << 2) | MODE;
389389

390390
let mut res = $PXi { _mode: PhantomData };
391391

@@ -397,26 +397,26 @@ macro_rules! gpio {
397397
cr
398398
.cr()
399399
.modify(|r, w| unsafe {
400-
w.bits((r.bits() & !(0b1111 << offset)) | (bits << offset))
400+
w.bits((r.bits() & !(0b1111 << OFFSET)) | (BITS << OFFSET))
401401
});
402402

403403
res
404404
}
405405

406406
/// Configures the pin to operate as an analog input pin
407407
pub fn into_analog(self, cr: &mut $CR) -> $PXi<Analog> {
408-
let offset = (4 * $i) % 32;
408+
const OFFSET: u32 = (4 * $i) % 32;
409409
// Analog input
410-
let cnf = 0b00;
410+
const CNF: u32 = 0b00;
411411
// Input mode
412-
let mode = 0b00;
413-
let bits = (cnf << 2) | mode;
412+
const MODE: u32 = 0b00;
413+
const BITS: u32 = (CNF << 2) | MODE;
414414

415415
// analog mode
416416
cr
417417
.cr()
418418
.modify(|r, w| unsafe {
419-
w.bits((r.bits() & !(0b1111 << offset)) | (bits << offset))
419+
w.bits((r.bits() & !(0b1111 << OFFSET)) | (BITS << OFFSET))
420420
});
421421

422422
$PXi { _mode: PhantomData }

0 commit comments

Comments
 (0)