- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 25

Thema: Wiederauferstehung des RP6? -- Erste Erfahrungen und Aufruf zum Austausch!

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    24.01.2008
    Ort
    Zürich
    Beiträge
    604
    Hallo Gerhard,

    also jetzt wo du es sagst – der 'rustonian way' das zu implementieren wäre eigentlich eine API in dieser Art:
    Code:
    use crate::ports::*;
    
    pub fn set_leds(value: u8) {
        // set LEDs 1-3 connected on PORTC
        PinGroup([c6, c5, c4])
            .ensure_outputs()
            .set(value);
    
        // set LEDs 4-6 connected on PORTB
        PinGroup([b0, b1, b7])
            .ensure_outputs()
            .set(value >> 3);
    }
    Oder gar das 'ensure_output()' in der '.set(...)' Funktion handhaben... aber da bin ich mir dann nicht sicher ob das nicht "unnötig Zyklen verschwendet"? Was meint Ihr dazu? Sollte so eine API lieber priorisieren dass der Pin auf jeden Fall als Output gesetzt ist und dazu das DDR Register jedes mal überschreiben? (So hat das jedenfalls die RP6Lib implementiert bei den LEDs.)

    Und wenn man dann schon dabei ist, könnte man die LEDs die an verschiedenen PORTs angehängt sind ja auch gleich noch als 'MixedPinGroup' Typ implementieren..., dann bekäme man direkt eine Funktion '.set(...)' die dann die 6 verschiedenen Bits richtig ansteuert. Also (ein etwas vollständigeres Beispiel):

    Code:
    use crate::ports::*;
    
    pub struct RobotBase {
        LEDS: MixedPinGroup;
    }
    
    impl RobotBase {
        const LEDS = MixedPinGroup([b0, b1, b7, c6, c5, c4]);
    }
    Und in der main dann:
    Code:
    use rp6::*;
    
    pub extern "C" fn main() {
        RobotBase::init();
    
        loop {
            RobotBase::LEDS.set(0b111111);
            delay_ms(1000);
            RobotBase::LEDS.set(0b000000);
            delay_ms(1000);
        }
    }
    Möglichkeiten über Möglichkeiten... was meint Ihr?

    Grüße,
    Roland
    Geändert von Pr0gm4n (11.01.2023 um 17:31 Uhr)

Ähnliche Themen

  1. Erste Erfahrungen mit Robomow RL 500 / Umbau
    Von robokalle im Forum Staubsaugerroboter / Reinigungs- und Rasenmähroboter
    Antworten: 76
    Letzter Beitrag: 07.07.2019, 14:30
  2. Antworten: 17
    Letzter Beitrag: 01.09.2016, 19:20
  3. erste erfahrungen mit CSA-1V ... berührungslose strommessung
    Von kolisson im Forum Sensoren / Sensorik
    Antworten: 9
    Letzter Beitrag: 14.10.2010, 10:21
  4. Erste Erfahrungen mit dem AmTel - Cocktailmaschine
    Von alex007 im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 14
    Letzter Beitrag: 04.03.2009, 21:41
  5. [ERLEDIGT] Erste Erfahrungen mit dem Conrad Roboter
    Von im Forum Robby CCRP5
    Antworten: 8
    Letzter Beitrag: 22.05.2007, 13:41

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress