or Connect
AVS › AVS Forum › Audio › Receivers, Amps, and Processors › Enhancing Yamaha AVRs via RS-232
New Posts  All Forums:Forum Nav:

Enhancing Yamaha AVRs via RS-232 - Page 8

post #211 of 291
Quote:
Originally Posted by kriktsemaj99 View Post

It's a pity serial ports are disappearing from computers because they still have uses.

Unfortunately that is the way things are going. But industrial PC motherboards will most probably still have serial ports as there are tons of equipment and machines out there that require RS-232 communication.

And yes, I too am still using your Volume Control and PEQedit apps on my HTPC which actually has a serial port.
post #212 of 291
Quote:
Originally Posted by kriktsemaj99 View Post

Do you mean you have a PC application that runs on the machine that's directly connected to the receiver? How does it compare to Yamaha's Receiver Manager?

It's a little different than the receiver manager software. This is more like a toolkit of functions you can call and execute along with full detailed reporting capabilities to windows the can receive messages.

This might give you an idea of what my functions cover (I have full command and report information)

enum eBaudRate {
eBaud9600 = 0x4,
eBaudDefault = 0x4
};
enum eHandShaking {
eHandHardware = 0x0,
eHandSoftware = 0x1,
eHandDefault = 0x0
};
enum eTextRequest {
eTextRequestFrequency = 0x00,
eTextRequestMainVolume = 0x01,
eTextRequestZone2Volume = 0x02,
eTextRequestInputName = 0x03,
eTextRequestZone2InputName = 0x04
};
enum eStatus {
eStatusOK = 0x0,
eStatusBusy = 0x1,
eStatusOff = 0x2,
eStatusMAX = 0x3 //Always = last item in list
};
enum ePower {
ePowerOff = 0x0, //All Off
ePowerOn = 0x1, //All On
ePowerMain = 0x2, //Main On, Zone2 Off
ePowerZ2 = 0x3, //Main Off, Zone2 On
ePowerMAX = 0x4 //Always = last item in list
};
enum eInput {
eInputPhono = 0x0, //Phono Input
eInputCD = 0x1, //CD
eInputTuner = 0x2, //Tuner
eInputCDR = 0x3, //CD Recordable
eInputMDTape = 0x4, //Mini Disc/Tape Deck
eInputDVD = 0x5, //DVD player
eInputDTV = 0x6, //Digital TV
eInputCbl = 0x7, //Cable
eInputSat = 0x8, //Satelite (DirecTV, DiSH)
eInputVCR1 = 0x9, //VCR 1
eInputVCR2 = 0xA, //VCR 2
eInputVCR3DVR = 0xB, //VCR 3/Personal Video Recorder (PVR)
eInputVAux = 0xC, //Video Aux (Front Panel)
eInputMAX = 0xD //Always = last item in list
};
enum eInputMode {
eInputModeAuto = 0x0, //Auto input mode
eInputModeDDRF = 0x1, //Dolby Digital
eInputModeDTS = 0x2, //Digital Theatre System (DTS)
eInputModeDigital = 0x3, //Undetermined Digital Format
eInputModeAnalog = 0x4, //Analog
eInputModeAnalogOnly = 0x5, //Analog Only
eInputModeMAX = 0x6, //Always = last item in list
};
enum eProgram {
eProgramHallA = 0x00, //Hall A
eProgramHallB = 0x01, //Hall B
eProgramHallC = 0x02, //Hall C
eProgramHallD = 0x04, //Hall D
eProgramHallE = 0x05, //Hall E
eProgramLiveConcert = 0x06, //Live Concert
eProgramTokyo = 0x08, //Tokyo
eProgramFreiburg = 0x09, //Freiburg Germany
eProgramRoyaumont = 0x0A, //Royaumont
eProgramVillageGate = 0x0C, //Village Gate
eProgramVillageVanguard = 0x0D, //Village Vanguard
eProgramBottomLine = 0x0E, //Bottom Line
eProgramRoxyTheatre = 0x10, //Roxy Theatre
eProgramWarehouseLoft = 0x11, //Warehouse Loft
eProgramArena = 0x12, //Arena
eProgramDisco = 0x14, //Disco
eProgramParty = 0x15, //Party
eProgramGame = 0x16, //Game
eProgram8ChStereo = 0x17, //8 channel stereo
eProgramPopRock = 0x18, //Pop Rock
eProgramDJ = 0x19, //DJ
eProgramClassical = 0x1C, //Classical/Opera
eProgramPavillion = 0x1D, //Pavillion
eProgramMonoMovie = 0x20, //Mono Movie
eProgramVarietySports = 0x21, //Variety Sports
eProgramSpectacle = 0x24, //Specticle
eProgramSciFi = 0x25, //Sci-Fi
eProgramAdventure = 0x28, //Adventure
eProgramGeneral = 0x29, //General
eProgramNormal = 0x2C, //Unprocessed DD, DTS, Pro-Logic
eProgramEnhanced = 0x2D, //Processed DD, DTS, Pro-Logic
eProgramProLogic2Movie = 0x30, //Pro Logic 2 Movie
eProgramProLogic2Music = 0x31, //Pro Logic 2 Music
eProgramNeo6Cinema = 0x32, //DTS Neo 6 Cinema
eProgramNeo6Music = 0x33, //DTS Neo 6 Music
eProgramStereo = 0x80, //Stereo Mode = ( || eProgramStereo)
};
enum eEXES {
eEXESOff = 0x0, //Off
eEXESMatrix = 0x1, //Matrixed rear center (DD/DTS)
eEXESDiscrete = 0x2, //Discrete rear center (DTS only)
eEXESAuto = 0x3, //Auto (NOT VALID FOR EX/ES Playback setting)
eEXESMAX = 0x4 //Always = last item in list
};
enum eOSD {
eOSDFull = 0x0, //Full Display
eOSDShort = 0x1, //1 line display
eOSDOff = 0x2, //Off
eOSDMAX = 0x3 //Always = last item in list
};
enum eSleep {
eSleep120 = 0x0, //120 Minutes
eSleep90 = 0x1, //90 Minutes
eSleep60 = 0x2, //60 Minutes
eSleep30 = 0x3, //30 Minutes
eSleepOff = 0x4, //Off
eSleepMAX = 0x5 //Always = last item in list
};
enum eTunerBank {
eTunerBankA = 0x0,
eTunerBankB = 0x1,
eTunerBankC = 0x2,
eTunerBankD = 0x3,
eTunerBankE = 0x4,
eTunerBankMAX = 0x5 //Always = last item in list
};
enum eTunerNumber {
eTunerNumber1 = 0x0,
eTunerNumber2 = 0x1,
eTunerNumber3 = 0x2,
eTunerNumber4 = 0x3,
eTunerNumber5 = 0x4,
eTunerNumber6 = 0x5,
eTunerNumber7 = 0x6,
eTunerNumber8 = 0x7,
eTunerNumberMAX = 0x8 //Always = last item in list
};
enum eHomeBank {
eHomeBankMain = 0x0,
eHomeBankA = 0x1,
eHomeBankB = 0x2,
eHomeBankC = 0x3,
eHomeBankD = 0x4,
eHomeBankE = 0x5,
eHomeBankF = 0x6,
eHomeBankMAX = 0x7 //Always = last item in list
};
enum eVolumeBank {
eVolumeBankMain = 0x0,
eVolumeBankA = 0x1,
eVolumeBankB = 0x2,
eVolumeBankC = 0x3,
eVolumeBankD = 0x4,
eVolumeBankE = 0x5,
eVolumeBankF = 0x6,
eVolumeBankMAX = 0x7 //Always = last item in list
};
enum ePlaybackMode {
ePlaybackMode6Ch = 0x0, //External Decoder
ePlaybackModeAnalog = 0x1, //Analog Inputs
ePlaybackModePCM = 0x2, //Pulse Code Modulation
ePlaybackModeDD = 0x3, //Dolby Digital 5.1
ePlaybackModeDD2 = 0x4, //Dolby Digital Stereo
ePlaybackModeDDKaroke = 0x5, //Dolby Digital Karoke
ePlaybackModeDDEX = 0x6, //Dolby Digital EX
ePlaybackModeDTS = 0x7, //DTS
ePlaybackModeDTSES = 0x8, //DTS-ES w/Matrixed Rear Center Channel
ePlaybackModeDigital = 0x9, //Undetermined Digital Mode
ePlaybackModeDTSAnalog = 0xA, //DTS Analog Mute
ePlaybackModeDTSESDiscrete = 0xB, //DTS-ES w/Discrete Rear Center Channel
ePlaybackModeMAX = 0xC //Always = last item in list
};
enum eFreqSource {
eFreqSourceAnalog = 0x0,
eFreqSource32kHz = 0x1,
eFreqSource44_1kHz = 0x2,
eFreqSource48kHz = 0x3,
eFreqSource64kHz = 0x4,
eFreqSource88_2kHz = 0x5,
eFreqSource96kHz = 0x6,
eFreqSourceUnknown = 0x7,
eFreqSource128kHz = 0x8,
eFreqSource176_4kHz = 0x9,
eFreqSource192_0kHz = 0xA,
eFreqSource48_96kHz = 0xB, //Special DTS Material's Only
eFreqSourceMAX = 0xC //Always = last item in list
};
enum eDTSLight {
eDTSLightRelease = 0x0,
eDTSLightWait = 0x1,
eDTSLightMAX = 0x2 //Always = last item in list
};
enum eBand {
eBandFM = 0x0,
eBandAM = 0x1,
eBandMAX = 0x2 //Always = last item in list
};
enum eDCControl {
eDCControlLow = 0x0,
eDCControlHigh = 0x1,
eDCControlMAX = 0x2 //Always = last item in list
};
enum eDCTrigger {
eDCTriggerZone1 = 0x0,
eDCTriggerZone2 = 0x1,
eDCTriggerZone1_2 = 0x2,
eDCTriggerMAX = 0x3 //Always = last item in list
};
//RCMD0,1 (Used in Decode of report)
enum eYamReport {
eYamReportSystem = 0x00000000,
eYamReportWarning = 0x00000001,
eYamReportPlayback = 0x00000010,
eYamReportFreqSource = 0x00000011,
eYamReportEXESPlayback = 0x00000012,
eYamReportBypass = 0x00000013,
eYamReportDTSLight = 0x00000014,
eYamReportTunerTuned = 0x00000015,
eYamReportDTS96_24 = 0x00000016,
eYamReportPower = 0x00000020,
eYamReportInput = 0x00000021,
eYamReportInputMode = 0x00000022,
eYamReportMute = 0x00000023,
eYamReportZone2Input = 0x00000024,
eYamReportZone2Mute = 0x00000025,
eYamReportMasterVolume = 0x00000026,
eYamReportZone2Volume = 0x00000027,
eYamReportProgram = 0x00000028,
eYamReportTunerBank = 0x00000029,
eYamReportTunerNumber = 0x0000002A,
eYamReportOSD = 0x0000002B,
eYamReportSleep = 0x0000002C,
eYamReportEXES = 0x0000002D,
eYamReportSpeakerA = 0x0000002E,
eYamReportSpeakerB = 0x0000002F,
eYamReportHomeBank = 0x00000030, //Returned after a set vs. a switch?
eYamReportHomeBankNumber = 0x00000031, //FIXIT: What is this????
eYamReportVolumeBank = 0x00000032, //Returned after a set vs. a switch?
eYamReportVolumeBankNumber = 0x00000033, //FIXIT: What is this????
eYamReportHeadPhone = 0x00000034,
eYamReportBand = 0x00000035,
eYamReportDCControl = 0x00000036,
eYamReportZone2VolumeBank = 0x00000037, //Returned after a set vs. a switch?
eYamReportZone2VolumeNumber = 0x00000038, //FIXIT: What is this????
eYamReportDCTrigger = 0x0000003A
};
enum eYamReportSource { //What caused the message to be sent
eYamReportSourceRS232 = 0x00000000,
eYamReportSourceIR = 0x00000001,
eYamReportSourceUnitKeys = 0x00000002,
eYamReportSourceSystem = 0x00000003,
eYamReportSourceEncoder = 0x00000004
};
enum eYamGuard {
eYamGuardNone = 0x00000000, //Command executed Okay
eYamGuardSystem = 0x00000001, //System prevented command from executing
eYamGuardSetting = 0x00000002, //When trying to use OSD and Mem Guard On. Command failed.
};
enum eYamWarning {
eYamWarningOverCurrent = 0x00000000,
eYamWarningDCDetect = 0x00000001,
eYamWarningPowerTrouble = 0x00000002,
eYamWarningOverHeat = 0x00000003,
eYamWarningMAX = 0x00000004
};
post #213 of 291
Thread Starter 
Quote:
Originally Posted by LCP1 View Post

