Projekt: Eigene JAVA GUI zum Steuern der MC12 via RS232

Alles was kleiner ist als gleich ein ganzes Heimkino ;)
Antworten
Benutzeravatar
The Jedi of Bass
Beiträge: 4385
Registriert: Sonntag 9. Januar 2011, 19:15
Wohnort: ca. Erding

Projekt: Eigene JAVA GUI zum Steuern der MC12 via RS232

Beitrag von The Jedi of Bass » Dienstag 10. April 2012, 17:59

Hallo,

angestachelt von Gusis Projekt :beer2: versuche ich gerade die ersten Schritte mit RS232 und will einfach mal per RS232 nur Lautstärke ändern oder so was.
Dazu habe ich mit dann HTerm geladen.
Mein HTPC ist per USB/Seriell Adapter mit der Lexicon MC 12 verbunden.


Die Codes für die MC12 gibt es hier.

Seite 6 gibt die Verbindung vor:

Code: Alles auswählen

Operating Mode: Full Duplex
Baud rate: 19.2K baud
Data Size: 8 bits (1 byte)
Parity: Odd
Stop Bits: 1
Hardware Handshaking: None
Der Rahmen für einen Befehl scheint auf Seite 7 vorzugeben:

Code: Alles auswählen

Data Link Header:
Byte Number Description Value
First Byte(0) Start of Packet (SOP) 0xF1
Byte(1) DLL Data Count nn
Application Header:
Byte(2) Command nn
Byte(3)
APP Data Count (number of application data bytes to
Follow) nn
Application Data:
Byte(4) Data[0] nn
Byte(5) Data[1] nn
… Data[…] nn
Last Data Byte -1 Data[Data Count -1] nn
Data Link Tail:
Last Byte End of Packet (EOP) 0xF2
Also starte ich mit Hex F1 und Ende mit Hex F2, dazwischen die Befehle.

Auf Seite 15 gibt es z.B. den Befehl für Mute:

Code: Alles auswählen

Command DC_CMD_SET_MUTE 0x31
Data Count 1 0x01
Application Data:
Data[0] Mute State nn
0 UNMUTE The user mute state is set to unmuted. The MC-12HD may still be muted for other internal reasons.
1 USER MUTE The system volume decrements by the specified amount set in the OUTPUT LEVELS Menu.
2 FULL MUTE The system is fully muted.
Das wäre doch zum Beispiel Hex 31 Hex 01 Hex 02 für Full Mute.

Zusammen sende ich mit dem Rahmen:
F1 31 01 02 F2

Habe es nun mit Hterm versucht, nur leider macht die Lex gar nix:
hterm.jpg
Gar nix heißt, ich drücke den "ASend" Button, ein anderes Fenster geht auf, kurz Balken, aber nix verändert sich an der Lex und ich bekomme keinerlei Rückmeldung in Hterm gezeigt.

Habt ihr eine Idee, was ich da falsch mache?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Beste Grüße
The Jedi of Bass

Member of HCM - Abteilung Erdbeben, Kickbass, 4k60p HDR und Zocken (PS5 und PC)

Benutzeravatar
Papsi
Beiträge: 2282
Registriert: Mittwoch 6. April 2011, 18:11
Wohnort: Vohburg
Kontaktdaten:

Re: RS232 - erste Schritte

Beitrag von Papsi » Dienstag 10. April 2012, 18:43

Ich traue diesen RS232 Adaptern nicht immer.
Hast Du evtl. ein PC, der eine richtige 9-pol. Anschlussmöglichkeit hat?

Ich nehme mal an, das Windows deinem Adapter Com3 vorgegeben hat.
Kann man in der Systemsteuerung irgendwo kontrollieren(bei WinXP war es glaub im Gerätemanager)

Den Rest schau ich mir grad noch an.
Ich habe kein Geld für eine Kinokarte - ich hab mir mein eigenes Kino gebaut

Benutzeravatar
Papsi
Beiträge: 2282
Registriert: Mittwoch 6. April 2011, 18:11
Wohnort: Vohburg
Kontaktdaten:

Re: RS232 - erste Schritte

Beitrag von Papsi » Dienstag 10. April 2012, 18:44

Serielles Kabel Adernbelegung durchgemessen?
Passt die so wie in der Beschreibung?
Ich habe kein Geld für eine Kinokarte - ich hab mir mein eigenes Kino gebaut

