Fehlermeldung Probleme

www.comwebnet.de
Verfügbare Informationen zu "Fehlermeldung Probleme"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: avrnix - Eisbaeeer - Kurzschluss - Wigbert - Trexis5
  • Forum: www.comwebnet.de
  • Forenbeschreibung: AVR Mikrocontroller und Elektronik - Forum - www.comwebnet.de
  • aus dem Unterforum: SNAP-Protokoll für RFM12 - Sven Härtig
  • Antworten: 29
  • Forum gestartet am: Mittwoch 25.10.2006
  • Sprache: deutsch
  • Link zum Originaltopic: Fehlermeldung Probleme
  • Letzte Antwort: vor 16 Jahren, 4 Monaten, 18 Tagen, 16 Stunden, 25 Minuten
  • Alle Beiträge und Antworten zu "Fehlermeldung Probleme"

    Re: Fehlermeldung Probleme

    avrnix - 11.11.2007, 22:37

    Fehlermeldung Probleme
    So hier die Fehlermeldungen Posten, oder was Ihr für ein problem habt.



    Re: Fehlermeldung Probleme

    Eisbaeeer - 20.11.2007, 15:09

    Sender
    So, dann fang ich mal an.

    Mein Testaufbau sieht so aus:

    Testsender, SNAP Protokoll mit M32@8MHz und RF12 Modul
    Empfänger, SNAP Protokoll mit M32@8MHz und RF12 Modul

    Die Strecke steht, das SNAP funktioniert. Die Senderumschaltung klappt auch soweit. Wenn aber mein Testsender lange läuft (Testsender wird gestresst mit Senden in jeder Schleife), dann sendet er nicht mehr.

    Code:
    '-------------------------------------------------------------------------------
    'Senden
      If Count => 50 Then
      Byteanzahl = 6
      Rf12_err = 0                                              'Error Flag löschen

    'Variable füllen
    Rf12_data(6) = 24
    Rf12_data(7) = Hour
    Rf12_data(8) = Minute
    Rf12_data(9) = Second
    Rf12_data(10) = Day
    Rf12_data(11) = Month
    'Rf12_data(12) = Year
    'Rf12_data(13) = Weekday

      Gosub Sendsnapframe
      Call Rf12_txdata(framelength)                             'Senden
    '  Gosub Rf12_rxd_on
      If Rf12_err = 1 Then
         Print "Timeout beim Senden aufgetreten"                'DebugInfo: Problem beim senden
         End If
        Reset Led1
      Else
      End If


    Hat das auch schon jemand getestet?

    Grüße Eisbaeeer



    Re: Fehlermeldung Probleme

    Kurzschluss - 22.11.2007, 23:07


    Hallo Eisbaeeer

    bei meinem Testsender sind ja 5sec Wartezeit zwischen jedem Senden drin
    evtl. kann es ja helfen das Rf12_err - Flag nach jedem Sendsnapframe zu checken
    --> wenn <>0 gabs ein Problem in der [Busy check]-Unterroutine
    rf12_err ist ja als Byte angelegt d.h. wir könnten dort noch andere Fehlerzustände darstellen..

    vieleicht wird ja der RF12 mit Daten quasi überfahren...
    du kannst ja mal mit einigen ms Pause zwischen den jewieligen senden probieren

    Ich habe meinen Testsender mit M8 schon mehere Tag durchlaufen lassen,
    kann aber nicht sagen ob der AVR ab und an einen reset macht
    (der watchdog ist nicht verwendet)
    er ist jedoch nie stehen geblieben...

    ich werde die nächsten Tage wieder am Projekt weitermachen,
    war bis gestern Sonne tanken auf Teneriffa.... :D

    Grüße Kurzschluss



    Re: Fehlermeldung Probleme

    Eisbaeeer - 28.11.2007, 21:20


    Uuups

    Da hat wohl die Benachrichtigungsfunktion nicht geklappt. Hab es erst heute gelesen.
    Mit größeren Pausen hab ich auch schon versucht.

    Ich habe im Sender jetzt einen Timer laufen, der mir den rf12 alle 3 sekunden Senden lässt.
    Ich übertrage im Moment (zum Test) die aktuelle Uhrzeit vom DCF Decoder (wird mit dem selben Mega gemacht) und noch eine Temperatur vom DS18S20. Diese Werte werden abwechselnd gesendet. Beim Empfänger habe ich derweil das Bestätigungssenden auskommentiert, bis der Fehler gefunden ist. Somit konnte ich die Empfangsroutine ausschließen. Diese läuft auch mehrere Tage durch. Nach einem Reset des Senders geht alles wieder.

    Ich werde mal die Abfrage Rf12_err einbauen. Ja, man könnte da den RF12 Status mit reinpacken. Der sollte meines Wissens sowieso abgefragt werden.

    Grüße Eisbaeeer



    Re: Fehlermeldung Probleme

    Eisbaeeer - 02.12.2007, 23:50


    So, ich bin jetzt ein gutes Stück weiter.
    Die Abfrage von Rf12_err hat leider nicht den gewünschten Erfolg gebracht. Mein Sender hat sich nach Sage und Schreibe 4 Stunden aufgehängt. Bei einer Sendepause von 5 Sekunden.

    Ich mache jetzt eine Sendepause von 300ms und lese zusätzlich den RF12 Status aus.
    Dazu habe ich die include Datei nochmals angepasst.
    Mein Sender läuft jetzt schon 12 Stunden ohne Hänger. Wenn er morgen Früh noch läuft, werde ich hier mal das geänderte include veröffentlichen.

    Grüße Eisbaeeer



    Re: Fehlermeldung Probleme

    Eisbaeeer - 03.12.2007, 22:07


    Das wird ja langsam ein Blog :o

    Also, heute Morgen ging der Sender noch. Als ich dann mit freudiger Erwartung nach Hause kam, :(

    Jetzt weiss ich wenigstens schon mal, welches Bit beim Status gesetzt wird, wenn sich der Sender aufhängt.

    Mein jetziger Lösungsansatz sieht so aus, dass ich das Bit abfrage und wenn <> 0 dann initialisiere ich den RF12. Ist aber nicht die feine Art, wenn ich nicht weiss, was das Bit zu bedeuten hat.

    So sieht mein Rf12_status aus, wenn der Sender funktioniert:
    Rf12_status: 1010000100000000

    Das X13 geht ab und an auf 0, laut der Beschreibung ist das aber der FIFO Füllstand, ist also OK.

    So sieht mein Rf12_status aus, wenn der Sender hängt:
    Rf12_status:. 1010100100000000

    Das wäre das Bit 11. Was bedeutet dieses Bit?
    Anbei noch eine Beschreibung des ach so schlecht dokumentierten RF Bausteins:


    '=== Status Read ===
    'Dieses Kommando löst die Rückgabe des Statusregisters aus, welches nach der ersten 0 im ersten Bit syncron übertragen wird.
    'Hex = 0000
    'Bit-Syntax: 0000000000000000<000>
    'Rückgabe-Syntax: x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10 | x11 | x12 | x13 | x14 | x15 | x16 | x17 | x18
    x0 -> x5 = Interrupt bits
    x6 -> x15 = Status Bits
    x16 -> x18 = FIFO
    'x0 = FFIT / RGIT (RGIT = TX Register ist bereit neue Daten zu senden ... kann mit dem TX Register gelöscht werden)(FFIT = Die anzahl der Datenbits im FIFO Puffer hat das eingestellte Limit erreicht. Kann mit einer der FIFO-Lese methoden gelöscht werden)
    'x1 = POR (PowerOnReset)
    'x2 = FFOV / RGUR (RGUR = Der Datenstrom beim Senden ist abgerissen, da nicht schnell genug Daten nachgeladen wurden)(FFOV = Der RX FIFO ist übergelaufen)
    'x3 = WKUP
    'x4 = EXT
    'x5 = LBD
    'x6 = FFBM (Der FIFO Puffer ist leer)
    'x7 = RSSI/ATS (ATS = )(RSSI = Die Signalstärke ist über dem eingestelltem Limit)
    'x8 = DQD
    'x9 = CRL
    'x10 = ATGL
    'x11 = OFFS_4
    'x12 = OFFS_3
    'x13 = OFFS_2
    'x14 = OFFS_1
    'x15 = OFFS_0
    'x16 = FO
    'x17 = FO+1
    'x18 = FO+2


    Weiss jemand von Euch mehr über die "OFFS_" Bits?

    Grüße Eisbaeeer

    Anbei noch das geänderte inc-File, mit dem man den Status abfragen kann:

    Code:
    '#######################################
    'inculde file for RF12-device
    'info about RF12 Transceiver:       www.hoprf.com or www.integration.com
    'info about using RF12 with Bascom: www.comwebnet.de
    'Version: v0.01
    'Author:  Kurzschluss
    'Edit: Eisbaeeer
    'Version: v0.10
    'Date: 20071120
    'Subject: Get status from RF12
    '#######################################
    '------[Inculde-Datei: Treiber für RF12 Chip]-----------------------------
    '$nocompile

    Declare Sub Rf12_init()
    Declare Sub Rf12_setfreq(byval Freq As Single)
    Declare Sub Rf12_setbandwith(byval Bandwith As Byte , Byval Gain As Byte , Byval Drssi As Byte)
    Declare Sub Rf12_setbaud(byval Rfbaud As Long)
    Declare Sub Rf12_setpower(byval Outpower As Byte , Byval Fskmod As Byte)
    Declare Sub Rf12_ready
    Declare Sub Rf12_txdata(byval Txlen As Byte)
    Declare Sub Rf12_rxdata(byval Maxchar As Byte)
    Declare Function Rf12_trans(byval Wert As Word) As Word

    Dim Rf12_timeout As Word
    Dim Rf12_err As Byte
    Dim Rf12_status As Word


    '------[Sende Daten]-------------------
    Sub Rf12_txdata(byval Txlen As Byte)
      Temp = Rf12_trans(&H8238) : Rf12_ready                    'Power CMD: synt.& PLL on
      Temp = Rf12_trans(&H0000) : Rf12_ready                    'Status holen
      Rf12_status = Temp                                        'Status einlesen
      Temp = Rf12_trans(&Hb8aa) : Rf12_ready                    'Preamble
      Temp = Rf12_trans(&Hb8aa) : Rf12_ready                    'Preamble
      Temp = Rf12_trans(&Hb8aa) : Rf12_ready                    'Preamble in FIFO schieben
      Temp = Rf12_trans(&Hb82d) : Rf12_ready                    'Startzeichen: 2D für den Empfänger
      Temp = Rf12_trans(&Hb8d4) : Rf12_ready                    'Startzeichen: D4 für den Empfänger
      For Lv = 1 To Txlen
          Rf12_ready
          Temp = &HB800 + Rf12_data(lv)                         'Sende Nutzdaten
          Temp = Rf12_trans(temp)
          Next Lv
      Temp = Rf12_trans(&Hb8aa) : Rf12_ready                    'Dummybyte nachschieben
      Temp = Rf12_trans(&H8208) : Rf12_ready                    'Power CMD: synt.& PLL off, Quarz-clk läuft weiter
    End Sub

    '------[Empfange Daten]---------------
    Sub Rf12_rxdata(byval Maxchar As Byte)
      Temp = Rf12_trans(&H82c8)                                 'Power CMD: Empfänger an, Quarz-clk läuft weiter
      Temp = Rf12_trans(&H0000)                                 'Status auslesen
      Rf12_status = Temp                                        'Status einlesen
      Temp = Rf12_trans(&Hca81)                                 'FIFO&Reset CMD: sensitiver Reset aus (Brownout)
      Temp = Rf12_trans(&Hca83)                                 'FIFO&Reset CMD: Synchroner Zeichenemfang (warte auf Startzeichen: 2DD4)
    For Lv = 1 To Maxchar
          Rf12_ready :
          Temp = Rf12_trans(&Hb000)                             'lese 1Byte vom FIFO
          Rf12_data(lv) = Temp                                  'Nutzdaten einlesen
          Next Lv
      Temp = Rf12_trans(&H8208)                                 'Power CMD: Empfänger aus, Quarz-clk läuft weiter
    End Sub


    '------[SPI Busroutinen]----------------
    Function Rf12_trans(byval Wert As Word) As Word
      Local Lowbyte As Byte
      Local Highbyte As Byte

      Lowbyte = Low(wert) : Highbyte = High(wert)
      Reset Spi_cs
      Highbyte = Spimove(highbyte) : Lowbyte = Spimove(lowbyte)
      Set Spi_cs
      Temp = Makeint(lowbyte , Highbyte)
      'print "SPI receive: ";hex(temp)            'debug
      Rf12_trans = Temp
    End Function


    '------[Busy check]-----------------------
    Sub Rf12_ready
      Rf12_timeout = 50000
      Reset Spi_cs                                              'SS-Pin--> select RF12
      While Spi_sdo = 0                                         'MISO muss von RF12 auf high gehen  'In der Sim. auf 1 stellen
         If Rf12_timeout > 0 Then                               'Timeout Loop
            Decr Rf12_timeout
            Else
            Rf12_err = 1                                        'Flag setzen
            Exit While                                          'Timeout --> Abbruch kein ready vom RF12
            End If
         Waitus 20
      Wend                                                      'Warten bis senden bzw. empfangen fertig
    End Sub


    '------[INIT]-------------------------------------
    Sub Rf12_init()
      Waitms 150
      Temp = Rf12_trans(&H0000)                                 ': print Temp     '0000 -Status
      Temp = Rf12_trans(&Hc0e0)                                 ': print Temp     'C0E0 -Clock Output 10MHz
      Temp = Rf12_trans(&H80d7)                                 ': print Temp     '80D7 -Datareg used,FIFO enabled,433MHz,CL=15pF
      Temp = Rf12_trans(&Hc2ab)                                 ': print Temp     'C2AB -Datafilter:Autolock-slow mode-Digital Filter,f1=1;f0=1
      Temp = Rf12_trans(&Hca81)                                 ': print Temp     'CA81 -FIFO/ResetMode  (Brownoutdektion ausgeschaltet)
      Temp = Rf12_trans(&He000)                                 ': print Temp     'E000 -WakeUP Timer
      Temp = Rf12_trans(&Hc800)                                 ': print Temp     'C800 -LowDuty Cycle
      Temp = Rf12_trans(&Hc4f7)                                 ': print Temp     'C4F7 -AFC-command -eingeschaltet
    End Sub


    '------[Setze TrägerFrequenz]---------------------
    Sub Rf12_setfreq(byval Freq As Single)
      Freq = Freq - 430.00
      Temp = Freq / 0.0025
      If Temp < 96 Then
        Temp = 96
      Elseif Temp > 3903 Then
        Temp = 3903
      End If
      Temp = Temp + &HA000
      Temp = Rf12_trans(temp)                                   'Axxx - Frequenzsetting (Kanal Einstellung)
    End Sub


    '------[Setze Bandweite]---------------------------
    Sub Rf12_setbandwith(byval Bandwith As Byte , Byval Gain As Byte , Byval Drssi As Byte)
      Drssi = Drssi And 7
      Gain = Gain And 3
      Temp = Bandwith And 7
      Shift Temp , Left , 2
      Temp = Temp + Gain
      Shift Temp , Left , 3
      Temp = Temp + Drssi
      Temp = Temp + &H9400
      Temp = Rf12_trans(temp)                                   'Revicer Control Command (Pin20 VDI output)
    End Sub


    '------[Einstellung der Baudrate]--------------------
    Sub Rf12_setbaud(byval Rfbaud As Long )
      Local Ltemp As Long
      If Rfbaud < 663 Then Exit Sub
      If Rfbaud < 5400 Then
         Temp = 43104 / Rfbaud
         Temp = Temp + &HC680
         Else
         Ltemp = 344828 / Rfbaud
         Temp = Ltemp
         Temp = Temp + &HC600
         End If
      Decr Temp
      Temp = Rf12_trans(temp)
    End Sub


    '------[Sendeleistung einstelllen]-----------------
    Sub Rf12_setpower(byval Outpower As Byte , Byval Fskmod As Byte)
      Outpower = Outpower And 7
      Temp = Fskmod And 15
      Shift Temp , Left , 4
      Temp = Temp + Outpower
      Temp = Temp + &H9800
      Temp = Rf12_trans(temp)
    End Sub

    '-------------------------------------------------------------------------------
    'Info:
    '=== Status Read ===
    'Dieses Kommando löst die Rückgabe des Statusregisters aus, welches nach der ersten 0 im ersten Bit syncron übertragen wird.
    'Hex = 0000
    'Bit-Syntax: 0000000000000000<000>
    'Rückgabe-Syntax: x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10 | x11 | x12 | x13 | x14 | x15 | x16 | x17 | x18
    'x0 -> x5 = Interrupt bits
    'x6 -> x15 = Status Bits
    'x16 -> x18 = FIFO
    'x0 = FFIT / RGIT (RGIT = TX Register ist bereit neue Daten zu senden ... kann mit dem TX Register gelöscht werden)(FFIT = Die anzahl der Datenbits im FIFO Puffer hat das eingestellte Limit erreicht. Kann mit einer der FIFO-Lese methoden gelöscht werden)
    'x1 = POR (PowerOnReset)
    'x2 = FFOV / RGUR (RGUR = Der Datenstrom beim Senden ist abgerissen, da nicht schnell genug Daten nachgeladen wurden)(FFOV = Der RX FIFO ist übergelaufen)
    'x3 = WKUP
    'x4 = EXT
    'x5 = LBD
    'x6 = FFBM (Der FIFO Puffer ist leer)
    'x7 = RSSI/ATS (ATS = )(RSSI = Die Signalstärke ist über dem eingestelltem Limit)
    'x8 = DQD
    'x9 = CRL
    'x10 = ATGL
    'x11 = OFFS_4
    'x12 = OFFS_3
    'x13 = OFFS_2
    'x14 = OFFS_1
    'x15 = OFFS_0
    'x16 = FO
    'x17 = FO+1
    'x18 = FO+2

    '=== FIFO und RESET-Mode ===
    'Hex = ca & xx
    'Bit-Syntax: 11001010 | f3 | f2 | f1 | f0 | -unknow- (0) | al | ff | dr
    'f... = (FIFO interrupt Level)
    '-unknow- (0) = ??? (Standard = 0) (Auch im Datenblatt von IA4420 so beschrieben)
    'al = (FIFO Fill Condition) Legt den Wert fest, ab dem das Füllen des FIFOs beginnt. (0=Syncron / 1=Ständig). Bei nutzung des Syncronen Modus, werden erst dann Daten in den FIFO geschrieben, wenn eine definierte 16Bit Datenfolge empfangen wurde (Standard ist Hex: 2dd4).
    'ff = (FIFO Fill) Startet das einlesen der Empfangenen Daten in den FIFO Puffer. Wenn al (FIFO Fill Condition) auf Syncron steht, dann startet das Setzen dieses Bits die Syncronisation Bit Erkennung.
    'dr = (Sens Reset Mode) Wenn dieses Bit auf 1 steht, wir bei einer schwankung von 200mV auf der VCC (Spannungsversorgung des Chips) Leitung, ein System-Reset ausgelöst.



    Re: Fehlermeldung Probleme

    avrnix - 03.12.2007, 22:53


    OFFS0 ...OFFS3 und OFFS6 -> Gibt den Frequenz Offset an.

    S.23 :arrow: http://comwebnet.co.funpic.de/seite48.php

    im Datenblatt.

    Vielleicht - verschiebt sich die Frequenz ? - keine Ahnung.



    Re: Fehlermeldung Probleme

    Eisbaeeer - 03.12.2007, 23:36


    Ok, dann müsste ich mal beim AFC suchen.

    Kann natürlich sein, dass der Sender mit der Zeit "aus dem Ruder" läuft.

    Mal sehen, ob meine Programm Modifikation funktioniert. Heisst ja nur, wieder mal warten. Aber wenn der Fehler behoben ist, ist es das alle mal wert.

    Grüße Eisbaeeer



    Re: Fehlermeldung Probleme

    Eisbaeeer - 04.12.2007, 07:29


    Hiermit berichtige ich meine Posts zu diesem Thema.
    Der Sender bleibt nicht stehen!

    Das war immer nur eine Vermutung, weil beim Empfänger nichts mehr ankam. Nach einem Reset des Senders hat dieser wieder funktioniert.

    Jetzt, wenn ich den Status auslese, sieht man, das der Sender sehr wohl sendet. Aber eben mit dem gesetzten Bit OFFS_4. Im "Normalzustand" sind nur die Bits OFFS_0 und OFFS_2 gesetzt.

    Was das ganze noch schwieriger macht. Es gibt unterschiedliche Doku´s dazu. Bei Hope heisst das Bit OFFS(6) um das es sich dreht. (Danke Arvnix)

    MSB of the mesured frequency offset (sign of the offset value)

    Heisst also, dass mein Sender durchaus gesendet hat, aber eben neben der eingestellten Frequenz?

    Ich werde jetzt mal abwarten, was mein Sender macht. Ich hab mir einen Fehlerzähler eingebaut, der mir eine Variable hochzählt, sobald das Bit mal gesetzt wurde, denn anschließend wird der Sender ja neu initialisiert. Dann wüsste ich nicht, ob der "Fehler", überhaupt da war.

    Grüße Eisbaeeer



    Re: Fehlermeldung Probleme

    Eisbaeeer - 04.12.2007, 19:48


    So, jetzt ist es amtlich.
    Meine Hilfsvariable hat geholfen.
    Ich habe das entsprechende Bit abgefragt und lasse den Sender neu initialisieren, wenn die Frequenz wegläuft. Das kommt bei meinem jetzigen RF12 Modul zwischen 12 und 24 Stunden vor. Problem behoben, jetzt kann es weitergehen.

    Als nächstes wird dem Master beigebracht, was Ack und Nack ist und wie er darauf zu reagieren hat.

    Mal sehen, wie lange ich dazu brauch.
    Grüße Eisbaeeer



    Re: Fehlermeldung Probleme

    Wigbert - 04.12.2007, 23:35


    Hallo Eisbeer,
    das Problem will ich genauer wissen.wie weit lauft der Sender weg,
    oder verliert der Sender evtl. sein Gedächtnis Gedächtnis?



    Re: Fehlermeldung Probleme

    Eisbaeeer - 05.12.2007, 07:26


    Also das ganze hat sich ja so geäußert, dass mein Empfänger nach einigen Stunden keine Daten mehr empfangen hat.
    Ich war dann immer davon ausgegangen, dass sich das Rf12 Modul aufgehängt hat. Dem war aber nicht so. Es hat schön und munter weitergesendet, nur mit einem zu großen Offset.
    Jetzt frage ich vor jedem Senden über den Status das entsprechende Bit ab und initialisiere neu, wenn sich der Offset ändert:

    If Rf12_status.11 <> 0 Then Gosub Rf12_initialize

    Gleichzeitig habe ich eine Hilfsvariable erhöhen lassen, damit ich sehe, wie oft das vorkommt.
    Der Sender läuft seit Vorgestern durch und wurde bisher 3 mal neu initialisiert. Da ich ein DCF Modul und eine Echtzeituhr dranhängen hab, könnte ich noch die Uhrzeit mitschreiben, aber das ist in meinen Augen nicht so relevant. 3 mal in 48 Stunden ist OK.

    Das include habe ich soweit angepasst, dass die Variable Rf12_status mit jedem Senden und Empfangen gefüllt wird. Ohne den Status wäre ich nie draufgekommen.

    Das witzige ist, dass es bei vielen oder allen Modulen so sein muss. Ich habe mehrere RF12 Module und mit denen passiert das gleiche.

    Bin mal gespannt, ob wir jetzt alle Fehler ausgemerzt haben. Würde ja bedeuten, dass die Module jetzt im vollen Umfang genutz werden könnnen.

    Grüße Eisbaeeer



    Re: Fehlermeldung Probleme

    Wigbert - 05.12.2007, 18:00


    Hallo Eisbbeer,

    Ich habe mit meinen Code den Empfänger 5 Tage laufen lassen,
    und habe Stichprobenweise den Sender aktiviert. Alles im Grünen Bereich.

    Wieso lässt Du den Sender durchlaufen? Aus den Empfang springen,
    init ,Senden, zum Emfang zurück. Aber egal.
    Kann ich davon ausgehen, das mein Code nicht schuld am "aufhängen" war?



    Re: Fehlermeldung Probleme

    Eisbaeeer - 06.12.2007, 10:55


    Hi

    Dein Code ist nicht schuld, dass der Sender wegläuft. Das liegt wohl eher an den Modulen. Also keine Sorge.

    Warum lasse ich meinen Sender durchlaufen. --> Ich möchte nicht nachher in meiner komplexen Anwendung Fehler suchen gehen, die nicht so einfach auffindbar sind. Stell dir vor, ich hab einen Master und 2 Slaves am laufen, die Regeln meine Heizung und ich muss dann anfangen im täglichen Betrieb so einen Fehler zu suchen. Das wird weitaus schwieriger, als jetzt gleich solche Tests durchzuführen. Schadet ja den Modulen nicht und ich weiss sicher, dass das Senden und Empfangen auch in extremlast funktioniert.

    Nächster Schritt ist, Master sendet SNAP an Slave, Slave sendet Ack oder Nack an Master. Dann werde ich den Slave so modifizieren, dass er ab und zu ein NACK schickt, damit der Master nochmals nachsendet. Wenn das dann funktioniert, ist von meiner Seite der RF12 abgeschlossen.

    Ich hab das weglaufen ja auch erst bemerkt, als ich beide als Master laufen hatte und diese gegenseitig adressiert habe. Am nächsten war wohl der Offset zu groß und die beiden haben sich nicht mehr verstanden.

    Ich müsste mir mal das Blockschaltbild der Module anschauen, um rauszufinden woran das liegt. Aber im Enddefekt spielt es keine Rolle, da es sich eh nicht ändern lässt. Und nach dem Initialisieren (offset neu eingestellt) läuft ja alles. Und das jetzt seit Montag.

    Grüße Eisbaeeer



    Re: Fehlermeldung Probleme

    Wigbert - 06.12.2007, 19:25


    Hallo Eisbeer,
    in Ordnung ist das auf keinen Fall, das der Sender nicht sauber
    durchläuft. Ich hätte das auch nie bemerkt, da ich nur kurzzeitig
    sende bzw.dann vorher sowieso die Init laufen lasse.
    Na egal, hatte nur Tagelang an meinen Code Fehler gesucht.
    Den Codeschnipsel mit Nack und Ack hätte ich mir gerne angesehen,
    und bei mir eingearbeitet,wobei wohl 3mal Wiederholung die Grenze
    sein wird(lebt der Slave noch?)
    Protokoll und Erkennung bleibe ich bei meiner Grundidee.

    "viele Wege führen eben nach Rom"



    Re: Fehlermeldung Probleme

    Eisbaeeer - 07.12.2007, 08:50


    Wigbert hat folgendes geschrieben: Hallo Eisbeer,
    in Ordnung ist das auf keinen Fall, das der Sender nicht sauber
    durchläuft. Ich hätte das auch nie bemerkt, da ich nur kurzzeitig
    sende bzw.dann vorher sowieso die Init laufen lasse.

    Hatte ich am Anfang auch. Da ich viel senden möchte und die Reaktionszeit dann ziemlich lange war, wollte ich ein schnelles Umschalten von Senden und Empfangen.

    Zitat:
    Na egal, hatte nur Tagelang an meinen Code Fehler gesucht.


    Da kann ich auch ein Lied davon singen :-(
    Ich glaube, du bist nicht der einzige, dem das noch nicht aufgefallen ist. Hauptsache das Problem ist jetzt gelöst.

    Die "Billigeimer RF12" haben bestimmt keine so gute ZF. Wie es da mit den Mischern aussieht ist auch noch die Frage. Filter sind auch teuer. Was will man auch für unter 4 Euro verlangen.

    Zitat:
    Den Codeschnipsel mit Nack und Ack hätte ich mir gerne angesehen,
    und bei mir eingearbeitet,wobei wohl 3mal Wiederholung die Grenze
    sein wird(lebt der Slave noch?)
    Protokoll und Erkennung bleibe ich bei meiner Grundidee.

    "viele Wege führen eben nach Rom"

    Das sehe ich auch so, dass es immer mehrere Lösungsansätze gibt. Hab ich absolut kein Problem damit.
    ACK und NACK dauert noch ein wenig. Jetzt ist erst mal die Familie dran. Es Weihnachtet sehr :-) .

    Wie helfen wir denn Trexis5 weiter?

    Grüße Eisbaeeer



    Re: Fehlermeldung Probleme

    Wigbert - 07.12.2007, 14:58


    Hi Eisbeer,
    hatte Trexis5 gebeten den Code reinzustellen,
    ich hab weder eine E-Mail noch kann ich den Code finden.
    Wo ist den der?

    AVR-Nix wir müssen uns was einfallen lassen, das ein Code als
    Anhang im Forum angehangen werden kann. Ich bin mir einfach
    nicht sicher ob ich sonst ein 100% Bas-code wieder erzeuge.



    Re: Fehlermeldung Probleme

    avrnix - 07.12.2007, 15:21


    Wigbert hat folgendes geschrieben: Hi Eisbeer,


    AVR-Nix wir müssen uns was einfallen lassen, das ein Code als
    Anhang im Forum angehangen werden kann. Ich bin mir einfach
    nicht sicher ob ich sonst ein 100% Bas-code wieder erzeuge.

    Leider kann dieses Forum keine Datei Anhängen, den Quelltext kann reinkopieren und HTML in diesen Beitrag deaktivieren - ein Häckchen - anklicken.


    Sonst mir die Datei zuschicken und plege diese auf der HP ein.

    Habe noch kein Kostenloses Forum gesehen welches das kann.
    Dienste hierfür gibt es ja - viruelle Festplatte (WebDAV)



    Re: Fehlermeldung Probleme

    Eisbaeeer - 07.12.2007, 15:58


    avrnix hat folgendes geschrieben: Wigbert hat folgendes geschrieben: Hi Eisbeer,


    AVR-Nix wir müssen uns was einfallen lassen, das ein Code als
    Anhang im Forum angehangen werden kann. Ich bin mir einfach
    nicht sicher ob ich sonst ein 100% Bas-code wieder erzeuge.

    Leider kann dieses Forum keine Datei Anhängen, den Quelltext kann reinkopieren und HTML in diesen Beitrag deaktivieren - ein Häckchen - anklicken.


    Sonst mir die Datei zuschicken und plege diese auf der HP ein.

    Habe noch kein Kostenloses Forum gesehen welches das kann.
    Dienste hierfür gibt es ja - viruelle Festplatte (WebDAV)

    Dann sollten wir mal überlegen, wo man das Forum noch hosten kann :-)
    Hab vieleicht eine Idee.



    Re: Fehlermeldung Probleme

    avrnix - 07.12.2007, 16:37


    [quote="Eisbaeeer"][quote="avrnix"] Wigbert hat folgendes geschrieben: nn :-)
    Hab vieleicht eine Idee.

    Na da bin ich mal gespannt :D



    Re: Fehlermeldung Probleme

    Wigbert - 07.12.2007, 17:11


    Ja also den Code als Anhang, käme mir sehr entgegen.
    Es ist sonst irgendwie anstrengend.



    Re: Fehlermeldung Probleme

    Eisbaeeer - 09.12.2007, 00:28


    Hi

    @Arvnix
    Ich könnte das eventuell im Geschäft hosten.
    Müsste mal mit meinem Chef sprechen.



    Re: Fehlermeldung Probleme

    avrnix - 09.12.2007, 00:45


    Nun gut - wie willst du einen öffentlichen Dateien Zugriff erreichen ?

    Wäre nicht schlecht! :P



    Re: Fehlermeldung Probleme

    Trexis5 - 09.12.2007, 09:35


    Ist euch schon mal aufgefallen das er Empfänger hängt?
    Also bei mir läuft der Atmel durch, aber es kommen keine Daten mehr an.
    Erst wenn ich dann den Empfängeratmel resete, dann kommen wieder Daten an.
    Aber alles noch mit dem M32 der M644er geht nicht.
    Hängt das mit dem Snap zusammen, das habe ich dringelassen bei meinem Code.



    Re: Fehlermeldung Probleme

    Wigbert - 09.12.2007, 16:29


    Hallo Eisbeer,
    Code:
    Ich könnte das eventuell im Geschäft hosten.
    Müsste mal mit meinem Chef sprechen.

    das lass man, das will keiner



    Re: Fehlermeldung Probleme

    Kurzschluss - 10.12.2007, 11:26


    Eisbaeeer hat folgendes geschrieben: So, jetzt ist es amtlich.
    Meine Hilfsvariable hat geholfen.
    Ich habe das entsprechende Bit abgefragt und lasse den Sender neu initialisieren, wenn die Frequenz wegläuft. Das kommt bei meinem jetzigen RF12 Modul zwischen 12 und 24 Stunden vor. Problem behoben, jetzt kann es weitergehen.

    Als nächstes wird dem Master beigebracht, was Ack und Nack ist und wie er darauf zu reagieren hat.

    Mal sehen, wie lange ich dazu brauch.
    Grüße Eisbaeeer

    Hi Eisbaeer,

    kannst du deinen aktuellen Code mit der Hilfsvariable rein stellen
    bzw mir zumailen?

    Weitere Frage: is irgendwo noch eine Sammelbestellung zu RF12-Modulen
    im Gange, je nach Preislage würde ich 10 bzw. 20 Stück ordern.
    Wer dazu was weis....bitte melden

    mfg
    Kurzschluss



    Re: Fehlermeldung Probleme

    Eisbaeeer - 10.12.2007, 12:48


    Kurzschluss hat folgendes geschrieben:
    Hi Eisbaeer,

    kannst du deinen aktuellen Code mit der Hilfsvariable rein stellen
    bzw mir zumailen?

    mfg
    Kurzschluss

    Hier für alle:

    http://www.radio-scouting.de/upload/inc_RF12-Treiber.bas

    Die Abfrage nach dem Bit muss ins Hauptprogramm. In der inc ist nur die Variable und die Abfrage des Status eingebaut. Mache ich immer vor dem Senden:

    Code:
    If Rf12_status.11 <> 0 Then Gosub Rf12_initialize


    Ich hab dann einfach aus der Initialisierung am Anfang ein eigenes Sub gemacht, das ich dann aufrufe, wenn der Status 1 ist:

    Code:
    '------[ Rf12 Initialize ]------------------------------------------------------
    Rf12_initialize:
    Set Led1
    Print "Init RF12 ..."
    Call Rf12_init                                              '  ein paar Register setzen (z.B. CLK auf 10MHz)
    Call Rf12_setfreq(rf12freq)                                 '  Sende/Empfangsfrequenz auf 433,92MHz einstellen
    Call Rf12_setbandwith(4 , 1 , 4)                            '  200kHz Bandbreite, -6dB Verstärkung, DRSSI threshold: -79dBm
    Call Rf12_setbaud(rf12baud)                                 '  19200 baud
    Call Rf12_setpower(0 , 6)                                   '  1mW Ausgangangsleistung, 120kHz Frequenzshift
    Print "Init RF12 Done"
    Reset Led1
    Return


    Hoffe das reicht aus, um alles anzupassen.

    Grüße Eisbaeeer



    Re: Fehlermeldung Probleme

    Trexis5 - 10.12.2007, 20:54


    Zitat: wenn die Frequenz wegläuft.

    Wie merkt man das?

    Also mein modul läuft seit 2 Tagen durch.



    Re: Fehlermeldung Probleme

    avrnix - 10.12.2007, 22:00


    Du kannst keine Verbindung aufbauen erst nach einen Reset geht alles wieder. Und dann Stunden oder Tagen das gleiche Problem - siehe anfang des Freds - techbisch wird ein Statusbit geändert , welches Eisbeer abfragen tut und dann den RF12 ein neues INIT gibt ( RF12_Init wird neu aufgerufen )



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum www.comwebnet.de

    Das - Benachrichtigen bei Antworten - per Emai oft als... - gepostet von avrnix am Mittwoch 24.01.2007
    Spannunglieferant - gepostet von avrnix am Samstag 31.03.2007
    HF Technik Grundlagen -Reflexionen - wie mache ich mein Layo - gepostet von avrnix am Mittwoch 16.05.2007



    Ähnliche Beiträge wie "Fehlermeldung Probleme"

    LOGIN-PROBLEME AUF SPACKENSERVER - Der Uffz (Freitag 26.01.2007)
    Probleme mit unserem besten Freund - F(to-the)RIEDI (Samstag 02.06.2007)
    DF4 Probleme mit hochgelegtem DD-Heck & Piccobord - oilhand (Donnerstag 22.02.2007)
    Probleme im Turnier - Anonymous (Sonntag 04.09.2005)
    befestigungs Probleme - Fossil (Freitag 23.11.2007)
    Probleme(Bugs) - chrisack (Freitag 21.07.2006)
    DSL 16.000 Probleme - jagger (Samstag 20.05.2006)
    Farming-Probleme - king_louie (Donnerstag 04.01.2007)
    Probleme - lenastrebost (Dienstag 09.05.2006)
    Probleme bei den HÜ´s - Thei Tailor (Donnerstag 19.10.2006)