Posts by dirk_e

    Also haben wir den Übeltäter wohl gefunden!
    Ist also die DLL oder das Zusammenspiel der DLL mit DMXControl.

    Ja lösche bitte diese DLL schnell wieder, nicht das Deine Veranstaltung noch zur Katastrophe wird.

    Da wir somit wohl das Nodle U1 als Problem Verursacher Ausschließen können, werde ich in der DLL suchen.

    Dirk

    Ich kann das immer noch nicht nachvollziehen.

    Da Du sagst das es mit dem DE läuft, baue ich nachher mal eine DLL für das DE.
    Damit wir den Schuldigen einkreisen können.

    Wenn der Fehler mit meiner DE-DLL mit dem DE auch auftritt dann wissen wir das es was mit der DLL zu tun hat.
    Wenn der Fehler nicht auftritt dann ist es was im U1.

    Ist wohl der beste Ansatz um was zu finden.
    Ob ein Interface hin und her senden hilft werden wir dann sehen.
    Dirk

    Schon mal gut das ich keinen Fehler da rein gebaut habe, war ja ungetestet.

    Hast Du oder jemand mit dem Problem, das mal mit einem Anderen Interface hinbekommen?
    Also das U1 aus und ein anderes Interface dafür an, mit den gleichen Adressen.

    Da niemand Probleme mit dem Testprogramm hatte, was so das schlimmste für das Interface und die DLL war, muss ich das morgen oder noch heute Nacht mit meinem Pult testen.
    Ich würde so gerne endlich mal den Fehler sehen.

    So nur noch mal zum Ablauf (so wie ich es verstanden habe).
    Ich sende von Extern (Pult) Daten.
    Das U1 ist im Modus 6.
    Ich steuere auf Adresse 1-8 je einen Submaster.
    Diese Steuern je einen Out auf Adresse 1-5.
    Auf Adresse 6-8 sende ich einfach einen Effekt.

    Ist das so Richtig?

    Dirk

    So dann wollen wir mal sehen was diese Software macht.

    Es wurden einige Dinge geändert.
    - Der Eine Interrupt ist aus.
    - Der Datenempfang wurde wieder auf die Ursprungsversion zurück gebaut (braucht mehr Speicher ist aber schneller).
    - Testweise ist für WIN8.1 die Power-Einstellung drin (das was beim DE ärger macht).

    Da ich unterwegs bin habe ich hier kein Interface, ist also ungetestet!

    Leider konnte ich den Fehler überhaupt nicht nachvollziehen.
    Irgendwie haben auch nur 2 Personen Probleme, oder nur diese bemerken etwas.
    Habe mir schon ein altes Pult raus gelegt zum testen, wird aber vor Samstag nichts.

    Dirk

    Also:

    Ich war krank und konnte einige Zeit nichts machen.

    Ich habe noch einen Interrupt gefunden der unsinniger weise an ist.
    Da passiert aber nicht wirklich was drin, weil die dahinter stehende Funktion nicht aktiv ist.
    Der kommt aber nur alle x ms.

    Die Software ohne den INT mache ich heute oder morgen mal fertig.

    Hallo,
    mal abgesehen das Du den einen 10K Widerstand 2 mal drin hast, hast Du einen anderen 10K Widerstand vergessen.

    Schau mal auf die Leiterplatte neben dem Prozessor (Bild 2 {das in der Mitte} rechts oberhalb) da ist ein Pin markiert und im Plan sollte da der Widerstand auch drin sein.
    Ohne diesen Widerstand wirst Du nichts empfangen!

    So ich habe die ersten Tests endlich gemacht.
    Aber leider habe ich noch nichts auffälliges finden können.

    Ich habe hauptsächlich den Empfang getestet, weil der ja springen soll.

    Man hat bei dem 16MHz Quarz 704 Takte Zeit (44us) zwischen rein kommenden Bytes.
    Selbst wenn ich alle andern Interruptlaufzeiten zusammen addiere bleibt immer noch genug Luft um dem Empfang ab zu arbeiten.

    Habe mal ein Programm geschrieben was in High-Speed Daten zum Interface sendet.
    Das Interface läuft in Modus 6 mit einem Link Kabel (out an in).
    Jetzt hat mich nur der letzte in Block interessiert und da waren immer die richtigen Daten drin.

    Ich werde aber noch einige andere Tests machen.

    EDIT:

    Hier ist ein Testprogramm:
    - Interface anschließen und Loop Kabel dran (out auf in)
    - Programm starten, "h" == Hilfe , "m" drücken
    Jetzt wird ständig das Universe geändert und zum Interface gesendet, logischerweise dann auch wieder empfangen.
    Als erstes kommen ein paar Error Meldungen, das ist normal da beim Modus umschalten ein leeres Univers zum PC gesendet wird.
    Dann kommen so alle X Sekunden (da würde mich die Zeit bei Euch interessieren) eine "IN" Meldung.
    Aber es sollte nie wieder eine Error Meldung kommen.

    Der Test besteht darin das ich:

    16 Blöcke a 32 Byte (0-30 und dann einen Zähler) sende, ist nicht viel an Änderung aber das reicht.
    Und beim empfangen nachschaue, ob in den 16 Blöcken immer an Position 31 eine 30 steht.
    Wenn man beim Empfang auch nur ein Byte verliert würde das nicht mehr passen!

    Die Test Software ist im Grunde die DLL nur als eigenständiges Programm.

    Wollen wir doch erst einmal sehen was das Interface so sagt und dann schauen wir uns die PC Seite an.

    Die ganzen Tests liefen mit einem DMX Sender der jede DMX MSG (also 44Hz) mit anderen Werten sendet.
    Parallel wurden Werte (OUT) vom PC nach dem selben verfahren gesendet.
    Mehr Last geht nicht!
    Dabei ist nie was aufgefallen.

    Wie schon gesagt, testen wir noch mal und dann sehen wir weiter.

    Der Microcontroler wird bei FAST weniger belastet!
    Klingt erst mal komisch, ist aber so.
    Das einfügen der Pause zwischen den Bits erzeugt mehr Systemlast.

    Ich schau mir nochmal alle Zeiten an und wenn ich was finde wird es geändert.
    Es kann ja nur was sein was ganz knapp daneben ist, sonst wäre es früher schon aufgefallen.

    Du darfst dann den Tester spielen.
    Dirk

    Das mit USB1.1 kann ich mir zwar noch nicht so richtig vorstellen, aber der Sache wird nachgegangen.
    Kann damit zusammen hängen das das Interface USB2.0 macht (sollte).

    Die Kommunikation ist im Extremfall schon recht gut ausgelastet!

    Der Sache mit dem IN werde ich nachgehen, muss mir nur noch "schnell" ein 3. Interface bauen.
    Eventuell ist ein internes Timing zu knapp, aber dazu kann ich nach den Tests mehr sagen.

    Wie hast Du die Parameter eingestellt?

    Dirk

    Die Platine wurde leicht geändert, weil auf den ersten Version weder Produktname, Hersteller, Logo noch sonst etwas Bezug zu DMXControl hatte. Die wurde halt vor der Namensfindung gefertigt.
    Zusätzlich wurden jetzt bessere Markierungen für LED und Elkos aufgedruckt, sowie der im 1. Layout vergessende Widerstand (der von unten) richtig Platziert.

    Technisch ist also absolut nichts geändert worden!

    Wie man den Widerstand nun ein lötet ist jedem selbst überlassen.
    Man kann Ihn von unten ein löten oder man schneidet aus dem Sockel die 2 Stege raus und lötet Ihn von oben rein.

    Ich bevorzuge die 2. Variante. Also Stege weg, irgend ein IC drauf und so ein löten.

    Klar das man nicht 2 mal bestellt, das wollte ich damit ja auch nicht vorschlagen.

    Soweit mir bekannt ist kommen die Prozessoren nicht von RS (stand im internen Forums Bereich).
    Die müssten noch diese Woche wieder da sein, aber TiPpFeHlEr hat da mehr Informationen.


    VG, Dirk

    Wenn Du über ISP da was rein schiebst ist der Bootloader weg.
    Das bedeutet das Du den Vorteil vom einfachen umprogrammieren Dir zerstörst.
    Den Original Bootloader gibt es nicht bei Atmel zum Download.
    Was also noch ein Grund ist den nicht platt zu machen.

    Die Fuses kann nicht mal ich dir sagen, da muss Du selber schauen.
    Vielleicht solltest Du da überhaupt nichts ändern, der Prozessor läuft ja auch so.

    Viele Grüsse,
    Dirk