Benutzeravatar
Papsi
Beiträge: 2282
Registriert: Mittwoch 6. April 2011, 18:11
Wohnort: Vohburg
Kontaktdaten:

Re: RS232 - erste Schritte

Beitrag von Papsi » Dienstag 10. April 2012, 19:38

So sieht es bei mir aus, wenn ich meinen alten Sony Beamer mit HTerm bediene:
hterm.jpg
Meine Hex Zeile siehst Du ja und ich drücke dann einfach ENTER und NICHT auf ASend

Hier habe ich noch ein Testprogramm, das Du an deine Wünsche anpassen kannst:
RS232.zip
In der Datei BeamerCtrl.ini kannst Du deine Kommunikationsparameter für Dich einstellen und unten Dir Buttons erstellen(Count= Anzahl)
Der Rest sollte für Dich selbsterklärend sein, Du musst halt nur meine HEX-Codes durch deine ersetzen.

Mit dem kleinen Programm kann ich meinen Beamer(meinen Werkstattbeamer) per PC bedienen, simpel aber funktioniert.

Vorraussetzung, HTerm darf zwar laufen, aber darf nicht "connected" sein und die serielle Verbindung muss passen, sonst geht das Programm nicht auf und es kommt eine Fehlermeldung.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Ich habe kein Geld für eine Kinokarte - ich hab mir mein eigenes Kino gebaut

Benutzeravatar
gusi
Beiträge: 1124
Registriert: Donnerstag 19. Mai 2011, 19:06
Wohnort: Linz/Österreich

Re: RS232 - erste Schritte

Beitrag von gusi » Dienstag 10. April 2012, 19:57

Hi!

Zuerst mal ein großes Sorry fürs Anstecken, ich hoffe es ist nicht allzu schlimm und Dir geht es gut :beer2: .

Zunächst solltest Du wirklich prüfen, ob die Hardware funktioniert. Kannst Du ev. Statt der MC mal die DCX anhängen und mit dem dazugehörigen Tool prüfen, ob Du mit der DCX eine Verbindung bekommst?

Wenn das funktioniert, dann kanns nur noch an der Bedienung von HTerm liegen oder an dem Befehl, den Du schickst. Ich tipp hier vom Handy und kann mir das erst später genau ansehen.

Viel Erfolg,
Christian.

Benutzeravatar
gusi
Beiträge: 1124
Registriert: Donnerstag 19. Mai 2011, 19:06
Wohnort: Linz/Österreich

Re: RS232 - erste Schritte

Beitrag von gusi » Dienstag 10. April 2012, 20:10

Hi!

Ich glaub, Du hast da ein Byte übesehen. Probier mal F1 04 31 01 02 F2

Ciao,
Christian.

Benutzeravatar
The Jedi of Bass
Beiträge: 4385
Registriert: Sonntag 9. Januar 2011, 19:15
Wohnort: ca. Erding

Re: RS232 - erste Schritte

Beitrag von The Jedi of Bass » Dienstag 10. April 2012, 20:18

Papsi hat geschrieben:Ich traue diesen RS232 Adaptern nicht immer.
Hast Du evtl. ein PC, der eine richtige 9-pol. Anschlussmöglichkeit hat?

Ich nehme mal an, das Windows deinem Adapter Com3 vorgegeben hat.
Kann man in der Systemsteuerung irgendwo kontrollieren(bei WinXP war es glaub im Gerätemanager)

Den Rest schau ich mir grad noch an.
Ja, ist automatisch bei meinem Win7 so installiert worden:
Unbenannt.jpg
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Beste Grüße
The Jedi of Bass

Member of HCM - Abteilung Erdbeben, Kickbass, 4k60p HDR und Zocken (PS5 und PC)

Benutzeravatar
The Jedi of Bass
Beiträge: 4385
Registriert: Sonntag 9. Januar 2011, 19:15
Wohnort: ca. Erding

Re: RS232 - erste Schritte

Beitrag von The Jedi of Bass » Dienstag 10. April 2012, 20:21

gusi hat geschrieben:Hi!

Zuerst mal ein großes Sorry fürs Anstecken, ich hoffe es ist nicht allzu schlimm und Dir geht es gut :beer2: .

Zunächst solltest Du wirklich prüfen, ob die Hardware funktioniert. Kannst Du ev. Statt der MC mal die DCX anhängen und mit dem dazugehörigen Tool prüfen, ob Du mit der DCX eine Verbindung bekommst?