Unfortunately that is the way things are going. But industrial PC motherboards will most probably still have serial ports as there are tons of equipment and machines out there that require RS-232 communication.

And yes, I too am still using your Volume Control and PEQedit apps on my HTPC which actually has a serial port.

It's good to know there are some people using those apps. What I would really like to do for network control, either via a web browser or custom application, is put the software (TCP to Serial converter and web server) into a small module that can plug directly into the serial port on the back of the receiver, and provide a network jack for plugging in an ethernet cable. So you've really added network control to your receiver without the need for an extra PC. But that's a longer term project (might not even happen).

Suitable hardware modules exist. They aren't very expensive and even come loaded with some of the software needed. For example this little device would do the job. If you wanted to do a hardware mod you could probably even mount it inside the case of the receiver!
post #214 of 291
Quote:
Originally Posted by kriktsemaj99 View Post

Do you mean you have a PC application that runs on the machine that's directly connected to the receiver? How does it compare to Yamaha's Receiver Manager?

I would happily write one in .NET for the new receivers 3900/Z7/Z11. But yamaha has been tightlipped about the protocol.

I used my yamaha code to change the sound field based on which CD and Track that was playing in my Sony CD player, Or which movie was playing, Or which channel I was on.

Yamaha a few years later added this functionality to their music cast 1. Wonder if they liked my idea so much they copied it?
post #215 of 291
Quote:
Originally Posted by kriktsemaj99 View Post

