AskSinPP auf Mega2560?

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

Matsch
Beiträge: 5360
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 113 Mal
Danksagung erhalten: 722 Mal

AskSinPP auf Mega2560?

Beitrag von Matsch » 11.03.2021, 13:21

Laut der AskSinPP-Homepage ist das System nicht kompatibel mit dem AtMega2560, nur bis zum 1284.

Ich habe es trotzdem versucht und bin gescheitert. Der CC1101 läßt sich bereits nicht initialisieren, es kommen keine Fehlermeldungen, die Portzustände sind falsch (offen, also wohl Eingänge), das Programm bleibt einfach nach Init CC stehen.

Angeschlossen ist der CC1101 an Pins 50...52 mit Levelshifter. Um zu prüfen, ob es mit dem Levelshifter geht, habe ich mal probeweise am Steckbrett die Leitungen vom 2560 abgezogen und an einen Nano (ebenfalls 5V) angeschlossen. Dort läuft alles tadellos.

Daher erstmal folgende Fragen:

1. Warum soll der 2560 nicht kompatibel sein mit AskSinPP?

2. Wie muß ich denn im 2560 die Datenpins konfigurieren? Ist für z.B. SCLK das Label "52" oder "PB1" oder "Pin-PB1" korrekt?

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: AskSinPP auf Mega2560?

Beitrag von jp112sdl » 11.03.2021, 13:23

Doch doch, 2560 geht.

Vielleicht hilft dir das
https://github.com/jp112sdl/HB-UNI-RGB-LED-CTRL

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Matsch
Beiträge: 5360
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 113 Mal
Danksagung erhalten: 722 Mal

Re: AskSinPP auf Mega2560?

Beitrag von Matsch » 11.03.2021, 14:04

Danke Jerome für die schnelle Antwort.
Ich wollte den Mega verwenden als Experimentierboard für Projekte, die später mal auf dem 328P laufen sollen und wo wegen der Ressourcenknappheit keine Debug-Ausgaben gemacht werden können.
Ich konnte mir auch eigentlich nicht vorstellen, warum AskSinPP nicht auf Mega2560 laufen sollte.
Ich habe das Steckbrett nochmal aufgebaut und die Konfiguration nochmal angepaßt. Eigentlich bilde ich mir ein, das genau so aufgebaut zu haben.
Dennoch muß ich mich entweder versteckt (Pins vertauscht?) oder in der Konfiguration was vertauscht haben - jetzt funktioniert es!

Matsch
Beiträge: 5360
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 113 Mal
Danksagung erhalten: 722 Mal

Re: AskSinPP auf Mega2560?

Beitrag von Matsch » 11.03.2021, 22:29

Ich möchte mich nochmal an Jerome wenden.

Du hast ja bereits den MEGA2560 in dem verlinkten Projekt eingesetzt. Hast du in dieser Konstellation schon mal den FreqTest ausgeführt?

Nachdem bei mir der MEGA2560 lief, habe ich ein bestehendes Projekt draufgeflasht und alles läuft korrekt. Alle Messages werden permanent abgefangen und angezeigt. Da ich ein neues CC1101-Modul verwendet habe, wollte ich obwohl es gut aussah, den obligatorischen FreqTest ausführen.
Und genau der geht nicht. Gut, nochmal die Pinkonfiguration überprüft - ist genauso wie im Projekt. Der CC wird auch fehlerfrei initialisiert, aber danach keinerlei Empfang - obwohl es doch mit dem anderen Projekt korrekt funktioniert. Ich habe den Grund noch nicht lokalisiert, aber die Hardware kann es ja eigentlich nicht mehr sein.
Ich vermute an erster Stelle ein Problem mit dem Interrupt (GD00). Bei einer einfachen Messung habe ich folgendes gefunden:
Bei dem funktionierenden Projekt messe ich statisch eine Spannung von 0,22 V am Pin2 des Mega, beim FreqTest nur 0,06 V. Der Unterschied wird reproduzierbar durch die jeweilige Software verursacht.
Sollte das Pin hier etwa auf Output stehen? Nö, das Richtungsregister sagt Input.
Hier liegt auf den ersten Blick der wesentliche Unterschied. Sowohl beim Micro wie beim Mega liegt GD00 an Pin2. Nur ist das im ersten Fall PD2 (INT0) und beim Mega PE4 (INT4). Kann es hier beim FreqTest zu einer falschen Konfiguration des Pins kommen?

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: AskSinPP auf Mega2560?

