Binäreingang 4x 8x 16x / Tasterinterface mit LED 2x 4x 6x für TS-ARM

Fragen und Diskussionen zur Entwicklung von neuen Geräten. Sowohl Hardware als auch Software. English is welcome.
uwe223
Beiträge: 35
Registriert: 26. Sep 2015, 10:56

Binäreingang 4x 8x 16x / Tasterinterface mit LED 2x 4x 6x für TS-ARM

Beitrag von uwe223 »

Hallo,

ich habe mal das Projekt "software-arm-incubation\sensors\binary-inputs\in16-bim112" etwas erweitert und an die TS-ARM angepasst.
Per Compileroption können jetzt folgende Applikationen übersetzt werden:
-DBI16 --> Binäreingang 16fach
-DBI8 --> Binäreingang 8fach
-DBI4 --> Binäreingang 4fach
-DTI6L --> Tasterinterface mit LED 6fach
-DTI4L --> Tasterinterface mit LED 4fach
-DTI2L --> Tasterinterface mit LED 2fach
-DTI2 --> Tasterinterface 2fach

Mit der Option -DTS_ARM werden die Eingänge der TS-ARM verwendet (Belegung bitte in der config.h nachsehen)
Und mit -DINVERT sind die pull up Widerstände eingeschaltet und die Eingänge schalten nach Masse (wie beim original Tasterinterface)

So grob scheint das alles zu funktionieren. Zum testen würde ich jetzt einige Varianten kompilieren wollen.
Wäre eine Dateibezeichnung a la TI6L_TS_ARM_INV.hex sinvoll?
Sollte man eine Versionsnummer mit im Dateinamen unterbringen?
Wie stellt man es an, das man mehrere Varianten automatisch kompiliert und die alle mit verschiedenen Dateinamen im gleichen Ordner landen?

Gruß
Uwe
Zuletzt geändert von Doumanix am 13. Jan 2022, 22:00, insgesamt 1-mal geändert.
Grund: Tags

Tags:
Doumanix
Beiträge: 508
Registriert: 7. Nov 2017, 16:33

Re: Binäreingang 4x 8x 16x / Tasterinterface mit LED 2x 4x 6x für TS-ARM

Beitrag von Doumanix »

Hallo Uwe,

danke für das Update! Coole Sache!
Ich warte gerade noch auf eine Lieferung aus CN, dann baue ich mir eine TPUART Platine nach Entwurf von Monster50 auf... hoffe, dass ich dann eine zuverlässige Schnittstelle habe. Ansonsten muss ich doch noch eine kaufen. Dann Teste ich deine Entwicklungen auf jeden Fall mal aus. Oder ich habe Glück und die lassen sich auch mit meiner FT1.2 programmieren.

Zur Frage der Namensgebung: ich hab mal angefangen ein einheitliches Schema mir zu überlegen: http://selfbus.myxwiki.org/xwiki/bin/vi ... ventionen/
Ist aber "beta" und bisher nur mein Mist, der sich darin wiederfindet.

Auch habe ich noch keine Abkürzungen für Code-Repos berücksichtigt sondern nur Bezeichnungen für die Dokumentation. Mein Vorschlag:
{Bausteintyp} {Bausteinname} {Prozessorvariante} - {Einbaugröße} - {besondere Eigenschaft} - {Version}

--> Würde also bedeuten (du meintest ein Einbaumodul, oder? Oder ein Hutschienengerät?): Einbaumodul 16fach Binäreingang ARM - v1.0

Wobei mir gerade auffällt, dass die BCU Variante fehlt *kopfkratz*

Gruß
Christian
Doumanix
Beiträge: 508
Registriert: 7. Nov 2017, 16:33

Re: Binäreingang 4x 8x 16x / Tasterinterface mit LED 2x 4x 6x für TS-ARM

Beitrag von Doumanix »

Uwe, hast du deine aktuelle .cproject auch comittet?
Ich bekomme folgenden Fehler:

../src/app_in.cpp:14:20: fatal error: app_in.h: No such file or directory

Denke da fehlt ein include...
Doumanix
Beiträge: 508
Registriert: 7. Nov 2017, 16:33

Re: Binäreingang 4x 8x 16x / Tasterinterface mit LED 2x 4x 6x für TS-ARM

Beitrag von Doumanix »

Hi Uwe,

zum Generieren mehrerer Verisonen inlusive SW-Version: Ich habe mal meine .cproject ins Git geladen.

