Arduino Asksin library

Begonnen von trilu, 06 August 2013, 10:02:17

Vorheriges Thema - Nächstes Thema

betateilchen

Zitat von: trilu schrieb am Mo, 12 August 2013 21:02In deinem Log ist ein -> NA (58319)
Kann es sein, dass du FHEM nicht im pairing mode hattest?

Jetzt besser?


<- 00 84 00 FF 00 01 00 00 00 0A 80 02 50 53 30 30 30 30 30 30 30 31 9F 04 01 01 (l:26) <- SE (5551)
-> 18 A0 01 12 70 00 FF 00 01 00 05 00 00 00 00 00 (l:16)(5793)
start config mode
<- 18 80 02 FF 00 01 12 70 00 00 (l:10) <- SE (5852)
-> 19 A0 01 12 70 00 FF 00 01 00 08 02 01 0A 12 0B 70 0C 00 (l:19)(6160)
config write index, channel: 02,01
needs to be written
<- 19 80 02 FF 00 01 12 70 00 00 (l:10) <- SE (6178)
-> 1A A0 01 12 70 00 FF 00 01 00 06 (l:11)(6475)
config end
<- 1A 80 02 FF 00 01 12 70 00 00 (l:10) <- SE (6481)
-> 1A A0 01 12 70 00 FF 00 01 00 06 (l:11)(6676)
config end
<- 1A 80 02 FF 00 01 12 70 00 00 (l:10) <- SE (6782)
-> 1A A0 01 12 70 00 FF 00 01 00 06 (l:11)(6877)
config end
<- 1A 80 02 FF 00 01 12 70 00 00 (l:10) <- SE (7083)


Das Device war aus vorherigen Tests schon angelegt, vermutlich war das das Problem.

Als nächstes wäre dann set <name> getConfig abzusetzen, das vom Arduino zu beantworten wäre.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

trilu

Ja, jetzt ist besser :-)

Das Problem bei so einem Timeout ist, das er echt schwer zu finden ist. Ich logge ja nicht mehr die Kommunikation, sondern bin jetzt ein Teil davon.

@Dirk - Danke für den Link, ich werde mir morgen mal besagte config files zu gemühte führen.

betateilchen

ich hab jetzt nen zweiten Arduino zur Funküberwachung aufgebaut.


-----
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

trilu

Meine panstamps sind auch schon bestellt, aber dauern anscheinend noch ein wenig...
Hast du eine Idee, wie ich die Library möglichst flexibel und konfigurierbar bekomme?

Ich habe schon an structs gedacht, in denen die Channels spezifiziert werden können. Also sowas wie

Anzahl Channels
Channel(0), Ein oder Ausgabe oder Sensor, Status send interval, etc

PeterS

Hi Zusammen

Wie sind die Pins am langen TRX868 Board angeordnet (PIN1->PIN8)? Wo ist Pin1 ?

Gruss Peter

betateilchen

Nimm ein  Widerstandsmeßgerät und suche den Massepin (messen gegen das Abschirmblech), Pin 1 ist der daneben.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

PeterS

Hallo

Wenn ich das erste Bild als Bezugspunkt nehme,
https://github.com/ccier/openhm/wiki/Trx868

ist mein Masseport links unten.

Das kann dann aber nicht Pin7 sein, oder ?

Gruss Peter

betateilchen

Beim langen schmalen Sendemodul liegt Masse an Pin 2. Steht doch klipp und klar in der Tabelle auf der von Dir verlinkten Seite? Bist Du Dir eigentlich sicher, welches Modul Du hast? einreihige Kontakte oder zwei Reihen?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

PeterS

Hi
Ich habe das gleiche 2×4 reihige Modul wie auf dem Bild.
Pin2 kann doch nicht unten links sein, oder ?
Gruss Peter

betateilchen

Das kommt drauf an, wo man an dem Teil "oben" und "unten" festlegt. Du kannst das Modul ja um 180° drehen, egal ob horizontal oder vertikal, dann hast Du den Pin "oben". Deshalb hatte ich eingangs darauf verzichtet, mit diesen Begriffen anzufangen.

Wenn Du Pin2 gefunden hast, hast Du die Reihe mit den "geraden" Pin-Nummern. Die ungeraden liegen direkt daneben. So einfach ist es.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

PeterS

Das heisst dann also:
Pin: 2 4 6 8
Pin: 1 3 5 7
Teste es mal
Gruss und danke Peter

betateilchen

genau so ist das Schema :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

PeterS

Scheint mal zu funken :-)

start AskSin sketch
SPI_init done
cc1100_init: 123.....................4 done

Available commands:
  b,b,b i       - set device ID (3 bytes)
  b[0],b[n] s   - send a string, b[0] is length (50 bytes max)
  p             - start pairing with master
  n/a           - load configuration from EEPROM
  n/a           - write configuration to EEPROM

 $nn for HEX input (e.g. $AB,$AC )

b> 19 86 70 1C C8 D1 00 00 00 00 A2 42 (l:12)(67206)
b> AD 86 70 1C C9 0F 00 00 00 00 F8 41 (l:12)(94144)

martinp876

Hi Zusammen,

bin evtl. nicht auf dem letzten Stand, habe alles nur überflogen.

Bitte beachten zur Channel Diskussion:
Ein Gerät hat immer ein Device und min einen Channel. Die Zählung der Channel beginnt bei "01". "00" ist kein channel, wird verwendet wenn man mit dem Device selbst "redet".

In C sollte man mit Strukturen arbeiten um register zu definieren. Etwa in der Form

struct List0{  /*device level*/
   unsigned char [9];          /*chars 1 to 9 are not used*/
   unsigned char Paired[3];    /*HMID central*/
   };
struct List1Remote{ /*channel level for remote*/
   unsigned char [3];
   unsigned char longPress [1];
   unsigned char [4];
   unsigned char dblPress [1];
   };
struct List4Remote{ /*channel level for remote*/
   unsigned int expectAES      :1; /*addr 1 msb*/
   unsigned int                :6;
   unsigned int peerNeedsBurst :1; /*addr 1 lsb*/
   
   unsigned char [1];
   unsigned char myData [1]; /*addr 0x03*/
   };

struct {
  List0 l0;
  List1Remote l1;
  List4Remote l4[10]; /*allow 10 peers*/
} myRegs;


Das ist die raumgreifenden Variante. Leer-register sind nicht ausgeblendet.

habt ihr schon einen Ansatz beispielsweise das pairing zu machen?
Gruss Martin

betateilchen

Das Pairing funktioniert grundsätzlich, wird aber noch nicht gespeichert.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!