Suitable hardware modules exist. They aren't very expensive and even come loaded with some of the software needed. For example this little device would do the job. If you wanted to do a hardware mod you could probably even mount it inside the case of the receiver!

So happens I wrote TCP/IP drivers for hardware similar to that (Ethernet->Rs232)
post #216 of 291
Thread Starter 
Quote:
Originally Posted by DigitalGriffin View Post
I would happily write one in .NET for the new receivers 3900/Z7/Z11. But yamaha has been tightlipped about the protocol.

I used my yamaha code to change the sound field based on which CD and Track that was playing in my Sony CD player, Or which movie was playing, Or which channel I was on.

Yamaha a few years later added this functionality to their music cast 1. Wonder if they liked my idea so much they copied it?
Sounds like you've been having as much fun as I have with these things!

The new network protocol documents have been posted in the 1900/3900 thread. Kind of complicated compared to the old RS-232 protocol. The hard part is thinking of the killer app. Yamaha provide Receiver Manager to access all the settings, and the network receivers have built in web browser control. But the browser control doesn't cover everything, so that's one area that could be improved on.

I've mainly been trying to add bits of functionality that were otherwise missing, rather than duplicating stuff already available. But on the 1800/3800 Receiver Manager is buggy when it comes to saving all your settings, so a similar app. to save and restore everything would be useful. Trouble is it really has to save everything to be useful replacement to RM, which gets a bit tedious.


