- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 28

Thema: Library für Bascom erstellen

  1. #11
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Anzeige

    Praxistest und DIY Projekte
    Sind ja zwei Aspekte da, die nicht direkt zusammenhängen:
    1 Modularisierung: Irgendwann hat man das x-te mal irgendeine Logik ausprogrammiert, dann will man das Zeugs eigentlich nicht mehr sehen und einfach nur als Baustein in der Lade haben.
    2 Improvement: Beschleunigung des Codes oder sonstige Verbesserungen (?). Da hat der Pepi schon dargestellt, dem möcht' ich mich anschließen, ernsthaft verbessern kann man nur, indem man irgendwelche Tricks anwendet, die der brave Kompiler state-of-art so einfach nicht machen kann.

    Den ersten Aspekt würd ich voll unterstützen.
    Beim zweiten kommt's immer drauf an, da mag man diskutieren.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  2. #12
    Erfahrener Benutzer Roboter Experte Avatar von Rage_Empire
    Registriert seit
    10.03.2005
    Ort
    Pforzheim
    Beiträge
    710
    Bei mir handelt es sich um den 1. Aspekt:

    Es geht um das Busprotokoll Snap. Ich habe ein Bascom Source geschrieben, welcher Mit diesem Busprotokoll empfangen und senden kann (klingt im Moment noch einfach). Jedoch kann dieser Source auch beschränkt headers erstellen und die Schnittstelle vor dem Senden Prüfen, ob diese gerade frei ist. Auch die Berechnung der Checksummen ist hier vorhanden. Da das Busprotokoll so flexibel ist, daß je nach Anwendung das Eine oder Andere von den grobe detailierten Aufgaben verwendet wird und der Rest unbenzuztz belibt, ist es Platzverschwendung jedesmal alles zu integreieren. Somit wäre eine Lib flexiebler und einfacher. Der Source ist in Bascom jedenfalls (Compiliert) fast 2kb groß, was den Platz von einem Tiny schon alleine vollstopft. Die Programmabschnitte voneinander trennen und einzeln per Include aufrufen funktioniert nicht, da sie sich je nach konfiguration gegenseitig brauchen.

    Vieleicht hat jemand schon solch eine Lib geschrieben?

    Will aber hier auch nicht zu sehr auf den Bus-Source eingehen, da mich das mit den Libs im Allgemeinen intressiet. Die Idee von MCS mit den Libs ist gut, nur für die eigene Awendung finde ich es sehr unhandlich.

  3. #13
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Zitat Zitat von Rage_Empire
    ..handelt es sich um den 1. Aspekt
    Ich hab's auch so verstanden.
    Damit das (unabhängig von Asm oder sonstwas) den gewünschten Effekt hat, müßt das ganze schön in unabhängige Module zerlegt sein (oder werden), daß erst durch die Haupt-Applikation das aktuelle Set zusammengestellt wird.
    Wegen des Asm-Codes kann ich schon helfen, du müßtest mir deinen Bascomcode (.BAS) oder das (INTEL)-HEX schicken, dann kann ich dir das dann als ASM zurückschicken, damit's nicht gar so eine Arbeit ist.
    Aber hilft dir das ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  4. #14
    Erfahrener Benutzer Roboter Experte Avatar von Rage_Empire
    Registriert seit
    10.03.2005
    Ort
    Pforzheim
    Beiträge
    710
    Wenn ich es in unabhängige Module zerlege, wird der Source noch größer.
    Wie ist es eigentlich mit dem Konfigurieren? Bei der I2C-Lib geht das über Config...blabla....
    Aber geht das so allgemein, oder wird das von Bascom aus so unterstützt?
    Weil da sehe ich auch noch ein Problem darin.

  5. #15
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.11.2004
    Ort
    Hard, Vorarlberg
    Beiträge
    155
    Hier könnte vielleicht die bedingte Kompilierung etwas helfen. Wenn Du im Programm eine Konstante setzt, welche eine Aussage über die genutzten Programmteile macht, kannst Du mit

    #IF SNAP_Prot = 1 then

    #ELSE

    #ENDIF

    Ist nicht unbedingt, was man sich unter einer eleganten Programmierung vorstellt, aber für den Moment möglicherweise eine brauchbare Lösung.

    Mark Alberts arbeitet derzeit an einen Re-Design des Compilers, welcher dann auch BASIC-Code in Librarys möglich macht. Dann ist das gezielten Linken von benötigtem BASIC-Code möglich.
    Ein Fertigstellungszeitpunkt ist mir nicht bekannt und nehme an, es wird noch etwas dauern,
    Viele Grüße
    Josef
    -------------------------------------------------------------------------------------
    DOS-File System für BASCOM-AVR auf http://members.aon.at/voegel

  6. #16
    Erfahrener Benutzer Roboter Experte Avatar von Rage_Empire
    Registriert seit
    10.03.2005
    Ort
    Pforzheim
    Beiträge
    710
    Habe ich schon Versucht, aber wenn keine Konstannte gegeben ist (falls eine Funktion nicht gebraucht wird) funktioniert es schon nichtmehr.

    Wünschen wir Mark Alberts viel Erfolg!

  7. #17
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Diese (bedingten) Präprozessor-Anweisungen sind schon ok. Ich verwend' das oft, wenn ich z.B. die gleiche physische Source für verschiedene Plattformen verwenden will (um redundanzen zu vermeiden)

    Rage-empire hat ja auch nur dann was davon, Realtime-dynamik würde ja nix nutzen.

    Es kann durchaus sinnvoll/effektiv sein, für die verschiedenen SNAP Applikationen mit Cut & Paste angepaßte Sourcen / Module zu erzeugen.
    Besonders, wenn eh nicht mehr dran gebastelt wird.

    Es soll nicht verschwiegen werden, daß es ganzschön anspruchsvoll sein kann, ein Programm gut und zweckmäßig zu strukturieren.
    Denk mal dran, du müßtest z.B. ja den "$Crystal" Parameter in diverse Timing-Routinen berücksichtigen können.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  8. #18
    Erfahrener Benutzer Roboter Experte Avatar von Rage_Empire
    Registriert seit
    10.03.2005
    Ort
    Pforzheim
    Beiträge
    710
    man kann auch Asm in Bascom direkt einbinden, benötige dafür keine Libs. Es geht um die allgemeine Library- Funktion und diese ist unstreitbar beschränkt auf ASM, was ich für den user des Bascom- Intrepreter an sich zum Nachteil empfinde. Sicherlich ist es von Vorteil, das Bascom auch ASM unterstützt, gar keine Frage. Aber die Lib- Funktion ist darauf beschränkt und hat somit gar nichts mit der Bascom Interpretierung zu tun....? ->Unlogisch

  9. #19
    Erfahrener Benutzer Roboter Experte Avatar von Rage_Empire
    Registriert seit
    10.03.2005
    Ort
    Pforzheim
    Beiträge
    710
    War da eben nicht noch ein Posting?

  10. #20
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.11.2004
    Ort
    Hard, Vorarlberg
    Beiträge
    155
    Was mir an deinem Programm noch nicht klar ist?:

    Hast Du alle Funktionen in SUBs zw. FUNCTIONs welche aus dem Programm aufgerufen werden. Gibt es für verschiedene Optionen verschiedene SUBs/FUNCTIONs oder wird innerhalb eines Programmteile (SUB/FUNCTION) je nach Option ein Teil nach Bedarf verwendet. Wieviele Verwendung-Optionen gibt es für diese Programmpaket
    Viele Grüße
    Josef
    -------------------------------------------------------------------------------------
    DOS-File System für BASCOM-AVR auf http://members.aon.at/voegel

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress