[Software] ATMEGA32U4 in AskSinPP

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

Moderator: Co-Administratoren

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

[Software] ATMEGA32U4 in AskSinPP

Beitrag von Bratmaxe » 29.08.2018, 10:03

Der Übersichthalber habe ich nun dieses Thema neu erstellt und aus dem riesigen "Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP" Thema ausgekoppelt.

Ich versuche einen ATMEGA32U4 mit dem Sketch für den "HM-LC-Sw1-PL-DN-R1.ino" zum laufen zu kriegen.
Beim Kompilieren erhalte ich einen Fehler, das keine Funktion gefunden wurde, die genügend Argumente entgegen nehmen kann.
Die LowPower.h unterstützt dieses IC nach eigenen Angaben bereits. AskSinPP.h wohl noch nicht.

Daher habe ich mich in die Activity.h begeben und habe dort versucht den ATMEGA32U4 hinzuzufügen:

Code: Alles auswählen

...
#elif defined __AVR_ATmega32U4__ 
    LowPower.idle(SLEEP_FOREVER,ENABLEADC==true?ADC_ON:ADC_OFF, TIMER4_OFF, TIMER3_OFF, TIMER1_ON, TIMER0_OFF, SPI_ON, USART1_OFF, TWI_OFF, USB_OFF);
#endif
...
Die Reihenfolge der Argumente habe ich mir aus der LowPower.h rausgesucht.

Code: Alles auswählen

#elif defined __AVR_ATmega32U4__	
   void	idle(period_t period, adc_t adc, timer4_t timer4, 
   timer3_t timer3, timer1_t timer1, timer0_t timer0, 
   spi_t spi, usart1_t usart1, twi_t twi, usb_t usb);	
Das scheint soweit auch erstmal zu funktionieren, da der Fehler nun weg ist, dafür habe ich aber einen anderen bekommen:

Code: Alles auswählen

AlarmClock.h:177:5: error: 'TIMSK2' was not declared in this scope
     TIMSK2  = 0; //Disable timer2 interrupts
Hier fangen dann meine Probleme an. TIMSK2 wurde nicht deklariert.. mm gut Fehler verstanden, also wollte ich gucken was falsch sein könnte.
1. finde ich gar keine Position, wo diese Variable deklariert wird...
2. vermute ich das hier in die falsche Funktion gesprungen wird, da vorher abgefragt wird:

Code: Alles auswählen

#if ARDUINO_ARCH_AVR
darunter wird dann auf

Code: Alles auswählen

#elif ARDUINO_ARCH_ATMEGA32
abgefragt, und ich vermute mal das ich da rein muss, hier habe ich dann wieder dasselbe Problem wie oben. Ich finde nirgends, wo "ARDUINO_ARCH_AVR" oder "ARDUINO_ARCH_ATMEGA32" daklariert werden.

Können Variabeln auch in anderen Dateien deklariert werden und durch include genutzt werden?
Ist include dasselbe wie bei C# using?

Ich versuche mich da wirklich rein zu arbeiten, aber ich weiß nicht wie ich rauskriegen soll, wann wo eine Variable deklariert und gesetzt wird, wenn das irgendwo in irgendeiner Datei passiert, die über eine ganz andere Datei wieder includiert wird..
Kann man das irgendwie einfach systematisch suchen, oder muss man das einfach wissen?

Also ich hoffe ihr könnt mir bei dem aktuellen Fahler helfen und wir sagen, wie ich hier weiter vorgehen kann, um den Atmega32U4 zum laufen zu kriegen.

Hier noch ein Bild, von dem Board, das ich gerade verwenden möchte:
HTB13Eybj8DH8KJjy1zeq6xjepXaV.jpg
ATMEGA32U4
Gruß Carsten
Gruß Carsten

papa
Beiträge: 705
Registriert: 22.05.2018, 10:23
Hat sich bedankt: 24 Mal
Danksagung erhalten: 120 Mal

Re: [Software] ATMEGA32U4 in AskSinPP

Beitrag von papa » 29.08.2018, 10:15

Nur kurze Antwort - da keine Zeit. Ich hoffe, ich kann ein paar Pointer geben.

TIMSK2 ist ein Hardware-Register. Es wird benutzt, um den Timer2 - der für die Uhr genutzt wird - zu programmieren. Da musst Du im Datenblatt des 32U4 suchen, wie das mit diesem Chip geht. Im Notfall kannst Du die RTC auch erst mal komplett deaktivieren.

ARDUINO_ARCH_AVR bzw ARDUINO_ARCH_ATMEGA32 werden durch die IDE gesetzt, je nachdem welche CPU ausgewählt ist. Das sind im Prinzip vorbelegt Defines. Du musst Dir mal die Consolenausgaben ansehen, welche Defines für den 32U4 gesetzt werden.
Anfragen zur AskSin++ werden nur im Forum beantwortet

Benutzeravatar
deimos
Beiträge: 5383
Registriert: 20.06.2017, 10:38
System: Alternative CCU (auf Basis OCCU)
Wohnort: Leimersheim
Hat sich bedankt: 121 Mal
Danksagung erhalten: 950 Mal
Kontaktdaten:

Re: [Software] ATMEGA32U4 in AskSinPP

Beitrag von deimos » 29.08.2018, 10:15

Hi,

die ganzen ARDUINO_* und __AVR_* werden von der Arduino IDE bzw. von den Core Files gesetzt.

Das #include ist was komplett anderes, als das using in C#. Using in C# wird verwendet um Namespaces bekannt zu machen, so dass man bei Klassennamen nicht jedesmal den Namespace davor schreiben zu müssen. Das #include bedeutet nichts anderes, als dass die Datei exakt an der Stelle vom #include eingefügt wird und das nicht irgendwie logisch oder interpretiert, sondern wirklich 1:1 byteweise.

Warum willst du den 32U4 überhaupt benutzen?

Viele Grüße
Alex

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: [Software] ATMEGA32U4 in AskSinPP

Beitrag von Bratmaxe » 29.08.2018, 11:09

@pa-pa
Danke werde mal anfangen zu suchen..
Wie kann ich den RTC komplett deaktivieren, im Sketch, oder "hart" in einer .h-Datei? Zu Testzwecken wäre das für mich die schnellste Lösung.

@deimos
auch dir ein Danke. Da dieses fertige Board so schön klein ist, sollte der gut in den Sonoff S20 passen, ohne größere Lötkenntnisse zu benötigen (für SMD).
Laut Datenblatt kann der auch bis 2,7V runter (zumindest auf 8mhz) ich suche immer noch eine "Out-of-the-box" Lösung für den Sonoff.
Und habe noch nicht aufgegeben :D

Gruß Carsten
Gruß Carsten

Benutzeravatar
deimos
Beiträge: 5383
Registriert: 20.06.2017, 10:38
System: Alternative CCU (auf Basis OCCU)
Wohnort: Leimersheim
Hat sich bedankt: 121 Mal
Danksagung erhalten: 950 Mal
Kontaktdaten:

Re: [Software] ATMEGA32U4 in AskSinPP

Beitrag von deimos » 29.08.2018, 11:20

Hi,

ah, ja, ich errinnere mich wieder. Aber das Board hatte doch das Problem, dass es mit 5V läuft, oder?

Viele Grüße
Alex

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: [Software] ATMEGA32U4 in AskSinPP

Beitrag von Bratmaxe » 29.08.2018, 11:38

ja das stimmt zumindest bei 16Mhz.. bei 8Mhz würde es auch ab 2,7 und somit mit 3,3V laufen..
Dann bin ich aber wieder Fuses am setzen, was ich eigentlich vermeiden wollte.

Es gitb ncoh viele ABER's , denn bei 5V müsste ich für den CC1101 auch einen Pegelwandler einsetzen..
Wenn aber nachher alles läuft und ich "nur" die Fuses setzen müsste, dann könnte ich das für die Kollegen auch einmalig schnell machen, das nimmt dann kaum Zeit in Anspruch.. aber klar am liebsten wäre mir immer noch die fertige lösung, wenn ihr also eine Board findest meldet euch :D

Ich hab die Lösung noch nicht.. Aber da ich das Board bestellt hatte und es nun da ist, wollte ich das zumindest auch mal testen, und wenn ich es später nur für meine Projekte verwenden kann, wenn der Platz eng wird.
Gruß Carsten

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

Re: [Software] ATMEGA32U4 in AskSinPP

Beitrag von jp112sdl » 29.08.2018, 11:45

Ich finde, im S20 ist genug Platz für den Pro Mini.

Hier mal 2 Platzierungsvorschläge:
IMG_8784.JPG
IMG_8785.JPG
Fürs Lernen sind deine Mühen sicher nicht verkehrt. Aber um schnell einen S20 mit AskSinPP zum Laufen zu bekommen, kannst du auch den Pro Mini nehmen.

VG,
Jérôme ☕️

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

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: [Software] ATMEGA32U4 in AskSinPP

Beitrag von Bratmaxe » 29.08.2018, 11:49

Ja so gesehen hast du Recht, aber du hast ja so nur minimalen Abstand zu den 230V..
Das könnte im wahrsten Sinne Brandgefährlich werden..
Ich glaube so 8-10mm Abstand solltes es sein..
Gruß Carsten

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

Re: [Software] ATMEGA32U4 in AskSinPP

Beitrag von jp112sdl » 29.08.2018, 11:58

Das erste Bild; dort den Pro mini noch etwas weiter runter in den Bogen gelegt...

Bratmaxe hat geschrieben:
29.08.2018, 11:38
aber klar am liebsten wäre mir immer noch die fertige lösung, wenn ihr also eine Board findest meldet euch :D
Nimm die OBI WiFi Stecker und die Platine von Stan23 :)

VG,
Jérôme ☕️

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

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: [Software] ATMEGA32U4 in AskSinPP

Beitrag von Bratmaxe » 29.08.2018, 12:03

Die Platine von Stand habe ich gesehen, sieht wirklich super aus, aber ich hab die Sonoffs schon :lol: :lol: (die Kollegen auch, zumindest teilweise, die fehlenden kann man dann natürlich besser mit der Obi Steckdose lösen).
Gruß Carsten

Antworten

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