Edit: There's one important file missing from the above link, which is the document that describes the basic network protocol. See attached.

 

V3900_Z7_ETHERNET_IF_Spec_e_1.0.zip 48.48046875k . file
post #217 of 291
Thread Starter 
I've had the Yamaha iPhone remote control app sort-of working for a while now through RS-232, but getting it to work reliably is proving to be a pain because the damn thing is full of bugs. The worst thing is when the iPhone/iPod goes to sleep while the App is open, I don't think they are handling that properly and it sometimes gets confused when it wakes up. And there are other bugs even when it doesn't sleep. But I'll keep at it for a while longer and try to work around the problems.
post #218 of 291
You're using the Iphone App with receiver manager on the PC and then the signal is coded to be send via rs232?
Or you're using another program?
I'm starting at zero here, i can manage through pc apps, but when you're talking of codes and commands, i'm a little lost.
post #219 of 291
tangent:

this is the first i've heard of 'receiver manager'. ok, i live under a rock...yes.

can anyone provide a link to the latest 2600 version? after a bit of googling, i found v1.0....anything more current?
post #220 of 291
Thread Starter 
Quote:
Originally Posted by MisterW View Post

You're using the Iphone App with receiver manager on the PC and then the signal is coded to be send via rs232?
Or you're using another program?
I'm starting at zero here, i can manage through pc apps, but when you're talking of codes and commands, i'm a little lost.