Damit werden, wenn man auf "Build Configurations" --> "Build All" geht, schon mal 2 Varianten (nicht in einem Ordner, sondern jeweils in einem eigenen) erzeugt: Release BI16 und Release BI8. In beiden Ordnern findet man je eine .axf, eine .bin und eine .hex.

Letzteres erreicht man übrigens durch die ersten drei Zeilen, die ich in die Post-build steps unter dem Reiter Build Steps eingetragen habe:

Code: Alles auswählen

arm-none-eabi-size "${BuildArtifactFileName}"
arm-none-eabi-objcopy -O binary "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin"
arm-none-eabi-objcopy -O ihex ${BuildArtifactFileName} ${BuildArtifactFileBaseName}.hex
# checksum -p ${TargetChip} -d "${BuildArtifactFileBaseName}.bin"
# checksum -p ${TargetChip} -d "${BuildArtifactFileBaseName}.hex"
Damit kann man dann auch per FlashMagic den ARM programmieren.

Den Rest habe ich wie folgt hin bekommen (keine Ahnung, ob das nun recht elegant oder echt mies ist:
1. Neue Konfiguration anlegen, von Release kopiert
2. Build Variablen definieren und auf alle Konfigurationen anwenden (bcu_type) oder je nach Konfiguration anpassen (num_inputs)
1_build_vars.JPG
1_build_vars.JPG (39.13 KiB) 5866 mal betrachtet
3. den Namen der erzeugten Datei nicht nach dem Workspace-Verzeichnis benennen, sondern als Kombination meiner Variablen
2_artefact_name.JPG
2_artefact_name.JPG (46.91 KiB) 5866 mal betrachtet
4. In den Preprocessor Settiongs die fixen Konstanten rausschmeissen und durch die neuen Build Variablen ersetzen
3_preprocessor_settings.JPG
3_preprocessor_settings.JPG (69.36 KiB) 5866 mal betrachtet
Grüße
Christian
uwe223
Beiträge: 35
Registriert: 26. Sep 2015, 10:56

Re: Binäreingang 4x 8x 16x / Tasterinterface mit LED 2x 4x 6x für TS-ARM

Beitrag von uwe223 »

Hallo Christian,

ja ich meine das Einbaumodul TS-ARM.
Die .cprojekt hatte ich eigentlich mit dabei, aber es funktioniert ja jetzt.
Das mit den Variablen und der .hex klappt prima, da habe ich gleich nochmal die Var. "hardware" hinzugefügt,sieht dann so aus: BI8-TS_ARM-BIM112_V1.0.axf
Das ist wichtig, weil ich auch noch eine Variante für 2TE und 4TE Hutschiene erstellen will.
Wenn man jetzt noch die .hex automatisch in einen extra Ordner umbiegen könnte würde ein Build all und dann commit/push reichen.

Gruß
Uwe
Hendrik
Beiträge: 167
Registriert: 3. Aug 2015, 15:16
Wohnort: Heidelberg

Re: Binäreingang 4x 8x 16x / Tasterinterface mit LED 2x 4x 6x für TS-ARM

Beitrag von Hendrik »

Hallo Uwe!

Zunächst einmal vielen Dank, dass Du Dich dieses Projektes angenommen hast! Bei mir stand es auch schon ewig auf der Wunschliste, und letztes Wochenende hatte ich auch endlich mal damit angefangen es zu debuggen.

Hast Du die in16-bim112 mal erfolgreich auf einer TS-ARM getestet? Mein Problem damit (und das besteht schon immer, nur hatte ich noch keine Zeit, es näher zu untersuchen) ist, dass ich schon beim Schreiben der physikalischen Adresse in writeUserEeprom() einen fatal error bekomme. Das habe ich eben mit einem frischen git clone von software-arm-lib und software-arm-incubation reproduziert, mit folgenden Änderungen:

- BI16 statt BI8
- sblib statt sblib-cpp (wo auch immer das "-cpp" her kommt?!?)

Funktioniert das bei Dir?

EDIT: Ganz konkret ist in writeUserEeprom() gleich nach dem ersten Schreibversuch die Variable rc == IAP_COMPARE_ERROR.

Viele Grüße,

Hendrik
uwe223
Beiträge: 35
Registriert: 26. Sep 2015, 10:56

Re: Binäreingang 4x 8x 16x / Tasterinterface mit LED 2x 4x 6x für TS-ARM

Beitrag von uwe223 »

Hallo Hendrik,

ja ich habe hier eine TS-ARM mit der ich das alles getestet habe. Ich denke ich habe alle Konfigurationen mindestens einmal geflasht und PA&Applikation geladen.
Weiter habe ich alle 16 Eingänge mit verschiedenen Konfugurationen z.B.:
-Schalten steigend/fallend;Umschalten steigend/fallend; Zustand senden; Wert senden steigend/fallend/beide; Zustand mit Einschalt/Ausschaltverzögerung
-Dimmen einflächen/zweiflächen; Jalousie; Szene ohne/mit speichern; Sperrobjekt
-Logikfunktion und/oder mit internen und externen Objekten
-LED Ausgang mit pulsen bei unbekanntem Objektstatus/AnAus invertiert/Blinken bei Ein

Das hat alles zu meiner Zufriedenheit funktioniert. Die SW sollte eigentlich alle Funktionen wie im Handbuch beschrieben unterstützen.

Was noch nicht geht ist das partielle Programmieren aus der ETS, da bekomme ich immer die Fehlermeldung, das die falsche Applikation geladen sei.

Ein Problem mit dem schreiben der PA hatte ich anfangs auch, lag aber wohl nur an der verbogenen Einstellung des progPin in der SW.

sblip-cpp stammt noch aus alten Zeiten vor der Umstellung der sblib, ich hatte das im Projekt aber schon alles berichtigt. Es deutet darauf hin, das du doch nicht das aktuelle Projekt übersetzt?

Gruß
Uwe
Hendrik
Beiträge: 167
Registriert: 3. Aug 2015, 15:16
Wohnort: Heidelberg

Re: Binäreingang 4x 8x 16x / Tasterinterface mit LED 2x 4x 6x für TS-ARM

Beitrag von Hendrik »

Hallo Uwe,

ich baue definitiv das richtige Projekt. In 064f508658c1cb2b5cfe450fc1f70eedd7c0d33e (Mon Feb 5 22:18:30 2018) verweist das Projekt immer noch auf sblib-cpp:

Code: Alles auswählen

hoeth@rigel:.../software-arm-incubation/sensors/binary-inputs/in16-bim112$ grep -r sblib-cpp .
./.cproject:                                                                    <listOptionValue builtIn="false" value=""${workspace_loc:/sblib-cpp/inc}""/>
./.project:             <project>sblib-cpp</project>
hoeth@rigel:.../software-arm-incubation/sensors/binary-inputs/in16-bim112$
Was mein Problem mit dem Schreiben der PA betrifft: Ich habe mit bim112-Applikationen schon immer Probleme. Ein Jalousieaktor (LPC1115-4TE controller) braucht manchmal zehn Anläufe, bis ich neue Einstellungen aus der ETS auf den Aktor bekomme, und bim112-Anwendungen auf der TS-ARM habe ich noch nie zum Laufen gebracht. Ich vermute seit gestern Abend aber ein Hardwareproblem, und Deine Aussage, dass es bei Dir läuft, bestätigt das. Ich mache dazu mal einen eigenen Thread auf.

Ciao,

Hendrik

EDIT: Das "bim112 auf TS-ARM habe ich nie zum Laufen gebracht" Problem hat sich gelöst. Wenn ich in LPCXpresso beim Flashen "mass erase" auswähle, wird diese Option kurzerhand ignoriert.
Zuletzt geändert von Hendrik am 25. Feb 2018, 21:30, insgesamt 1-mal geändert.
mff
Beiträge: 97
Registriert: 26. Sep 2013, 14:53

Re: Binäreingang 4x 8x 16x / Tasterinterface mit LED 2x 4x 6x für TS-ARM

Beitrag von mff »

uwe223 hat geschrieben: Was noch nicht geht ist das partielle Programmieren aus der ETS, da bekomme ich immer die Fehlermeldung, das die falsche Applikation geladen sei.
Das Verhalten kenne ich aber von einigen offiziellen Geräten (ABB/BJ), vor allem neuerer Bauart auch...
Gruß
mff
------
uwe223
Beiträge: 35
Registriert: 26. Sep 2015, 10:56

Re: Binäreingang 4x 8x 16x / Tasterinterface mit LED 2x 4x 6x für TS-ARM

Beitrag von uwe223 »

...und ich dachte immer die wären zertifiziert :roll:
Antworten