Wenn das funktioniert, dann kanns nur noch an der Bedienung von HTerm liegen oder an dem Befehl, den Du schickst. Ich tipp hier vom Handy und kann mir das erst später genau ansehen.

Viel Erfolg,
Christian.
Gerade nochmals umgesteckt, der Adapter mit der DCX und dem DCX Programm funktioniert eiwandfrei auf COM3.
Beste Grüße
The Jedi of Bass

Member of HCM - Abteilung Erdbeben, Kickbass, 4k60p HDR und Zocken (PS5 und PC)

Benutzeravatar
gusi
Beiträge: 1124
Registriert: Donnerstag 19. Mai 2011, 19:06
Wohnort: Linz/Österreich

Re: RS232 - erste Schritte

Beitrag von gusi » Dienstag 10. April 2012, 20:25

Und wie sieht es mit der andrren Bytesequenz aus?

Ciao,
Christian.

Benutzeravatar
Papsi
Beiträge: 2282
Registriert: Mittwoch 6. April 2011, 18:11
Wohnort: Vohburg
Kontaktdaten:

Re: RS232 - erste Schritte

Beitrag von Papsi » Dienstag 10. April 2012, 20:29

Gusi - wie kommst Du auf die zusätzliche 04?

Und verwendet die DCX die Gleiche Verkabelungsart, wie die Lex?
Es gibt doch 2 verschiedene serielle Kabel - einmal das 1:1 und ein gekreuztes
Ich habe kein Geld für eine Kinokarte - ich hab mir mein eigenes Kino gebaut

Benutzeravatar
Papsi
Beiträge: 2282
Registriert: Mittwoch 6. April 2011, 18:11
Wohnort: Vohburg
Kontaktdaten:

Re: RS232 - erste Schritte

Beitrag von Papsi » Dienstag 10. April 2012, 20:33

In der Anleitung ist die Adernbelegung Pin 2 auf Pin 2 und Pin 3 auf 3 beschrieben.

Normalerweise wird doch ein Nullmodem-Kabel verwendet, wo Pin 2 auf 3 und Pind 3 aus 2 geht. Wiki
Ich habe kein Geld für eine Kinokarte - ich hab mir mein eigenes Kino gebaut

Benutzeravatar
Papsi
Beiträge: 2282
Registriert: Mittwoch 6. April 2011, 18:11
Wohnort: Vohburg
Kontaktdaten:

Re: RS232 - erste Schritte

Beitrag von Papsi » Dienstag 10. April 2012, 20:35

Deswegen der Vorschlag, das Kabel durchzumessen, dann weisst es genau.
Du brauchst ja nur 3 Adern oder eigentlich nur 2. (GND an GND und TX an RX)
Ich habe kein Geld für eine Kinokarte - ich hab mir mein eigenes Kino gebaut

Benutzeravatar
gusi
Beiträge: 1124
Registriert: Donnerstag 19. Mai 2011, 19:06
Wohnort: Linz/Österreich

Re: RS232 - erste Schritte

Beitrag von gusi » Dienstag 10. April 2012, 20:36

Hi!

Die 04 ist die Anzahl der noch folgenden Bytes (DLL count). Laut dem verlinkten Pdf sollte ein "gerades" Kabel - also 1:1 - passen. Was mir noch aufgefallen ist, ist die odd parity, was ein bissl ungwöhnlich ist.

Ciao,
Christian.

Benutzeravatar
Papsi
Beiträge: 2282
Registriert: Mittwoch 6. April 2011, 18:11
Wohnort: Vohburg
Kontaktdaten:

Re: RS232 - erste Schritte

Beitrag von Papsi » Dienstag 10. April 2012, 20:37

Gerade in der Anleitung gefunden:
Seite 6 unter der Zeichnung.
Note: The wiring requirements for a 9 pin to 9 pin serial connection are a male to female straight through
cable.
Sollte dann doch ein 1:1 Kabel sein.
Ich habe kein Geld für eine Kinokarte - ich hab mir mein eigenes Kino gebaut

Benutzeravatar
gusi
Beiträge: 1124
Registriert: Donnerstag 19. Mai 2011, 19:06
Wohnort: Linz/Österreich

Re: RS232 - erste Schritte

Beitrag von gusi » Dienstag 10. April 2012, 20:38

Für die DCX braucht man auch ein gerades Kabel (und ja kein gebogenes :grin: ).