The Yamaha iPhone App talks to my program (not Receiver Manager) running on a PC on your home network. The same PC has to be connected via an RS-232 cable to the receiver. You don't need to know anything about RS-232 codes or how the program works, but you do need a working RS-232 connection. Trying Receiver Manager, or one of the other applications I described in the first post of this thread, would be a good way to test that your connection is working.

When I think the program is stable enough I'll post it here for anyone to try. Should be a few days (but I said that last week ). I tested Zones 2 and 3 and they work too.
post #221 of 291
Thread Starter 
Quote:
Originally Posted by dookie1 View Post

this is the first i've heard of 'receiver manager'... can anyone provide a link to the latest 2600 version? after a bit of googling, i found v1.0....anything more current?

I'm not sure which version is the latest for the 2600, but typically not many versions are released so 1.0 might be the latest. Receiver Manager is useful for saving all your settings, although pretty slow (5 to 10 minutes to upload settings to the PC over a 9600 baud serial link). For actual real time control I find it takes too long to start up, and then you have to sit with a computer on your lap!

Network control from a portable device would be much more convenient, it just needs a PC running a program to convert network commands to RS-232 commands for the older models without a network connection. After this initial experiment with the Yamaha iPhone App I'd like to create something that provides a lot more control. It should work with your 2600 too.
post #222 of 291
Thread Starter 
If anyone is interested in iPhone/iPod touch control, I have a first version to try. I think the Yamaha App itself has bugs, but I've worked around the worst ones I found so you shouldn't see them.

I'm assuming you'll be using a Windows PC, but since the program is written in Java it should be able to work with a Mac (but I may have to supply some extra files if anyone wants to try a Mac). Setup is pretty easy if you already have a working RS-232 connection to your receiver and already have Java installed, but read the ReadMe.txt file carefully.

Update: I just added this important step to the setup instructions:
Assuming you have Java 6 installed in C:\\Program Files\\Java\\jre6, after unzipping the files you must then do the following:

copy rxtxSerial.dll to C:\\Program Files\\Java\\jre6\\bin
copy RXTXcomm.jar to C:\\Program Files\\Java\\jre6\\lib\\ext

 

iPhoneSerial_v0.1.zip 186.4443359375k . file
post #223 of 291
Quote:
Originally Posted by kriktsemaj99 View Post

If anyone is interested in iPhone/iPod touch control, I have a first version to try. I think the Yamaha App itself has bugs, but I've worked around the worst ones I found so you shouldn't see them.

I'm assuming you'll be using a Windows PC, but since the program is written in Java it should be able to work with a Mac (but I may have to supply some extra files if anyone wants to try a Mac). Setup is pretty easy if you already have a working RS-232 connection to your receiver and already have Java installed, but read the ReadMe.txt file carefully.

I'm trying to use the program but I'm getting a error;

"Exception in thread "main" java.lang.NoClassDefFoundError: ...........

I have PC connected to my Rx-V3800 via a Ethernet to serial server, works fine with ReceiverManger. I have no ideal what the full path to Java would be it that's the answer.

I'm really a MacGuy :-) so I'd love to try your program with a Mac but I don't have a Mac near my receiver .
post #224 of 291
Thread Starter 
Java is case sensitive, so make sure you type all the upper and lower case characters properly. i.e.

java -jar iPhoneSerial.jar

If that's not the problem let me know, and I'll send you a PM with more questions.
post #225 of 291
Quote:
Originally Posted by kriktsemaj99 View Post

Java is case sensitive, so make sure you type all the upper and lower case characters properly. i.e.

java -jar iPhoneSerial.jar

If that's not the problem let me know, and I'll send you a PM with more questions.

I don't think that's the problem here is a screen capture of the entire error..

Thanks for all you work!
LL
post #226 of 291
Thread Starter 
I downloaded the program and tried to run it on my laptop, and got the same error as you. So here's the real fix (at least it was for me). Assuming you have Java 6 installed in C:\\Program Files\\Java\\jre6,

