Im Moment gibt es von der Arduion-IDE noch keine Unterstützung für den RP2040. Auf GitHub findet man aber schon Teile des Frameworks für PlatformIO: https://github.com/Wiz-IO/wizio-pico Schade, dass es vorerst noch ein main-File mit "loop" und "setup", statt der *.ino Endung geben muss.
Günter schrieb: > Im Moment gibt es von der Arduion-IDE noch keine Unterstützung für den > RP2040. > > Auf GitHub findet man aber schon Teile des Frameworks für PlatformIO: > > https://github.com/Wiz-IO/wizio-pico > > Schade, dass es vorerst noch ein main-File mit "loop" und "setup", statt > der *.ino Endung geben muss. Gib es einen Grund für deinen Beitrag? Wenn du mit dem Pico schnell loslegen willst, dann installierte Micropython auf "Raspberry pi pico"-Board und Thonny auf dem PC. Wenn du wie die großen Mädchen arbeiten willst, dann die Pico-SDK (C, C++).
>Wenn du wie die großen Mädchen arbeiten willst, dann die Pico-SDK (C, >C++). Liebe Sabrina, was die Softwareentwicklung anbelangt, musst du noch viel lernen: Heutzutage macht man alles mit Libraries, weil diese die Entwicklungszyklen verkürzen. Im Arduino-System gibt es tausende davon, deshalb solltest du dich damit auseinandersetzen. Grüße, Günter
Günter schrieb: > Liebe Sabrina, > was die Softwareentwicklung anbelangt, musst du noch viel lernen: > Heutzutage macht man alles mit Libraries, weil diese die > Entwicklungszyklen verkürzen. Im Arduino-System gibt es tausende davon, > deshalb solltest du dich damit auseinandersetzen. > Grüße, > Günter Und die Libraries zaubert man aus dem Hut?
>Und die Libraries zaubert man aus dem Hut? Nein, wenn es sie gibt, kann man sie herunter laden. Hier gibt es eine Auswahl und Anleitungen: https://www.arduino.cc/en/reference/libraries Vielfach ist es aber einfacher, sie auf GitHub zu suchen. Wenn du genügend Erfahrung hast, kannst du auch selbst eine Library schreiben. Damit sie Arduinostandard konform wird, solltest du dich an die Coding Rules hier halten: https://www.arduino.cc/en/Hacking/LibraryTutorial
Günter schrieb: >>Wenn du wie die großen Mädchen arbeiten willst, dann die Pico-SDK (C, >>C++). > > Liebe Sabrina, > was die Softwareentwicklung anbelangt, musst du noch viel lernen: > Heutzutage macht man alles mit Libraries, weil diese die > Entwicklungszyklen verkürzen. und die Debugzeiten vervielfachen wenn man die Fehler anderer suchen "darf" > Grüße, > Günter Gruss zurueck!
Günter schrieb: >>Und die Libraries zaubert man aus dem Hut? > Nein, wenn es sie gibt, kann man sie herunter laden. > Hier gibt es eine Auswahl und Anleitungen: > https://www.arduino.cc/en/reference/libraries > > Vielfach ist es aber einfacher, sie auf GitHub zu suchen. > Wenn du genügend Erfahrung hast, kannst du auch selbst eine Library > schreiben. Und die darf ich dir dann zur Verfügung stellen? > Damit sie Arduinostandard konform wird, solltest du dich an die Coding > Rules hier halten: > > https://www.arduino.cc/en/Hacking/LibraryTutorial Und ich dachte, das wären Kaninchen aus dem Zauberhut. Ich bin normalerweise selber ein Klugscheisser und stinkend faul, aber es gibt immer jemanden, der das überbietet. Da wird dann wohl jemand etwas warten müssen, bis sich jemand anders erbarmt, die Libraries zu schreiben. Dann kann der erste Jemand natürlich auch auf den zweiten schimpfen, wenn die (Deutsche) Doku fehlt, oder Funktion der Library nicht die "Mach, wie ich es will!" erfüllt. Dass das Entwickeln von Software (nur noch) auf der Verwendung von Libraries erfolgt, halte ich für Unfug. Charly B. schrieb: > und die Debugzeiten vervielfachen wenn man die Fehler anderer suchen > "darf" Jepp. Davor belibt man nicht mal bei professionellen Anbietern verschont.
STK500-Besitzer >Da wird dann wohl jemand etwas warten müssen, bis sich jemand anders >erbarmt, die Libraries zu schreiben. Ich weiß, für einen STK500 Besitzer sind diese Dinge etwas schwierig zu verstehen. Die Zeit des STK waren ja vor zwanzig Jahren und mittlerweile hat sich die Softwarewelt doch etwas weiter entwickelt. Unter Library musst du dir hier die Gesammtheit aller Biblibotheken für die verschiedener Arduino Varianten vorstellen. Dazu gehört z.B. Adafruit GFX, die auf die auf unterlagerte Schnittstellentreiber aufsetzt. https://github.com/adafruit/Adafruit-GFX-Library Daher müssen für den RP2040 nicht die letzten Hardware-Features verfügbar sein und es genügen die einfachen SPI- und I2C Schnittstellen.
Charly B. schrieb: > und die Debugzeiten vervielfachen wenn man die Fehler anderer suchen > "darf" Nicht nur dass dieses "Argument" nun schon geschätzt drölftrillarden mal widerlegt wurde; es zeugt auch von einer maßlosen Selbstüberschätzung, davon auszugehen man sei als Einzelperson einer Gruppe von Spezialisten oder auch einer anderen Einzelperson stets überlegen.
>Auf GitHub findet man aber schon Teile des Frameworks für PlatformIO: >https://github.com/Wiz-IO/wizio-pico Wizo scheint den Debugger noch nicht zu unterstützen. Fals man mit dem SDK debuggen will, braucht man folgende Dinge: 1. das Datenblatt https://datasheets.raspberrypi.org/pico/getting-started-with-pico.pdf 2. WIN10 Anleitung https://www.element14.com/community/community/raspberry-pi/blog/2021/02/07/debugging-the-raspberry-pi-pico-on-windows-10 Hoffentlich gibt's bald Support für den pipico in Platformio mit Debugger. Dann bräuchte man das blöde cmake nicht mehr, das nur Ärger macht.
Günter schrieb: > Ich weiß, für einen STK500 Besitzer sind diese Dinge etwas schwierig zu > verstehen. Die Zeit des STK waren ja vor zwanzig Jahren und mittlerweile > hat sich die Softwarewelt doch etwas weiter entwickelt. Ach? Wirklich? Egal, ob für einen AVR (auch "damals" gab es schon Libraries z.B. Peter Fleurys), einen STM32 oder einen Rapsberry Pi Pico, man braucht zum Programmieren eines Prozessors keine Library, sondern das Datenblatt. Alles andere ist Luxus / Bequemlichkeit. > Unter Library musst du dir hier die Gesammtheit aller Biblibotheken für > die verschiedener Arduino Varianten vorstellen. Dazu gehört z.B. > Adafruit GFX, die auf die auf unterlagerte Schnittstellentreiber > aufsetzt. Wie schon geschrieben: Klugscheissen kann ich sleber (besser). > Daher müssen für den RP2040 nicht die letzten Hardware-Features > verfügbar sein und es genügen die einfachen SPI- und I2C Schnittstellen. Hä? Das eine ist Software und das andere Hardware. Langsam wird es endgültig offtopic.
Die Arduino Integration macht auch Fortschritte: https://github.com/Wiz-IO/wizio-arduino-pico Schade ist hier, dass Linux noch nicht richtig unterstützt wird. Aber es sieht so aus, als ob das im werden ist.
Hurra, die Arudino IDE läuft einwandfrei mit dem Pico und dem neuen Repostory: https://github.com/earlephilhower/arduino-pico Vorgehen: 1. JSON File in Boardmanager kopieren 2. In der Boardverwaltung Raspberry suchen und installieren 3. Beim ersten Anstecken des PiPico den Boottaster drücken 4. Blink Beispiel kompilieren und flashen Gesamtzeit für alle Schritte: Maximal 5 Minuten vom Download bis zu ersten Blinken. Getestet auf - Ubuntu 20.4, - Arduino IDE 1.8.7 Ich bin begeistert über die einwandfreie und schnelle Installation. Beitrag bei Heise: https://www.heise.de/tests/Raspberry-Pico-mit-der-Arduino-IDE-programmieren-6001575.html
Hat jemand die EEPROM Emulation schon einmal ausprobiert? Bei meiner Framework Version 1.0.3 scheint sie nicht zu funktionieren.
Günter schrieb: > Hat jemand die EEPROM Emulation schon einmal ausprobiert? Arduino? Dann: EEPROM.commit() // schreibt die temporären Daten oder EEPROM.end() // schreibt und beendet die Emulation vergessen.
>EEPROM.commit() // schreibt die temporären Daten
Danke, hab's gerade selber auch gefunden.
Man muss vorher auch noch EEPROM.begin(512) machen, sonst wird auch
nichts gespeichert. Die 512 beschreibt die Anzahl Bytes. Ich weiß aber
nicht, wie groß man den Bereich wählen kann. 2048 gehen auf jeden Fall
auch noch.
Ärgerlich, dass an der Stelle die APIs auseinander driften.
Bei den STMs heißt es wieder anders.
Das kann man doch alles herausfinden. Du selber hast den Quelltext doch hier schon verlinkt!
1 | // schnipp
|
2 | void EEPROMClass::begin(size_t size) { |
3 | if ((size <= 0) || (size > 4096)) { |
4 | size = 4096; |
5 | }
|
6 | // schnapp
|
Günter schrieb: > Ärgerlich, dass an der Stelle die APIs auseinander driften. Wenn du nichts besseres zu tun hast, kannst du dich darüber ärgern, wenn du möchtest. Wobei es hier nur den Unterschied, natives EEPROM oder Emulation, gibt. Die API unterscheidet sich also nur in 3 Methoden. Der Rest ist bei allen Implementierungen der Arduino EEPROM Lib identisch. (?)
Mit dem PiPico? Nöö... Keine blasse Ahnung! Wüsste allerdings schon, wo ich als erstes suchen würde.... Aber die Arbeit nehme ich dir nicht ab.
Die Funktionen sind zwar vorhanden, aber in der API noch nicht deklariert. Ich habe die PWM getestet, sie geht aber nicht bis 40kHZ. Bei 30kHz läuft sie noch. Hier meine Umgehungslösung für die fehlenden Deklarationen.
1 | /*
|
2 | * PiPico analogWrite Check
|
3 | *
|
4 | * analog write functions are located in
|
5 | *
|
6 | * ~/.arduino15/packages/rp2040/hardware/rp2040/1.0.3/cores/rp2040/wiring_analog.cpp
|
7 | *
|
8 | * Early Hill Power Core 1.0.3 from
|
9 | * https://github.com/earlephilhower/arduino-pico/tree/master/cores/rp2040
|
10 | *
|
11 | */
|
12 | |
13 | extern "C" void analogWriteFreq(uint32_t freq); |
14 | extern "C" void analogWriteResolution(int res); |
15 | |
16 | #define PIN 15
|
17 | void setup() |
18 | {
|
19 | analogWriteFreq(30000); |
20 | analogWriteResolution(12); |
21 | analogWrite(PIN, 2048); |
22 | }
|
23 | |
24 | void loop() |
25 | {
|
26 | |
27 | |
28 | }
|
Arduino Fanboy D. (ufuf)
11.04.2021 21:30
>Aber die Arbeit nehme ich dir nicht ab.
Werd mal nicht überheblich und bleib auf dem Teppich
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.