so unter https://github.com/neophob/PixelControll?iDmxSerial.java habe ich mal eine erste version gemacht.
Super, danke! - sieht für mich (der sich mit Java nicht auskennt, nur so ungefähr nachvollziehen kann, was da passiert) auf jeden Fall interessant und plausibel aus...
das ist jetzt aber nur der Quelltext, oder...? - also ich hab's mal runtergeladen, aber da ist nicht diese PixelController.cmd zum starten dabei...?!
ich denke aber diese erste version wird kaum funktionieren, ohne das ganze zu testen. hast du noch irgendwelche dev boards/ausschuss ware rumliegen?
Leider nicht - zum testen sollten da auch zumindest ein paar Pixel dran hängen, damit man sieht ob die machen was sie sollen, da habe ich nix über...
ich hatte gedacht, dass ich das halt teste, und dann die FW für den AVR hier poste...
Du sendest da jetzt mit 230.400 Bit/s...? - weil da muss ich dann erst nen Baudratenquarz auf mein Board löten, das geht mit 16 MHz Systemtakt nicht... k.A. wie das der Arduino macht, gehen da 230.400...? m.W. 115.200 auf jeden Fall, das wäre am AVR-USART bei 16 MHz ein Fehler von 3,5%, OK, da kann's sein, dass es noch funktioniert...
Und wo kommt das dann raus..? - ja, blöde Frage, aber ich kenne mich mit sowas am PC einfach nicht so gut aus, habe mehrere COM-Ports (Programmer, Modem, Touchscreen, und eben auch das Board mit dem FT232), woher weiß der, wo er das hin schicken soll..? - oder kann man das dann einstellen..?
Ich persönlich finde den Arduino ja auch gut, für Anfänger, oder Leute, die nicht so tief in die HW einsteigen wollen - auf der anderen Seite dann aber teilweise etwas blöd, dass das Teil einfach dies&das macht und man weiß nicht wie und warum, findet auch nur schwer Infos drüber...
z.B. eben wegen der Datenrate, man findet nur Beispiele wie man das einstellt, aber nirgendwo ne Liste, welche Baudraten das Teil nun definitiv unterstützt...
Bei mir ist das halt so, dass auf dem Board ein FT232 drauf ist, der µC bekommt von dem ein ganz normales serielles Signal mit eben z.B. 250kBaud - auf dem Rechner ist ein VCP-Treiber installiert (eben der für den FT232), an dem ich auch die 250 k einstellen kann, und dann läuft das - also irgendwie ist mir als Laie auf dem Gebiet schleierhaft, wieso Du dann beim Arduino nicht auf 250 k stellen kannst, sondern nur auf 230.400 k, obwohl das ja eigentlich ne "krumme" Braudrate ist und die 250 k besser wären... - also *warum* die das so gemacht haben, Arduino läuft ja auch auf 16 MHz, da passt 250 k einfach besser als 230 k...
oder liegt das an Java, dass *dort* nur bestimmte Baudraten vorgesehen sind...? - Mein Kumpel hat seinen Treiber in C geschrieben (siehe hier), muss ihn noch mal fragen, ob das evtl. wegen ähnlichen Problemen war... das Teil empfängt die Daten dann über nen Socket, und schickt sie als mini-DMX raus (mit frei einstellbarer Baudrate), allerdings hier dann auf FT232 festgelegt, weil er so nen "Direct Driver" benutzt...
Ist für mich halt alles etwas verwirrend was da auf dem PC abläuft, da ich ja nur in Assembler auf µC programmiere, da gibt's halt serielle Schnittstelle, 8N1 und passende Baudrate eingestellt, fertig...
was ich weiter noch wissen sollte, kann ich überprüfen, ob am Seriellen Port wirklich ein miniDMX device hängt (so etwas wie ein ping)?
Siehe die verlinkte Seite zu mini-DMX - normal soll der Empfänger, nachdem er einen Frame empfangen hat, die Folge 5A C1 A5 zurück senden... meine SW (die vom "SEDU-Ambilight") sendet der Einfachheit halber nur 0xAC (von "ACknowledge") zurück - also Frame schicken, und wenn AC kommt, dann ist das Teil auch vorhanden...
ich unterstütze momentan folgende payloads:
und welche *benützt* Du hier tatsächlich...? die mit 512 Byte, oder..?