AskSinPP / Dokumentation + Howtos
Moderator: Co-Administratoren
AskSinPP / Dokumentation + Howtos
Hallo,
danke für dieses tolle Projekt. @papa @jp112sdl
Leider finde ich es schwierig sich aus den vorhanden Examples etwas zusammenzubasteln.
1) Gibt es daher eine Doku welche Variablen bei <Remote.h> oder <Switch.h> gesetzt werden müssen?
2) Wo läuft die main loop?
3) Wo werden GPIOs verarbeitet... und wie die Daten verarbeitet + an die CCu versendet?
4) Wie werden Daten von der CCU empfangen um damit z.B. ein Relay über einen GPO geschalten?
Solche Mini Howtos würden helfen... wenn ich vorhandene INOs anschaue ist ganz viel noch im Dunkeln;)
danke für dieses tolle Projekt. @papa @jp112sdl
Leider finde ich es schwierig sich aus den vorhanden Examples etwas zusammenzubasteln.
1) Gibt es daher eine Doku welche Variablen bei <Remote.h> oder <Switch.h> gesetzt werden müssen?
2) Wo läuft die main loop?
3) Wo werden GPIOs verarbeitet... und wie die Daten verarbeitet + an die CCu versendet?
4) Wie werden Daten von der CCU empfangen um damit z.B. ein Relay über einen GPO geschalten?
Solche Mini Howtos würden helfen... wenn ich vorhandene INOs anschaue ist ganz viel noch im Dunkeln;)
Re: AskSinPP / Dokumentation + Howtos
HM-RC-P1 (Taster: langer/kurzer Druck)
Jeder Button wird über die Funktion registriert.
1a) Was passiert dann damit?
1b) Wird explizit immer der interne Pullup gesetzt? ()
1b2) ...bzw wie kann ich angeben dass der Schalter einen externen pull-down verwendet um die Logik umzudrehen?
1c) Was genau setzt die remoteISR?
HM-LC-SW1-Pl (Schaltbare Steckdose)
2a) Ist das das einzige Relay?
2b) Greift er hierbei auf die Status Led zu?
2c) Brauche ich das immer bei einem Switch?
2d) Button Type: Welche Typen gibt es hier?
2e) Was mache ich bei Geräten die sowohl schalten als auch steuern/senden?--> wozu ist diese Info notwendig?
Logik:
3a) Wo wird die Logik implementiert? Beispiel: Wenn Taster gedrückt dann Info an CCU senden?
3b) Relay schalten: Ist das hier die eigentliche Schalten des Relays + die Bekantmachung in der CCU?
Beispiel von jerome: https://github.com/jp112sdl/Beispiel_As ... -CT-R1.ino
@jp112sdl
4a) AN Pin 15 hängt ein Taster mit internem Pull-UP, richtig? Was treibst du mit Pin 14?Hat das Gerät einen HW Schalter?
Allgemein:
5) Woher kommt die Zahl des defines?:
6) Schaltet bei einem BAtteriebetriebene Sensor die LEDs ab... oder was ist der Unterschied?
7) Statusled gibt es immer nur eine?
Code: Alles auswählen
#include <Remote.h>
Code: Alles auswählen
remoteISR(sdev,1,BTN1_PIN);
1a) Was passiert dann damit?
1b) Wird explizit immer der interne Pullup gesetzt? (
Code: Alles auswählen
Button.h: pinMode(cpin, INPUT_PULLUP);
1b2) ...bzw wie kann ich angeben dass der Schalter einen externen pull-down verwendet um die Logik umzudrehen?
1c) Was genau setzt die remoteISR?
Code: Alles auswählen
#define remoteISR(device,chan,pin) class device##chan##ISRHandler { \
public: \
static void isr () { device.channel(chan).irq(); } \
}; \
device.channel(chan).button().init(pin); \
if( digitalPinToInterrupt(pin) == NOT_AN_INTERRUPT ) \
enableInterrupt(pin,device##chan##ISRHandler::isr,CHANGE); \
else \
attachInterrupt(digitalPinToInterrupt(pin),device##chan##ISRHandler::isr,CHANGE);
Code: Alles auswählen
#include <Switch.h>
Code: Alles auswählen
#define RELAY1_PIN 0
Code: Alles auswählen
this->device().led()...
Code: Alles auswählen
void initPeerings (bool first) {
// create internal peerings - CCU2 needs this...
Code: Alles auswählen
ConfigToggleButton<SwitchType> cfgBtn(sdev);
vs
ConfigButton<RemoteType> cfgBtn(sdev);
Code: Alles auswählen
SwitchType sdev(devinfo,0x20);vsRemoteType sdev(devinfo,0x20);
3a) Wo wird die Logik implementiert? Beispiel: Wenn Taster gedrückt dann Info an CCU senden?
3b) Relay schalten: Ist das hier die eigentliche Schalten des Relays + die Bekantmachung in der CCU?
Code: Alles auswählen
SwitchChannel<HALTYPE,PEERCOUNT,List0>::switchState(oldstate, newstate, delay);
[b]UND[/b]
// setup the device with channel type and number of channels
typedef MultiChannelDevice<Hal,SwChannel<Hal,PEERS_PER_CHANNEL>,1> SwitchType;
@jp112sdl
4a) AN Pin 15 hängt ein Taster mit internem Pull-UP, richtig? Was treibst du mit Pin 14?Hat das Gerät einen HW Schalter?
Code: Alles auswählen
// if A0 and A1 connected
// we use LOW for ON and HIGH for OFF
bool checkLowActive () {
pinMode(14, OUTPUT); // A0
pinMode(15, INPUT_PULLUP); // A1
digitalWrite(15, HIGH);
digitalWrite(14, LOW);
bool result = digitalRead(15) == LOW;
digitalWrite(14, HIGH);
return result;
}
...
void setup () {
...
bool low = (sdev.getConfigByte(CFG_LOWACTIVE_BYTE) == CFG_LOWACTIVE_ON) || checkLowActive();
sdev.channel(1).init(RELAY1_PIN, low);
Allgemein:
5) Woher kommt die Zahl des defines?:
Code: Alles auswählen
#define PEERS_PER_CHANNEL XX
Code: Alles auswählen
typedef AskSin<LedType,NoBattery,Radio<RadioSPI,11> > Hal; // PD3
vs
typedef AskSin<LedType,BatterySensor,RadioType> HalType;
Code: Alles auswählen
typedef StatusLed<12> LedType; // PD4
-
- Beiträge: 681
- Registriert: 09.12.2019, 21:24
- Hat sich bedankt: 151 Mal
- Danksagung erhalten: 61 Mal
Re: AskSinPP / Dokumentation + Howtos
Hallo und willkommen im Club.
Eine eindeutige Dokumentation gibt es nicht. Mein Anlaufpunkt ist Asksinpp.de und das Forum. Ein Tip von mir, nehme ein Projekt und suche danach im Forum. Man findet schon einiges an Erklärungen ist aber alles sehr anstrengend. "Man muss nicht alles wissen, man muss nur wissen wo es steht. Ich habe aufgegeben da irgendwie durchzusteigen. Wenn ich ein Gerät brauche suche ich im Forum danach und dabei bekommt man schon einiges mit.
Eine eindeutige Dokumentation gibt es nicht. Mein Anlaufpunkt ist Asksinpp.de und das Forum. Ein Tip von mir, nehme ein Projekt und suche danach im Forum. Man findet schon einiges an Erklärungen ist aber alles sehr anstrengend. "Man muss nicht alles wissen, man muss nur wissen wo es steht. Ich habe aufgegeben da irgendwie durchzusteigen. Wenn ich ein Gerät brauche suche ich im Forum danach und dabei bekommt man schon einiges mit.
Gruß Martin
- Psi
- Beiträge: 512
- Registriert: 09.08.2018, 19:58
- Wohnort: Nürnberg
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 90 Mal
Re: AskSinPP / Dokumentation + Howtos
Wenn jemand ein Teilgebiet verstanden hat könnte derjenige dies auch auf asksinpp.de erleutern und dokumentieren. Leider möchten die meisten nur Doku haben und keine schreiben.
-
- Beiträge: 199
- Registriert: 29.05.2019, 12:51
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 65 Mal
Re: AskSinPP / Dokumentation + Howtos
Doku ist generell ein leidiges Thema.
Im Prinzip brauchst Du sie um anzufangen und die Library zu verstehen.
Hast Du die Lib verstanden kannst Du die Doku schreiben, brauchst sie aber nicht mehr und verwendest lieber die Zeit um schöne Sachen zu bauen
Im Prinzip brauchst Du sie um anzufangen und die Library zu verstehen.
Hast Du die Lib verstanden kannst Du die Doku schreiben, brauchst sie aber nicht mehr und verwendest lieber die Zeit um schöne Sachen zu bauen
-
- Beiträge: 12116
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 849 Mal
- Danksagung erhalten: 2150 Mal
- Kontaktdaten:
Re: AskSinPP / Dokumentation + Howtos
Wenn mir einer von euch meine oben stehenden Fragen beantwortet, dient das auch später allen anderen, um die Unterschiede zu verstehen.
Biete mich dann auch gerne an um ein Howto zu schreiben für eure Webseite @papa
Biete mich dann auch gerne an um ein Howto zu schreiben für eure Webseite @papa
-
- Beiträge: 12116
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 849 Mal
- Danksagung erhalten: 2150 Mal
- Kontaktdaten:
Re: AskSinPP / Dokumentation + Howtos
Das sind alles relativ kontextlose Fragen.
Es kommen immer mal wieder Fragen-Fragmente von verschiedenen Usern auf, die zwar dem jeweiligen Fragesteller in dem Moment helfen, aber in diesen "Fetzen" der Allgemeinheit nicht wirklich nachhaltig was bringt.
z.B.:
Lautet die Antwort: NEIN.
Um jetzt aber auszuführen, wann man es braucht und wann nicht, fehlt es mir auch an Muße, alles aufzuschreiben.
Btw.: Um einen einfachen Sensor / Taster / Aktor zu bauen, kann man sich an den Beispielen bedienen.
Was darüber hinaus geht, setzt mindestens noch das Wissen "Wie bringe ich das Gerät der CCU bei" voraus.
Und da kommen dann die nächsten Fragen...
-
- Beiträge: 705
- Registriert: 22.05.2018, 10:23
- Hat sich bedankt: 24 Mal
- Danksagung erhalten: 120 Mal
Re: AskSinPP / Dokumentation + Howtos
Tja - Doku ist halt immer Mehraufwand, für den in der Freizeit einfach nicht genug Zeit bleibt. Ich hatte schon mal angefangen mit Doxygen wenigstens die Klassenstruktur zu erzeugen. Aber das ist halt auch nicht zum Einsteigen.
Im Prinzip sind die Lib so aufgebaut, dass man für die Standardfälle ohne viel Code im Sketch auskommt. Dafür ist das ganze sicherlich nicht ganz einfach zu durchdringen ....... irgendwas ist halt immer
Im Prinzip sind die Lib so aufgebaut, dass man für die Standardfälle ohne viel Code im Sketch auskommt. Dafür ist das ganze sicherlich nicht ganz einfach zu durchdringen ....... irgendwas ist halt immer
Anfragen zur AskSin++ werden nur im Forum beantwortet