LPCXpresso + sblib Starthilfe

Fragen und Diskussionen zur Entwicklung von neuen Geräten. Sowohl Hardware als auch Software. English is welcome.
Doumanix
Beiträge: 508
Registriert: 7. Nov 2017, 16:33

LPCXpresso + sblib Starthilfe

Beitrag von Doumanix »

Servus zusammen,

ich habe ehrlich gesagt noch nie was mit Hardware- / ARM-Programmierung zu tun gehabt, aber ein OM13087 hab ich mir dann halt doch besorgt. 8-)

Was mich irritiert / bei den ersten Schritten zum Stolpern bringt: die mitgelieferten Blink-Beispiele (jaha, man muss ja mal klein anfangen!) laufen alle wunderbar. Aber wenn ich das SB example-blink versuche zum Laufen zu bringen, passiert rein gar nichts.

Grund ist wohl: bcu.applicationRunning() steht in der sblib/main.cpp in Zeile 55 immer auf FALSE.
Wenn ich da einfach ein if (!bcu.applicationRunning()) draus mache, blinkts wunderbar.

Was mache ich falsch? Hat sich was mit dem OM13087 verändert? Stimmt was in der sblib nicht :?:

Hoffe, ihr könnt mir auf die Sprünge helfen.

Grüße
Christian
oldcoolman
Beiträge: 645
Registriert: 17. Mai 2013, 20:57
Kontaktdaten:

Re: LPCXpresso + sblib Starthilfe

Beitrag von oldcoolman »

Es wäre möglich dass die ETS das runnimg bit auf true setzt.( so ist es denke ich spezifiziert.)
liebe Grüße
Andreas
Florian
Beiträge: 161
Registriert: 8. Aug 2015, 23:25
Wohnort: Paderborn

Re: LPCXpresso + sblib Starthilfe

Beitrag von Florian »

Das ist genau richtig. Solange die ETS keine Applikation runtergeladen hat, bleibt applicationRunning() auf false. Genau das ist auch der Zweck der Funktion.

Oder um es genauer zu sagen: Es werden 3 Tabellen von der ETS geschrieben: Die Application Table, Address Table und Association Table. Der Zustand aller drei Tabellen wird am Ende des Downloads auf "Loaded" gesetzt. Und darauf prüft applicationRunning()

(Achtung: Das habe ich aus meinem Gedächtnis gekramt, ist schon ein bischen her...)
Doumanix
Beiträge: 508
Registriert: 7. Nov 2017, 16:33

Re: LPCXpresso + sblib Starthilfe

Beitrag von Doumanix »

Danke für die Hilfe euch beiden!
Verstehe ich und konnte ich auf die Schnelle so halbwegs im Code nachvollziehen.

Dann aber ne Frage zu den Codebeispielen im SB-Repo: die können dann ja so wie sie sind nicht funktionieren oder? Die laufen ja isoliert einfach ohne ETS. Dann ist da immer das Running-Bit auf FALSE und wenn darauf geprüft wird, wird das Beispiel nie auf meinem LPCExpresso laufen??
oldcoolman
Beiträge: 645
Registriert: 17. Mai 2013, 20:57
Kontaktdaten:

Re: LPCXpresso + sblib Starthilfe

Beitrag von oldcoolman »

Ich denke das ist historisch gewachsen. Ich hatte schon mal ein blinky am laufen, aber ich denke das war das beim expresso mitgelieferte. Vermutlich kam 'aplication running' erst viel später in die LIB und man hat an das Blinkbeispiel nicht mehr gedacht.
liebe Grüße
Andreas
StefanT
Beiträge: 268
Registriert: 17. Mai 2013, 08:18
Wohnort: Salzburg

Re: LPCXpresso + sblib Starthilfe

Beitrag von StefanT »

Die Mini Beispiele sind ziemlich alt, die Lib hat sich seither sicher verändert.
Sie brauchten auf jeden Fall keine ETS um zu funktionieren, einfach nur flashen.

Wobei die Beispiele auf den LPCxpresso zugeschnitten waren - eventuell blinkt da z.B. der falsche Pin.
Doumanix
Beiträge: 508
Registriert: 7. Nov 2017, 16:33

Re: LPCXpresso + sblib Starthilfe

Beitrag von Doumanix »

Doch der Pin ist schon der richtige. Ich habe es ja hinbekommen. Musste aber in der sblib das appRunning umdrehen auf if (!applicationRunning()) ...

Da kam also was in der lib dazu...
StefanT
Beiträge: 268
Registriert: 17. Mai 2013, 08:18
Wohnort: Salzburg

Re: LPCXpresso + sblib Starthilfe

Beitrag von StefanT »

Wir könnten da ein setApplicationRunning(true) in die Lib einbauen.
Mit einer Warnung dass man das bei normalen Geräten nicht verwenden soll.
Doumanix
Beiträge: 508
Registriert: 7. Nov 2017, 16:33

Re: LPCXpresso + sblib Starthilfe

Beitrag von Doumanix »

Ich greife den Thread auf, da es hier besser passt, als im Thread von Marios Dachfenstersteuerung über allgemeine sblib-Beispiele zu diskutieren.

@Mario: Es gibt in der sblib auf jeden Fall diverse Beispiele, auch wie man nen ds18x20 einbinden kann: https://github.com/selfbus/software-arm ... re-ds18x20

Auch hatte "klamm" mal ein Projekt gestartet, den ds18x20 an die TS ARM zu hängen. Ich habe sein Projekt auch vorliegen (die Sourcen), aber ich bekomme es nicht zum laufen. Ich habe insgesamt zu viele Stränge am laufen, da komme ich dazu aktuell einfach nicht. Ich könnte es also einfach mal ins Git laden, auch auf die Gefahr hin, da vielleicht eine neue Leiche zu erzeugen.

Aber zurück zum Beispielprojekt: das lief bei mir schon mal passabel. Ich hatte es auf einen 4TE ARM Controller gespielt. Wichtig ist, dass man mit dem bcu.running() aufpassen muss: im Beispiel wird die BCU nicht initialisiert. Dadurch tritt das Programm durch die fehlschlagende Prüfung nie in die Main-Loop loop() ein.
Workaround wäre, in der sblib/main.cpp auf (!applicationRunning()) zu ändern. Achtung: dann müssen natürlich die sblib und das Projekt neu übersetzt werden. Auf Dauer ist das natürlich nicht sauber, denn man muss immer dran denken, das wieder zurück zu drehen, wenn man ein nicht-Beisppiel-Projekt übersetzt. Aber zum Testen ist's erst mal ganz OK.

Grüße
Christian
Olli
Beiträge: 70
Registriert: 12. Aug 2014, 20:52
Wohnort: Moormerland / Ostfriesland

Re: LPCXpresso + sblib Starthilfe

Beitrag von Olli »

Hallo,

ich habe den DS18B20 im Projekt RTR_lcd_voc_rh_sensor-bcu1 erfolgreich eingesetzt.
In der Datei https://github.com/selfbus/software-arm ... ensors.cpp kann man sehen, dass das ganze recht einfach funktioniert.

Grüße,
Olli
Antworten