Firmware erstellen lassen

Gast #1396993
Hallo,

ich plane eine Kinosteuerung, die ähnlich meiner arbeitet.

Damit ich aber nicht für jeden Kunden eine Software individuell 
erstellen muss, habe ich da an eine Art Software gedacht, die ich den 
Kunden mitliefere und er sich dann selber Dimmszenen ect. erstellt und 
die im Chip per RS232 einspielt.

Also Programmiersoftware nutze ich Bascom.
Das eigentliche Programm soll die Dimmergeschichten enthalten

Wie kann man sowas anstellen, damit man eine Firmware erstellen lassen 
kann?
Will jetzt nicht komplett ins Detail gehen, mir gehts erstmal grob um 
die Möglickeit...

Gruß
Papsi
Persönliche Seite
Dimmszenen sind ja kein Programm im eigentlichen Sinn.

Man kann das ja so auslegen, dass es eine bestimmte Datenstruktur gibt, 
die die Szenen beschreibt. Diese Struktur kann in einem separaten 
Speicherbereich (z.B. EEPROM oder separater Flash-Page des Controllers) 
liegen.

Der Kunde kann dann mit einem PC-Programm nur auf diesen separaten 
Speicherbereich schreiben, der vom eigentlichen Programm ausgelesen und 
interpretiert wird.

So hat der Kunde bei geeigneter Lock und Fusebit Einstellung keinen 
Zugriff auf den Code aus dem Controller.

Grüße,

Peter
Gast
Und wie verhält sich das bei Makros?

Bei einer Lampe ist es mir ungefähr klar.
z.B.
Kanal-Anfangshelligkeit-Endhelligkeit-Dimmzeit
"01-000-100-5000"
Das wäre Kanal 1 von 0% auf 100% in 5000ms
Diese Zeichenkette könne ich dann von der Software senden und fest 
einspeichern bzw. einem IR Kommando zuweisen.

Nur sollen die User sich ja auch Makros erstellen können.
Der eine User will dann 10 Abläufe einspeichern und mache 100
Dazwischen evtl. noch Pausen einfügen, damit nicht alle 100 Aktionen auf 
einmal ablaufen.
Persönliche Seite
Ich würde die Makros in ASCII speichern und vielleicht so aussehen 
lassen:

Makronummer-Kanal-Aktion-Parameter1-Parameter2-Parameter3-Endezeichen

Beispiel:

12-301-1-50-80-10-e

Bedeutet, das ist Makro 12, angesprochen wird Kanal 301, was z.B. eine 
Lampe ist, Aktion ist 1 (Dimmen), gedimmt von 50% auf 80% in 10 
Sekunden. Das e (e = end) kennzeichnet, dass das das Ende des Makros ist 
und danach ein anderes Makro kommt.

Ist das kein e, sondern ein c, bedeutet das, dass die Makroliste hier zu 
ende ist (c = close) und kein weiteres Makro danach kommt.

Mit so einer Struktur ließe sich das speichern. Die lässt sich auch 
einfach über die serielle Schnittstelle übertragen.

Grüße,

Peter
Hallo!

Der interne EEProm bietet - bei einer Binärspeicherung - viel Platz. 
Solltest du mehr Platz brauchen (Stichwort: "Der eine User will dann 10 
Abläufe einspeichern und mache 100")
empfiehlt sich ein externer Flash / eeprom oder gleich eine SD-Karte. 
Damit hättest du dann Platz ohne Ende. Programmiertechnisch brauchst du 
etwas wie einen "Interpreter", dh etwas, das solche Makros / Kommandos 
einliest und dann in z.B. so ein Dimmverhalten umsetzt.
Um das ganze noch komplizierter zu machen, können vielleicht mehrere 
Makros gleichzeitig ausgeführt werden (Licht aus und Vorhang auf 
gleichzeitig). Dabei bist du dann aber auf den RAM des Controllers 
limitiert ;-)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.