copy rxtxSerial.dll to C:\\Program Files\\Java\\jre6\\bin
copy RXTXcomm.jar to C:\\Program Files\\Java\\jre6\\lib\\ext

you should now be able to run the .jar file using

java -jar iPhoneSerial.jar

Another issue with Java is that to run a .class file from the current directory the CLASSPATH environment variable must be set properly to include the directory (or CLASSPATH must not be defined at all). But since we're trying to run a .jar file here, CLASSPATH should not matter.

One other mistake in the ReadMe.txt is that the program does not print "Waiting for connection" as I stated. But it will print the IP address of your iPhone/iPod when it does connect.
post #227 of 291
I'm getting this error now after copying the files;

WARNING: RTXT Version mismatch
Jar version = TXTX-2.2pre1
native lib Version = RTXT-2.2pre2
/192.168.0.94 connected



That is the IP address of my iPod Touch, but none of the controls work.

Whats next to try?
post #228 of 291
Thread Starter 
That's progress, the warning about the RXTX version mismatch is normal. Can you get to the main control screen? What happens when when you try to turn on the main zone power, for example? Is the iPod GUI showing that the power is ON but the receiver itself didn't turn on? Can you move the volume slider even if it's having no effect on the receiver?

If the iPod seems happy to let you use the controls but nothing is happening at the receiver end, it's probably an issue with the serial connection. Do you know which COM port you used successfully with Receiver Manager? If you're not connected on COM1 you have to specify the port on the command line. e.g. for COM2

java -jar iPhoneSerial.jar -p COM2

Have you used the serial connection recently? Could there be a problem with it? Also, if you were starting with the receiver off, try starting with it on.
post #229 of 291
Quote:
Originally Posted by kriktsemaj99 View Post

If you're not connected on COM1 you have to specify the port on the command line. e.g. for COM2

java -jar iPhoneSerial.jar -p COM2

There we go, my Ethernet serial server is on COM5, that did it! It works and yeah I've had it crash (iPhone app) a few times it does work, wish you could control more functions with it.

Thanks again for all the work you've put into this. Waiting to see what else you come up with:-)
post #230 of 291
Thread Starter 
Glad it's working. I'm not 100% sure all the glitches are Yamaha's fault, but I'm pretty sure some of them are. It would be good to hear from someone who has a 3900 or Z7, so see if the Yamaha App itself works reliably or not. If you find anything obviously wrong, or you see a pattern to the crashes, please let me know (here or via a PM). I'll try using it myself for some real movie watching and see how it goes.

Since I don't have a Mac right now to do custom iPhone App development, I'll probably work on adding web browser control next. Then an iPhone or any other device with a browser could be used. And I'd definitely want to add a lot more functionality than the Yamaha iPhone App. It'll probably be a few weeks before there's anything to show, as I'm not spending a lot of time on it.
post #231 of 291
Thank you very much for your "Yamaha Tools". Since I'm a Linux users I'm interested in a iPhone_Serial Version for Linux. Do you think it's possible to port iPhone_Serial to Linux?
post #232 of 291
Thread Starter 
Quote:
Originally Posted by j.finis View Post

Do you think it's possible to port iPhone_Serial to Linux?

In theory it should work already, since it's written in Java. Not sure how that works in practice though.

You'll need the Linux equivalent of the RXTX serial port stuff, which you can download from here. Get the 2.2 pre-release binary (rxtx-2.2pre2-bins.zip), and find the Linux equivalent of rxtxSerial.dll (or you can build it from sources if the binary is not suitable). The README file should help. RXTXcomm.jar is common to all operating systems. You may have to copy these files to a particular place, but on Linux I'm not sure where that is.

My iPhoneSerial.jar should be comon to all OSes too, but I've never tried it on anything but Windows. You'll need to specify the Linux equivalent of a COM port using the -p command line flag. Note that the program listens on port 80 for the iPhone app, so it probably won't work if you have a web server running on your machine that also uses port 80.

I'm interested to know if it works. It can be a bit frustrating to use though, especially after the iPhone goes to sleep and wakes up. It can take a few attempts to get the app working again (not sure if this is my fault or Yamaha's).
post #233 of 291
Thread Starter 
By the way, there is a very promising new iPhone remote control app that's about to be released. See www.iruleathome.com and this avsforum thread.