Benutzeravatar
Papsi
Beiträge: 2282
Registriert: Mittwoch 6. April 2011, 18:11
Wohnort: Vohburg
Kontaktdaten:

Re: RS232 - erste Schritte

Beitrag von Papsi » Dienstag 10. April 2012, 20:39

gusi hat geschrieben:Für die DCX braucht man auch ein gerades Kabel (und ja kein gebogenes :grin: ).
Das weis ich jetzt nicht. Bei meinen ganzen RS232 Sachen brauch ich ein Kreuz-Kabel
Ich habe kein Geld für eine Kinokarte - ich hab mir mein eigenes Kino gebaut

Benutzeravatar
gusi
Beiträge: 1124
Registriert: Donnerstag 19. Mai 2011, 19:06
Wohnort: Linz/Österreich

Re: RS232 - erste Schritte

Beitrag von gusi » Dienstag 10. April 2012, 20:44

Ich verwende auch ein 1:1 Kabel für die DCX, das passt also schon.

Benutzeravatar
The Jedi of Bass
Beiträge: 4385
Registriert: Sonntag 9. Januar 2011, 19:15
Wohnort: ca. Erding

Re: RS232 - erste Schritte

Beitrag von The Jedi of Bass » Dienstag 10. April 2012, 20:51

Ihr seid meine Helden :clap: :
Unbenannt.jpg
Also:
1. Ich benutze das "normale" Kabel, dass ich auch für die DCX benutze.
2. Im Gerätemanager habe ich den Adapter auch auf Lex Werte umgestellt:
Unbenannt2.jpg
3. Bei HTerm hatte ich nicht auf ODD gestellt gehabt.
4. Die lange Sequenz ging dann: F1 04 31 01 02 F2 :beer2:

Das Beamer Proggi habe ich nicht zum Laufen bekommen: "Failed to open Serial Device":

Code: Alles auswählen

/* com1 com2 ...*/
com=COM3
/* 9600 etc. pp. */
baudrate=19200

/* 7 oder 8 bits pro byte*/
bytesize=8

/*
   EVENPARITY    2
   MARKPARITY    3
   NOPARITY      0
   ODDPARITY     1
   SPACEPARITY   4
*/
parity=1

/*
ONESTOPBIT 1 stop bit        0
ONE5STOPBITS 1.5 stop bits   1
TWOSTOPBITS 2 stop bits      2  
*/
stopbit=1


count=11
Die Lex ging jedenfalls nun in den Voll-Mute :bounce:


Nun eine Programmierfrage: ich möchte mir ein Programm bauen, womit ich die Lex steuern und auslesen kann.
Java oder C#? (Oder ganz was anderes?)
Mit Eclipse und Java habe ich einiges gemacht mal vor einigen Jahren, C# wäre neu für mich (gibt es da eine kostenlose und gute Entwicklungsumgebung wie Eclipse?)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Beste Grüße
The Jedi of Bass

Member of HCM - Abteilung Erdbeben, Kickbass, 4k60p HDR und Zocken (PS5 und PC)

Benutzeravatar
gusi
Beiträge: 1124
Registriert: Donnerstag 19. Mai 2011, 19:06
Wohnort: Linz/Österreich

Re: RS232 - erste Schritte

Beitrag von gusi » Dienstag 10. April 2012, 20:59

Super! Wenn Du schon Java Erfahrung hast, würde ich auch dabei bleiben. Ich hab allerdings keine Ahnung, wie man aus Java (oder auch c#) die serielle Schnittstelle programmiert :no: . Ich hab alles unter Unix gemacht und C++ dafür verwendet.

Es gibt angeblich von Microsoft das Visual Studio kostenlos, damit hättest eine Entwicklungsumgebung für c#.

Ciao,
Christian.

Benutzeravatar
The Jedi of Bass
Beiträge: 4385
Registriert: Sonntag 9. Januar 2011, 19:15
Wohnort: ca. Erding

Re: RS232 - erste Schritte

Beitrag von The Jedi of Bass » Dienstag 10. April 2012, 21:13

Dann probiere ich es mit Java, lade soeben das SDK sowie Ecplipse runter :mml:
Wenn ich es nicht heute hinbekomme, dann probiere ich morgen C# :wink:
Beste Grüße
The Jedi of Bass

Member of HCM - Abteilung Erdbeben, Kickbass, 4k60p HDR und Zocken (PS5 und PC)

Antworten