From acb652e9401ea57c1f907c7e3007ba3f31e9657c Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Wed, 16 Apr 2025 15:06:11 +0200 Subject: [PATCH] limit visibily with tricks --- va108xx-hal/src/pins.rs | 112 +++++++++++++------------- vorago-shared-periphs/src/gpio/mod.rs | 7 +- 2 files changed, 60 insertions(+), 59 deletions(-) diff --git a/va108xx-hal/src/pins.rs b/va108xx-hal/src/pins.rs index 69ce361..6ac3205 100644 --- a/va108xx-hal/src/pins.rs +++ b/va108xx-hal/src/pins.rs @@ -139,38 +139,38 @@ impl PinsA { w.ioconfig().set_bit() }); Self { - pa0: Pin::new(), - pa1: Pin::new(), - pa2: Pin::new(), - pa3: Pin::new(), - pa4: Pin::new(), - pa5: Pin::new(), - pa6: Pin::new(), - pa7: Pin::new(), - pa8: Pin::new(), - pa9: Pin::new(), - pa10: Pin::new(), - pa11: Pin::new(), - pa12: Pin::new(), - pa13: Pin::new(), - pa14: Pin::new(), - pa15: Pin::new(), - pa16: Pin::new(), - pa17: Pin::new(), - pa18: Pin::new(), - pa19: Pin::new(), - pa20: Pin::new(), - pa21: Pin::new(), - pa22: Pin::new(), - pa23: Pin::new(), - pa24: Pin::new(), - pa25: Pin::new(), - pa26: Pin::new(), - pa27: Pin::new(), - pa28: Pin::new(), - pa29: Pin::new(), - pa30: Pin::new(), - pa31: Pin::new(), + pa0: Pin::__new(), + pa1: Pin::__new(), + pa2: Pin::__new(), + pa3: Pin::__new(), + pa4: Pin::__new(), + pa5: Pin::__new(), + pa6: Pin::__new(), + pa7: Pin::__new(), + pa8: Pin::__new(), + pa9: Pin::__new(), + pa10: Pin::__new(), + pa11: Pin::__new(), + pa12: Pin::__new(), + pa13: Pin::__new(), + pa14: Pin::__new(), + pa15: Pin::__new(), + pa16: Pin::__new(), + pa17: Pin::__new(), + pa18: Pin::__new(), + pa19: Pin::__new(), + pa20: Pin::__new(), + pa21: Pin::__new(), + pa22: Pin::__new(), + pa23: Pin::__new(), + pa24: Pin::__new(), + pa25: Pin::__new(), + pa26: Pin::__new(), + pa27: Pin::__new(), + pa28: Pin::__new(), + pa29: Pin::__new(), + pa30: Pin::__new(), + pa31: Pin::__new(), } } } @@ -212,30 +212,30 @@ impl PinsB { w.ioconfig().set_bit() }); Self { - pb0: Pin::new(), - pb1: Pin::new(), - pb2: Pin::new(), - pb3: Pin::new(), - pb4: Pin::new(), - pb5: Pin::new(), - pb6: Pin::new(), - pb7: Pin::new(), - pb8: Pin::new(), - pb9: Pin::new(), - pb10: Pin::new(), - pb11: Pin::new(), - pb12: Pin::new(), - pb13: Pin::new(), - pb14: Pin::new(), - pb15: Pin::new(), - pb16: Pin::new(), - pb17: Pin::new(), - pb18: Pin::new(), - pb19: Pin::new(), - pb20: Pin::new(), - pb21: Pin::new(), - pb22: Pin::new(), - pb23: Pin::new(), + pb0: Pin::__new(), + pb1: Pin::__new(), + pb2: Pin::__new(), + pb3: Pin::__new(), + pb4: Pin::__new(), + pb5: Pin::__new(), + pb6: Pin::__new(), + pb7: Pin::__new(), + pb8: Pin::__new(), + pb9: Pin::__new(), + pb10: Pin::__new(), + pb11: Pin::__new(), + pb12: Pin::__new(), + pb13: Pin::__new(), + pb14: Pin::__new(), + pb15: Pin::__new(), + pb16: Pin::__new(), + pb17: Pin::__new(), + pb18: Pin::__new(), + pb19: Pin::__new(), + pb20: Pin::__new(), + pb21: Pin::__new(), + pb22: Pin::__new(), + pb23: Pin::__new(), } } } diff --git a/vorago-shared-periphs/src/gpio/mod.rs b/vorago-shared-periphs/src/gpio/mod.rs index 0bbf6cc..4d15e72 100644 --- a/vorago-shared-periphs/src/gpio/mod.rs +++ b/vorago-shared-periphs/src/gpio/mod.rs @@ -24,7 +24,8 @@ pub struct Pin { impl Pin { #[allow(clippy::new_without_default)] - pub const fn new() -> Self { + #[doc(hidden)] + pub const fn __new() -> Self { Self { phantom: core::marker::PhantomData, } @@ -35,9 +36,9 @@ impl Pin { /// # Safety /// /// This circumvents ownership rules of the HAL and allows creating multiple instances - /// of the same pins. + /// of the same pin. pub const unsafe fn steal() -> Self { - Self::new() + Self::__new() } }