CUL mit timestamp option

Begonnen von martinp876, 02 Juni 2014, 19:00:31

Vorheriges Thema - Nächstes Thema

martinp876

Hi Ansgar,

hier die Testversion von 00_CUL

Gruss Martin

martinp876

Hi,

hier eine Version, die eine timingkorrektur beinhaltet

Gruss Martin

martinp876

Version mit Versionsprüfung

martinp876


noansi

Hallo Rudolf,

wie Du ja schon erfahren hast, habe ich mit Martin zusammen einen TimeStamp Modus für AskSin in die CUL Firmware eingebaut.

Für Hardware mit freiem Timer 3 nutze ich diesen für volle ms Genauigkeit, um den Zeitstempel zu ermitteln.

Mittlerweile habe ich auch die Option für Timer 0 drin, mit dem dann in 4ms Inkrementen ohne IRRX/TX und 8ms Inkrementen die TimeStamp Option nutzbar ist. Da mir die Hardware CUL_V4 und CUL_V2 fehlt, kann ich es nur nicht selber testen. Daher halte ich die Begrenzung auf CUL_V3, die Martin derzeit drin hat, bis zum erfolgreichen Test durch Freiwillige für gerechtfertigt.

Für andere Hardwareplattformen habe ich es auch schon vorbereitet, so dass nach Check der Verfügbarkeit von Timer 3 die entsprechende Buildoption nur noch in board.h aktiviert werden muss (Kommentar entfernen), um die Firmware zu compilieren. Das müssten dann auch Freiwillige mit der entsprechenden Hardwareplattform übernehmen.

Meine Änderungen sind, falls nützlich, per define auch einzeln nutzbar und somit auch für andere Module nutzbar, auch ohne HAS_ASKSIN.

Da es jetzt viele geänderte Dateien im Quellcode sind, wie kann ich Dir die Änderungen zur Einpflege sinnvoll zukommen lassen?

Zum Development Forum habe ich noch keine Schreibrechte, kann also in den richtigen neuen Thread nichts einstellen. Auf Sourceforge auch nicht und will da natürlich auch nichts unwissend kaputt ändern.
Hier ist es eigentlich auch nicht richtig. Wenn Du mir dazu einige Tipps geben könntest, wäre das hilfreich.

Hier mal die Änderungen im kurzen Überblick:

ZitatVersion 1.60 (2014-06-07)
- Version number 1.60 and above needed for 00_CUL.pm to support AskSin TimeStamp mode.
- COC: makefile changed, name COC.radio_only -> COC_radio_only by noansi
- COC: AskSin support of ms TimeStamp mode. 1ms increment (Timer 3) by noansi
- CUL: AskSin support of ms TimeStamp mode. CUL_V2_HM 4ms increment (Timer 0), CUL_V4 4ms increment (Timer 0). by noansi
- CUL: AskSin support of ms TimeStamp mode. CUL_V3 1ms increment (Timer 3). by noansi
- all: board option HAS_ASKSIN_PLL_HELPER, HAS_ASKSIN_PLL_HELPER_TX for RX TX switching routines with PLL lock check for usage in other modules. by noansi
- all: board option HAS_MS_TIMER0, HAS_MS_TIMER3 for ms TimeStamp support in AskSin. May be used separately in other modules, too. HAS_MS_TIMER3 with 1ms increment. HAS_MS_TIMER0 with 4ms increment without HAS_IRTX or HAS_IRRX, 8ms increment with. by noansi
- clock.c: ms TimeStamp in Timer 0 interrupt routine. by noansi
- AskSin: Timer 3 interrupt routine for 1ms TimeStamp support. by noansi
- AskSin: ms TimeStamp mode support. Activate with At1 (messages AFF01ttttttttllmm*rr), deactivate with At0. Ping with Apaa* (answer AFF02ttttttttllaa*rr with rr=-138), only usable if TimeStamp mode is enabled. by noansi
- AskSin: changes in to RX and to TX switching. by noansi
- AskSin: robustness of AskSin-mode against missing PLL lock with recalibration. Display of respective error message. Disable messages with AP1, reenable with AP0. by noansi
- display.c: definition and routines for HEX conversion changed slightly (uint8_t instead of int8_t). Saves some bytes in program memory. by noansi

Gruss und Danke,

Ansgar.

noansi

#5
Hallo Rudolf,

hier mal ein zusammengefasster diff (mit Winmerge erstellt) zwischen meinen Änderungen basierend auf culfw-code-416-trunk\culfw\ und einem diese Nacht gezogenen culfw-code-419-trunk\culfw\

Teil1, weil es wohl die Grenzen sprengt.

Edit: hier gelöscht und kommt in ein anderes Forum.

Gruß, Ansgar

noansi

#6
Hallo Rudolf,

hier Teil2, weil es wohl die Grenzen sprengt.
Edit: Anpassung von Puffergrößen, um die (geringe) Speicherzusatzlast auszugleichen.

Edit: hier gelöscht und kommt in ein anderes Forum.

Gruß, Ansgar.

noansi

Hallo Zusammen,

zum Thema Firmware geht es hier weiter:

http://forum.fhem.de/index.php/topic,24436.0.html

Gruß, Ansgar.