VarioGPS-Sensor

21 Nov 2017 22:24 #43 von nightflyer88
Hallo Volker

Ja da hat sich beim Speicher optimieren und umstrukturieren leider ein Fehler eingeschlichen. Mit V2.0.1 sollte dies behoben sein.

Gruss Michael

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

22 Nov 2017 11:54 #44 von onki
Hallo,

denkt bitte daran dass die ACS758 "Auslaufmodelle" sind und die Verwendung des ACS770 empfohlen wird.

Gruß
Onki

Gruß aus dem Nordschwarzwald
Rainer aka Onki
www.onki.de
gepostet unter Verwendung von 100% recycelter Elektronen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

23 Nov 2017 01:13 #45 von FuniCapi
Hallo zusammen

Ich hab nun nach einigen Abenden programmieren aufgegeben. Mein Line Fit Code fürs Vario liess sich nicht vernünftig ins RCT Vario/ VarioGPS-Sensor integrieren. Der Grund ist einfach die unglaublich lange Zeit welche die Funktion SendFrame den Prozessor blockiert. Ganze 70 - 80 ms dauert es mit der SoftwareSerial Lib bis das Jeti Frame gesendet ist. Damit lässt sich das Sampling welches ich bei meinem Sensor alle 15ms mache nicht umsetzen.

@ Volker
Wenn du meinen Code testen möchtest musst du das Signalkabel zum Empfänger vom Pin D3 auf den Pin TX umlöten.

@ Michael
Hast du eine Ahnung ob das Senden mit der SoftwareSerial Lib irgendwie schneller geht? Mit dem Hardware-UART dauert das Senden eines Frames mit Bernds JetiExProtocol Lib nur ca. 3 ms.

Gruss Lukas

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

23 Nov 2017 08:39 #46 von VOBO
Hallo Lukas,

Ich bin aktuell mit anderen Projekten beschäftigt.
Ich habe aber noch ein RCT-Vario (mit BMP280) das ich auf TX umlöten kann. Dort würde ich dann auch gerne noch eine Spannungsmessung nachrüsten.

Ich werde mir deinen Code gerne mal anschauen und ausprobieren.

Könntest du einen Link zur aktuellen Version noch reinstellen?

Danke, Volker.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

23 Nov 2017 10:39 - 23 Nov 2017 10:48 #47 von ThLehmann

FuniCapi schrieb: ...die unglaublich lange Zeit welche die Funktion SendFrame den Prozessor blockiert. Ganze 70 - 80 ms dauert es mit der SoftwareSerial Lib bis das Jeti Frame gesendet ist....

@ Michael
Hast du eine Ahnung ob das Senden mit der SoftwareSerial Lib irgendwie schneller geht? Mit dem Hardware-UART dauert das Senden eines Frames mit Bernds JetiExProtocol Lib nur ca. 3 ms.

Gruss Lukas


Hallo Lukas,

die SoftwareSerial ist Käse, sorry. Dort wird jedes BIT per Schleife mit entsprechender Verzögerung gesendet und somit die gesamte CPU Power verschwendet. Das funktioniert nur wenn man keine Zeitrelevanten Aufgaben erledigen möchte.
Bernd's Lib nutz den UART, d.h. der Frame wird in einen Speicher kopiert und die Übertragung übernimmt die Hardware, sobald ein Zeichen gesendet wurde gibt es einen Interrupt und es muss lediglich das nächste zeichen aus dem Speicher in den UART übertragen werden. Das läuft dann ohne nennenswerte CPU Belastung.

Bei meinem XSensor Projekt ist der GPS Sensor auch seriell angebunden, hierfür habe ich eine Lib gefunden (AltSoftSerial) die über Timer IRQ die BIT's versendet/empfängt. Performancemäßig natürlich nicht so optimal wie per UART, aber durchaus ausreichend und vergleichbar da die Daten im IRQ versendet werden und die CPU nicht lahmgelegt wird.

Viel Erfolg

immer schön vorsichtig landen
Gruß, Thomas

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

23 Nov 2017 12:09 #48 von VOBO
Hallo nightflyer88,

habe mir etwas Zeit genommen die V2.0.1 zu testen.
Funktioniert jetzt.
Beim Compilieren kommt aber die Warnung:

Der Sketch verwendet 30028 Bytes (97%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
Globale Variablen verwenden 1539 Bytes (75%) des dynamischen Speichers, 509 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
Wenig Arbeitsspeicher verfügbar, es können Stabilitätsprobleme auftreten.

Ich denke da müsstest du mal über etwas Optimierung nachdenken.

Erstaunlich ist das beim OXS-Projekt mit ähnlicher Aufgabenstellung weniger als die Hälfte Speicherplatz benötigt wird:

Der Sketch verwendet 13974 Bytes (45%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
Globale Variablen verwenden 989 Bytes (48%) des dynamischen Speichers, 1059 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.

Gruß Volker

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.160 Sekunden

Impressum