Beitrag von jp112sdl » 12.03.2021, 06:39

Ich habe keinen Mega2560-Aufbau mehr hier und das Projekt ist schon so lange her (da war die Welt der CC1101 noch in Ordnung^^)- ich kann dir nicht mehr genau sagen, ob ich da mal einen FreqTest gemacht habe oder nicht. Tendenz zu "eher nicht".

Nutzt du den FreqTest auch mit AvrSPI oder LibSPI?
Irgendwas war da mit Mega2560 weshalb ich im Sketch LibSPI nutzen musste... kannst du ja beim FreqTest auch mal probieren.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Matsch
Beiträge: 5360
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 113 Mal
Danksagung erhalten: 722 Mal

Re: AskSinPP auf Mega2560?

Beitrag von Matsch » 12.03.2021, 10:19

jp112sdl hat geschrieben:
12.03.2021, 06:39
Nutzt du den FreqTest auch mit AvrSPI oder LibSPI?
Irgendwas war da mit Mega2560 weshalb ich im Sketch LibSPI nutzen musste... kannst du ja beim FreqTest auch mal probieren.
In beiden Sketchen wird die AvrSPI benutzt, also auch kein Unterschied, der das erklären könnte. Im FreqTest-Sketch wird die LibSPI nur beim STM32 benutzt.

Code: Alles auswählen

#if defined ARDUINO_ARCH_STM32F1
typedef LibSPI<CC1101_CS_PIN> RadioSPI;
#else
typedef AvrSPI<CC1101_CS_PIN, CC1101_MOSI_PIN, CC1101_MISO_PIN, CC1101_SCK_PIN> RadioSPI;
#endif
Auch der Compiler meckert, dass es im System keine LibSPI gibt. Die Klasse ist wohl in Radio.h definiert, aber da auch nur wenn SPI_MODE0 definiert ist (was es nicht ist).

So, wenn ich SPI.h includiere, dann läßt sich der Sketch auch mit LibSPI übersetzen.
Nur - dann wird der CC1101 nicht mehr initialisiert, nur Fehlermeldungen! Geht also auch nicht.

Matsch
Beiträge: 5360
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 113 Mal
Danksagung erhalten: 722 Mal

Re: AskSinPP auf Mega2560?

Beitrag von Matsch » 12.03.2021, 10:24

So, es hängt tatsächlich mit dem verwendeten Pin für GD00 zusammen. Ich habe jetzt GD00 wieder wie beim Mini auf PD2 (MEGA: 19) gesteckt - und schon geht alles. Dann liegen auch wieder statisch 0,22V an dem Signal.
Warum das nur beim FreqTest so ist und nicht auch im Projekt, bleibt mir noch ein Rätsel. Sieht aber so aus, als liege es doch im Sketch begründet.

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: AskSinPP auf Mega2560?

Beitrag von jp112sdl » 12.03.2021, 10:27

Matsch hat geschrieben:
12.03.2021, 10:19
Nur - dann wird der CC1101 nicht mehr initialisiert, nur Fehlermeldungen!
Verwendest du nicht die nativen SPI Pins des MEGA2560 ?
Matsch hat geschrieben:
12.03.2021, 10:24
So, es hängt tatsächlich mit dem verwendeten Pin für GD00 zusammen.
Ich hatte Probleme mit dem Pin 8 beim Config_Button. Den habe ich im LED Projekt ja auf 13 gelegt, weil bei 8 sich alles aufgehängt hat.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Matsch
Beiträge: 5360
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 113 Mal
Danksagung erhalten: 722 Mal

Re: AskSinPP auf Mega2560?

Beitrag von Matsch » 12.03.2021, 10:34

jp112sdl hat geschrieben:
12.03.2021, 10:27
Verwendest du nicht die nativen SPI Pins des MEGA2560 ?
Welche sind die nativen? Doch eigentlich 50...53, so wie du das gemacht hattest.

Code: Alles auswählen

typedef AvrSPI<53, 51, 50, 52>                 SPIType;
Ah, ok, merke gerade, wenn ich die LibSPI verwende, werden die Pins gar nicht angegeben, nur das CS-Pin

Code: Alles auswählen

typedef LibSPI<53>    SPIType
Ich hatte aber alle 4 Parameter reingeschrieben wie bei AvrSPI. Aber gemeckert hat der Compiler nicht.
Ich kann's aber nochmal schnell testen.

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: AskSinPP auf Mega2560?

Beitrag von jp112sdl » 12.03.2021, 10:42

Ja sind die richtigen.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“