It's going to cost $50, but it's a complete two-way remote for all your devices (IR, ethernet or serial control), and can be customized both for the user interface and the codes. The Wifi to serial conversion for older Yamaha receivers could be done by an external box such as this, but a PC running a simple TCP to serial conversion program should work as well (same principle as iPhoneSerial).

And I believe the GUI app for configuring everything works from a web browser so it will support any OS.
post #234 of 291
Quote:
Originally Posted by kriktsemaj99 View Post


You'll need the Linux equivalent of the RXTX serial port stuff, which you can download from...

Thanks. That's the hint I needed.

Quote:
Originally Posted by kriktsemaj99 View Post

I'm interested to know if it works.

I will try run iPhone_Serial on Linux at least this weekend and I'll report my results.
post #235 of 291
iPhoneSerial works under Linux.

Now I'm able to remote control my rx-v 1800 with my iPod touch! Thanks again.
post #236 of 291
Thread Starter 
Quote:
Originally Posted by j.finis View Post

iPhoneSerial works under Linux.

Wow, I'm pleasantly surprised Java lives up to its cross-platform promise. Could you describe how you installed the extra files, and what the serial port is called under Linux.

I found the Yamaha app to be a bit quirky, but that might be caused by the Wifi disconnecting when the phone goes to sleep. Someone with an RX-V2065 which the app supports said it did the same thing when waking up (sometimes you are no longer at the main control page, but you can get back there after a couple of tries). Let us know if you find it stable enough to use on a regular basis, or whether you get frustrated and dump it .
post #237 of 291
I installed rxtx under Linux (Ubuntu) as described under http://www.rxtx.org/ -> HOWTO.

If your computer has physical COM-Port(s), they are called /dev/ttyS0, /dev/ttyS1. If you use a USB2Serial converter the port is called /dev/ttyUSB0.
post #238 of 291
Hi All

I've been able to download the RS-232 protocol specifications for the RX-V3800 from both:
www.yamaha-service.de/getfile.php?servicefile=/owners_manual/audio/Rxv_serie/RXV3800/RS232_RXV3800.zip&lang=e
and
www.yamahapab.com/assets/downloads/codes/RX-V1800_RS232C_Standard.pdf

however there seems to be some critical information missing from these documents.

Specifically, the port wiring and settings (baud rates, stop/start bits, handshaking) and more critically, the definitions for some of the framing codes used, eg. DC1, DC2, ETX, etc. and checksum calculation.

I've searched this thread and have found ETX = 0x03 but nothing for the other framing codes.

For those who have written control software for the RX-V3800, can anyone point me in the right direction to fill in the missing gaps, preferably from an official Yamaha published source?

Many thanks
Roland
post #239 of 291
Hi all

I have downloaded the RS-232 protocol specifications for the RX-V3800 from:
http://www.yamahapab.com/assets/downloads/codes/RX-V3800_RS232C_Standard.pdf
and:
http://www.yamaha-service.de/getfile.php?servicefile=/owners_manual/audio/Rxv_serie/RXV3800/RS232_RXV3800.zip&lang=e

however these documents seems to be missing some critical information, such as the port wiring and settings, and more crucially the definitions for checksum calculations and the data framign codes, eg. DC1, DC2, ETX, etc.

I've searched this forum and found some definitions for STX and ETX but not for the other codes.

Can anyone here who has written control software for the RX-V3800 please point me to where this additional information might be found, preferably from an official Yamaha published document?

Many thanks
Roland
post #240 of 291
Thread Starter 
Download the ZIP file I linked towards the end of the first post in this thread. In there, the Vx700 documents are actually more complete than the Vx800 ones you have, and the codes are the same. The required wiring and port settings are also described.

The framing codes STX, ETX, DC1 etc. are standard ASCII characters. See for example www.asciitable.com. The checksum calculation for extended commands is as described (very briefly!) in the document you have, but it's the ascii codes themselves that need to be summed, not the hex values. I'll post a more detailed describtion of that when I get home tonight.
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Receivers, Amps, and Processors
AVS › AVS Forum › Audio › Receivers, Amps, and Processors › Enhancing Yamaha AVRs via RS-232