- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 25

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

Hybrid-Darstellung

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

    mal wieder ein kleines Update von mir! Ich lerne bei dem Projekt doch auch einiges über die low-level Features von Rust – ganz anders als in der Arbeit wo es eher um parallele Datenstrukturen und Skalierbarkeit geht. Wirklich spannend, aber ich möchte mir auch die Zeit nehmen die Dinge richtig zu implementieren!

    Ich habe nun schon mal die UART Schnittstelle angebunden, zumindest schreibend. Ein paar Dinge habe ich dabei zum Beispiel gelernt:
    - Es wäre ja zu schade das Rust-Typensystem nicht vernünftig zu nutzen. Ich musste etwas rumprobieren, aber nun gibt es eine vernünftige API die etwa so benutzt werden kann:
    Code:
    Serial::write("Hier kann man einfach irgendetwas übergeben.");
    Serial::write('E');
    Serial::write('i');
    Serial::write('n');
    Serial::write('e');
    Serial::write("Zahl: ");
    Serial::write(1337);
    Serial::write(" oder was auch immer das den Trait `SerialWritable` implementiert.");
    Serial::new_line();
    
    // Alternativ gibt es auch ein Macro für Convenience. Bei Zeiten möchte ich mir auch
    // mal proc_macros ansehen und damit ein schöneres `format!` Macro bauen.
    println!("Counter: ", counter, " (DEC) | ", counter => hex, "(HEX)");
    - Rust's eingebaute Formatter sind wahre Monster (zumindest für den Embedded-Einsatz): https://jamesmunns.com/blog/fmt-unreasonably-expensive/
    - Ich habe also auf `ufmt` umgestellt – das kann leider nur Formatierung als Dezimal- und Hexadezimal Werte, da bin ich also mit einem Pull Request dran das hoffentlich mittelfristig zu ändern: https://github.com/japaric/ufmt/pull/54

    Demnächst steht dann an, sich damit auseinanderzusetzen wie ich die Hardware-Interrupts in Rust verarbeiten kann, um auch vernünftige Receive-Funktionen bauen zu können. Mal sehen wann ich wieder Zeit finde


    LG Roland

    - - - Aktualisiert - - -

    Ach ja, ich denke ich hatte noch gar nichts über die Fortschritte bei der sonstigen Library geredet. Es gibt jedenfalls nun eine Hardware-Abstraktion für alle Pins, basierend auf dem `avrd` crate (auch wenn der Bitmasken leider seltsam definiert...: https://github.com/avr-rust/avrd/issues/22)
    https://github.com/Pr0gm4n/rust-rp6l...t_base/port.rs

    Und damit sieht die Implementierung von Basis-Funktionen meiner Meinung nach schon sehr lesbar aus:
    https://github.com/Pr0gm4n/rust-rp6l...ase/mod.rs#L86

    Was meint Ihr dazu? Ein paar Namen habe ich nach wie vor einfach aus der RP6Lib übernommen, da ich mich noch nicht mit den zugehörigen Pins beschäftigt habe.


    LG und Gute Nacht,
    Roland

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    Wow, gleich zwei Leute, die hier über den RP6 quatschen, da muss ich doch gleich mal mitschnuppern!
    Schön, dass noch mehr Menschen den RP6 nicht weglegen, sondern wiederauferstehen lassen wollen. Danke euch! Ich würde noch ein zweites Thema aufmachen, RP6 und ESP32, da ich leider rust nicht kann, aber ich beteilige mich hier gern nach meinen Möglichkeiten.

    Schöne Grüße in die (kleine) Runde!
    - fabqu

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    20.08.2004
    Ort
    Unterschleissheim
    Beiträge
    325
    Hallo
    bei mir gibts nur das RP6-Fahrwerk, die Elektronik ist selbst gebaut, basiert auf einem PIC (dsPIC30F4013), programmiert wird in klassischem C, so neumodisches Zeug wie Rost, sorry Rust, kenn ich nur vom Hörensagen..

    Gruß
    Gerhard

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    Oje, dann kommst du ja gar nicht in den Genuss dieser schönen Hardware/Elektronik des RP6 samt seinen guten C-Bibliotheken! Schade
    Ich kaufe gerade auch noch einige RP6 auf Ebay etc, ich würde die gerne mit dem ESP32 fit machen für Programmierkurse für Kinder/Jugendliche. Also: es gibt noch welche

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    20.08.2004
    Ort
    Unterschleissheim
    Beiträge
    325
    Ja, als Elektroniker war das eigentlich auch mein Ziel, Hardware und Software alles selber zu bauen, auch für den Preis, dass ich da nur ne Lochrasterplatine habe und auch nicht soviel Features, wie da auf der Platine so drauf sind. Da ich aber öfter mal was mit PIC's mache, ist das nicht so dramatisch, auf unterster Ebene zu programmieren, also auch ohne Bibliotheken auskommen zu müssen. Oft haben die ja auch Einschränkungen in dem Sinne, dass die jetzt nicht genau das machen, was ich will. Aber dass du Kurse für Kids machst, finde ich toll. Des ESP32 kenn ich auch nicht. 32-Bit-Prozessor gegen meinen 16-Bitter, wobei ich meist eh nur die 8-Bitter von Microchip verwende. Das bisschen Bit-Schupserei braucht noch keinen 16-Bitter. Für den RP6 werd ich vielleicht ne neue Hardware bauen, und da dann nen anderen 16-Bitter von Microchip verwenden, nen PIC24. Aber auch nur aus Neugierde, und weniger weil es für den Roboter notwendig wäre...

    Gruß
    Gerhard
    Geändert von gunzelg (29.01.2023 um 10:52 Uhr)

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    24.01.2008
    Ort
    Zürich
    Beiträge
    604
    Hey super, hier kommt ja richtig Bewegung in die Sache!
    Die Idee den RP6 für Programmierkurse zu nutzen finde ich super! Ich fand eben C zu... schwierig? Klar, die RP6Lib nimmt einem schon einiges ab, aber wenn man dann doch mal schauen geht was die Library-Funktionen dahinter so machen bzw. wie die implementiert sind... dann findet man dort schon eher "kryptische" Funktionen. Aber klar, wenn man jemanden zur Seite hat der sich damit auskennt, kann man dann schon gut etwas basteln! Das ist auch eine Motivation für mich um das in Rust zu übertragen. Und eben einiges über Rust zu lernen.

    LG Roland

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    20.08.2004
    Ort
    Unterschleissheim
    Beiträge
    325
    Als 60+ Elektroniker frag ich mich jetzt, welche Bedeutung Rust hat? Bei meinem letzten Job vor der Rente waren in meinem Betrieb drei Programmiersprachen gefragt: C/C++, LabView und Phyton. Rust ist wohl was neueres, und wofür wird das verwendet? Im PC-Bereich oder auch/nur für uC?

    Gruß
    Gerhard

Ä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, 13:30
  2. Antworten: 17
    Letzter Beitrag: 01.09.2016, 18:20
  3. erste erfahrungen mit CSA-1V ... berührungslose strommessung
    Von kolisson im Forum Sensoren / Sensorik
    Antworten: 9
    Letzter Beitrag: 14.10.2010, 09: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, 20:41
  5. Erste Erfahrungen mit dem Conrad Roboter
    Von im Forum Robby CCRP5
    Antworten: 8
    Letzter Beitrag: 22.05.2007, 12:41

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad