www.mikrocontroller.net

Forum: Compiler & IDEs Unöffentliche Hilfe bei meinem Programm


Autor: Tobias Tetzlaff (tobytetzi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein Programm in WinAVR für einen ATmega8 geschrieben.
Es läuft so weit ganz gut.
Nun habe ich noch ein paar Änderungen vorgenommen,
bekomme aber Timingprobleme.

Da es sich um ein Projekt handelt, welches mir kein Japaner oder Chinese 
einfach so nachbauen soll,
möchte ich das gesammte Programm ungern veröffentlichen.

Ich suche nun Hilfe, von jemanden, der sich das Programm mal ansieht,
um mir bei gewissen Problemen zu helfen.

Grundsätzlich handelt es sich um ein Rotor Display für einen 
Modellhubschrauber.

Evtl. lasse ich mich auf eine Entlohung ein, obwohl ich bis lang noch 
nicht wirklich große Verkäufe des Systems verzeichnen kann.

Ich hoffe hiermit, jemanden zu finden, der mich ein wenig unterstützt.

Liebe Grüße Toby

Autor: Javier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... Japaner oder Chinese ...

¡Buenos días!

Ningún problema. Es un forum español.

Adiós

Javier

Autor: Tobias Tetzlaff (tobytetzi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

denkst Du, das es hier keine "Neugierigen" Produktpiraten gibt?

Außerdem ist es nicht spanisch, ondern deutsch, oder? ;-)

Gruß Toby

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ketzerische Frage: Wenn du so genial bist, dass dein Rotordisplay alle
bereits im Internet mit Source-Code veröffentlichten in den Schatten
stellt, warum bist du dann nicht in der Lage, die Probleme selbst zu
lösen?

'tschuldigung, kam mir nur gerade so in den Sinn, soll andere nicht
davon abhalten, dich zu unterstützen.

Autor: Jurij G. (jtr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
D.h. du erwartest Hilfe bei einem kommerziellen Projekt unter NDA ohne 
Bezahlung. Ob sich da jemand findet?

Autor: Tobias Tetzlaff (tobytetzi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

nein, meine "Propeller" Clock stellt nicht andere in den Schatten.
Nur gibt es derzeit keine vergleichbaren Rotorblätter.
Ich möchte halt nicht, das jemand, ohne viel dafür zu tun,
meine Idee und Entwicklung einfach so nachbaut.

Ich sagte ja, das ich bereit bin, auch dafür zu bezahlen.
Nur wollte ich anmerken, das es noch nicht der "Verkausschlager" ist.
Das ich also nicht so viel investieren kann.
Kommt halt auf die Summe an.

Gruß Toby

Autor: Hannes Jaeger (pnuebergang)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann bleibt dir noch, jemanden einen Anteil am Verkauf als Gegenleistung 
für seine Arbeit anzubieten. Vielleicht findet sich ein Glücksritter, so 
wie damals in der New-Economy. Die meisten sind weiser geworden und 
arbeiten lieber für Geld als für gute Worte und Versprechungen.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was für ein kindischer Humbug. Stimmts: Deine nächste Frage wäre, wie Du 
ein Patent anmelden kannst. Ein weltweites natürlich.

Autor: I_ H. (i_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Japaner und Chinesen in einen Topf zu werfen ist schlimmer als Deutsche 
und <EU Land östlich von uns> in einen Topf zu werfen.

Japan hat das selbe BIP/Einwohner wie Deutschland... nur mal so zur 
Info. China hat 1/20stel davon.
Und Japan hat ~1.5mal so viele Einwohner, entsprechend auch ein ~1.5mal 
so hohes BSP wie wir.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geniale Programmierer wachsen nicht auf Bäumen sondern sind sehr rar 
gesät.

Man macht sich daher das Leben erheblich einfacher, wenn man erstmal 
davon ausgeht, daß man nicht dazu gehört. D.h. man postet einfach seine 
Programme und lernt aus den Reaktionen dazu.

Und wenn dann doch jemand diese Idee erfolgreich vermarken sollte 
können, dann weiß man wenigstens, daß man auf dem richtigen Weg ist.
Und als wirkliches Genie hat man dann ja schon die nächste Idee in 
petto.
Und man kann daraus lernen, wie der andere es zur Produktreife geführt 
hat (was in EU-Land ja alles andere als einfach ist).

In jedem Fall hat man aber wesentlich mehr gewonnen als mit 
übertriebener Geheimniskrämerei.


Peter


P.S.:
Ich wünsche mir manchmal sogar, daß Code abgekupfert wird, z.B. damit 
ich endlich mal Geräte prellfrei bedienen kann.

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich wünsche mir manchmal sogar, daß Code abgekupfert wird, z.B. damit
>ich endlich mal Geräte prellfrei bedienen kann.

Dann solltest du deinen bulletproof-tastenentpreller vielleicht nicht 
veröffentlichen, sondern Heimlichtuerei betreiben. Das schafft Neugier 
;-))


@ Tobias Tetzlaff (tobytetzi)

Vielleicht kannst du ja zumindest paar Details bekanntgeben:
- Was soll das Programm genau machen,
- Was macht es wirklich,
- Wie groß ist das Programm etwa,
- Wo denkst du ist das Problem,
- Was erwartest du beim Darüberschauen..?

Autor: Tobias Tetzlaff (tobytetzi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

@Gast, nein, dazu habe ich mich schon schlau gemacht.
Aber wenn auch nicht, was würde gegen die Frage sprechen?
Es gibt nunmal keine dummen Fragen, nur .... .

@I.H, ok, ich nehme hiermit meinen Kommentar zurück. ;-)
Auch wenn ich nur deutlich machen wollte, das kein anderer die Sache 
einfach so nachbaut.

@Peter, ich habe mich entschlossen, das Programm hier einzustelen.
Allerdings gehe ich nicht davon aus, genial zu sein, ich habe nur eine 
"meiner Meinung nach" geniale Idee gehabt, eine PropClock in einem Heli 
zu verwenden. ;-)

Ich habe nun auch wirklich keine Lust, mich über östliche EU Mitglieder, 
oder Japaner, Chinesen oder sonstige zu unterhalten.
Ich würde nun viellieber ein gut funktionierendes Programm erstellen,
indem ich hier etwas Hilfe bekomme.

Das ich kein "genialer" Programmierer bin, werdet ihr sehen, wenn ihr 
das Programm anseht, aber dazu soll es ja optimiert werden.

@Matthias, das Programm soll
pro Umdrehung eine IR Pulslänge auswerten
die Pulslänge bestimmt, was angezeigt werden soll
der IR Puls ist Startsignal der Anzeige
es soll einen 9 bit Wert "Offset" geben, der bestimmt, bei welcher 
Spalte das Bild anfängt
es soll bei einem bestimmten IR Puls die aktuelle Drehzahl im aktuellen 
Bild angezeigt werden.
...
...

Woran es liegt, das ich Timing Probleme habe?
Seit ich abfrage, ob der "Propeller" zwischen 2 bestimmten Spalten ist,
und in den Spalten aus einer 8x5 bit Schrift eine 16x5 Bit Schrift 
mache,
geht die Drehzahlanzeige nur noch bis etwa 1300 U/min. Danach steht nur 
Wirrwarr da.
Ich glaube stark daran, das zu wenig Zeit im Spalten Interrut zur 
verfügung steht, um auf die Spalte zu testen, und gleichzeitig die 
Schrift zu erhöhen.
Kurz gesagt, das INT Programm ist zu lang, denke ich.

Gruß Toby

Autor: Tobias Tetzlaff (tobytetzi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir ist grade noch was eingefallen:

Ich bin nicht davon ausgegangen, das es viele AVR Programmierer gibt,
die auch noch mit WinAVR programmieren, und auch noch RC Heli fliegen,
und zu guter letzt auch noch eine Propeller Uhr auf einen Heli basteln 
wollen.

Daher denke, dachte, ich, das die Resonanz nicht so groß sein könnte,
wenn ich einfach mal so meinen Code poste, und auf Hilfe hoffe.
Daher hatte ich schon eher speziell jemanden gesucht.

Allerdings weiß ich auch, das eine Mehrheit gemeinsam mehr schaffen 
kann,
als ein einzelner.

Soviel dazu.

Gruß Toby

Autor: Jurij G. (jtr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobias Tetzlaff wrote:
> ich habe nur eine
> "meiner Meinung nach" geniale Idee gehabt, eine PropClock in einem Heli
> zu verwenden. ;-)

Ist auch eine gute Idee, nur nicht neu ;)
Beitrag "rotordisplay guckt euch dass ma an"

Autor: Tobias Tetzlaff (tobytetzi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jurij,

ja, da geht es ja auch genau um mein System. ;-)

Es gibt derzeit noch kein vergleichbares.
Zumindest keines, welches so viele LEDs hat.

Es gibt wohl Prototypen, aber keinen, der es jeh Hardware Technisch zur 
Serie geführt hat. Haber bis lang alle nur in Holzblättern was 
eingebaut, aber nicht in GFK.
Schau mal unter www.NightGraphiX.de, dann auf Impressum, das sollte 
erklären, das es meines ist.

Prinzipiell funktioniert das System ja.
Nur habe ich noch ein paar Ideen, bei denen ich mit der Software 
Probleme habe.

Gruß Toby

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobias Tetzlaff wrote:
> @Peter, ich habe mich entschlossen, das Programm hier einzustelen.

Ohje ohje, der ganze Code in main.c... hm! Das wird wohl erst mal dauern 
bis man da durchblickt.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, da ist wirklich ne Menge Holz in vielen Interrupts.

Du solltest mal versuchen, soviel wie möglich in die Mainloop zu 
verlagern.
Z.B. Drehzahl und Spannung berechnen reicht völlig aus, wenn man das 
alle 0,5s einmal macht und nicht im Interrupt.

Und die ganzen Unterfunktionen solltest Du vor den Interrupts schreiben 
und als inline definieren, damit nicht unnötig Register gerettet werden.


Peter

Autor: I_ H. (i_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Musst halt aufpassen, Japaner und Chinesen sind sich nicht grün. Dagegen 
ist die Fußballfeindschaft D<->Holland nix.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobias Tetzlaff wrote:

> Nur habe ich noch ein paar Ideen, bei denen ich mit der Software
> Probleme habe.

Wenn du jetzt noch erzählst, welche eigentlich, dann steht ja der
Hilfe nicht mehr viel im Weg. ;-)

Autor: Tobias Tetzlaff (tobytetzi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jörg,

seitdem ich die 5x8 Schrift zu 5x15 wandele,
und die Drehzahl in einem bestimmen Fenster der Spalten anzeigen will,
geht die Drehzahlanzeige nur noch bis etwa 1300 U/min.
Außerdem flackert dann das Bild extrem hin und her.
Über 1300 U/min wird nur Wirrwarr angezeigt.

Ebenso nutze ich nicht mehr die Var Spalte als Spaltenwert,
sondern Spalte_Offset, das ist die Spalte mit Offsetwert, damit
das Bild in 512 Schritten gedreht werden kann.
Das brauche ich, da es Mechanisch nicht immer möglich ist,
den Sensor, bzw. den Magneten des IR Senders, an die 0 Position zu 
montieren.

Ich habe grade Peters Rat befolgt, und werde gleich einen Testflug 
machen.
Mal sehen, ob es schon etwas gebracht hat.

Ebenso versuche ich grade die neue Version etwas zu dokumentieren,
damit die einzelnen Funktionen, speziell die Interupts verständlicher 
werden. ;-)

Melde mich gleich nochmal.

Gruß Toby

Autor: Tobias Tetzlaff (tobytetzi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

also nach meinem Testflug kann ich sagen,
das das Bild wieder stabil ist.
Leider geht die Drehzahl Anzeige noch nicht richtig.
Bis 1300 geht es, danach komische Ziffern,
manchmal nur senkrechte Striche.
Dafür wackelt das Bild nicht mehr, es sthet wie eine Eins.

Werde nochmal die andere "Verbreitern" Funktion ausprobieren.
Denke, das es daran liegt.

Wäre es eigentlich schneller, eine 5x16 Font aus dem Flash zu lesen, 
statt
eine 5x8 zu lesen, und die zu einer 5x16 umzubauen?
Dann bekomme ich nur Probleme mit dem Flash, da ist nicht genügend Platz 
mehr.
Es sei denn, ich nehme nur die benötigten Zeichen.
0-9, L, i, P, O.
Aber dann geht die Funktion
Pixels = pgm_read_byte_near(&FontTable[ASCII-32][ASCII_Row]);
nicht mehr, da ja die Adessen nicht mehr stimmen.

Anliegend ein paar Bilder bei denen man auch noch einen weiteren fehler 
erkennt.
Bei der Drehzahlanzeige wird nicht nur unten im Bild, sondern auch oben
ein Zeichen angezeigt. (Bild 0001, 0010, 0012)
Bild 0005 zeigt die "komischen" Striche, die ich meine.
Obwohl Bild 0006 und 0007 einen Wert größer 1300 zeigt, selber gesehen 
hab ich die Zahl aber nicht.

Gruß Toby

Das neue Programm kommt sofort.

Autor: Tobias Tetzlaff (tobytetzi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Nochmal ich,

Da ist das Programm 2.1.105.
alles inline deklariert und vor den Int Funktionen.

Drehzahl Wert und Spannungsüberwachung alle 10 Umdrehungen.
Das ist etwa alle 0,5 Sekunden.

Die Interrupts etwas mehr Dokumentiert.

Gruß Toby

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.