Sure, if you are skilled enough, you even could reverse engineer the whole RTX6001, but that is not the way to go, way too time consuming and still prone to errors. So I really hope Jens will give us additional technical information (if RTX allow him to do so).
I did ask way back if Jens would publish more tech details of the product. Don't need disclosure of every detail but certainly enough to be able to do repairs assuming someone has basic electronics and repair knowledge. Why? well I hope to never need such info and whilst some may rightly say 'if you have the info but that doesn't ensure you can repair it' lets say the manufacturer 'disappeared' (I think that has already happened for all practical purposes) and Jen's 'disappeared' (hope not but you know what I mean) then I would like to be given a fighting chance to contemplate a repair for what is for me an expensive piece of kit.
Documentation
In the good old days, one received all documents automatically (without begging) including schematics and part lists when purchasing an instrument. Good examples are HP and Tektronics. Nowadays, many companies are afraid of stealing their precious (ahem) intellectual properties. Rather petty and narrow minded, I would say. 🙄
In the good old days, one received all documents automatically (without begging) including schematics and part lists when purchasing an instrument. Good examples are HP and Tektronics. Nowadays, many companies are afraid of stealing their precious (ahem) intellectual properties. Rather petty and narrow minded, I would say. 🙄
Narrow minded...
So, the source code for Diana is on Github?
In the good old days, one received all documents automatically (without begging) including schematics and part lists when purchasing an instrument. Good examples are HP and Tektronics. Nowadays, many companies are afraid of stealing their precious (ahem) intellectual properties. Rather petty and narrow minded, I would say. 🙄
So, the source code for Diana is on Github?
The days of getting full details on electronic instruments were a byproduct of selling quantity to the US military. They required service info with a high level of detail to get the contract and sometimes forced the vendor to enable a competitor to be able to build them.
However custom IC's and surface mount stuff that doesn't lend itself to component level repair brought that to an end.
I would also like a calibration sequence etc. just to be able to verify/maintain the box. probably no need to even open it to verify calibration.
However custom IC's and surface mount stuff that doesn't lend itself to component level repair brought that to an end.
I would also like a calibration sequence etc. just to be able to verify/maintain the box. probably no need to even open it to verify calibration.
LOL.So, the source code for Diana is on Github?
But maybe I will put some parts of it in the public domain, for example how to communicate with the RTX via the USB port, because some vital information is missing in the official documentation. It only describes how to interpret the transmitted data and it shows this sentence: "The RTX6001 device is identified by Usage Page 0xFF52 and Usage 0x02". For those not familiar with USB programming, the latter might be rather cryptic.
Well, it implies (in short) that you have to initialize the USB port with this WIN32 function: RegisterRawInputDevices() and process WM_INPUT messages. BUT.... that only works if the so called RTX6001 Attenuation Control utility is also running. If not loaded into memory, the USB communication is dead. I'm sure not everybody likes this, including me. To figure out how to do it the right way wasn't that easy. For example is the USB stuff running kernel mode or user mode? Depending on these modes you have to use quite different system functions. However, by "reverse engineering" above utility I readily found the answer and could go ahead with programming.
Anyhow, if someone wants to know more about this topic, just sent me a PM or should I drop it on Github (about 200 lines of code)? 😉
Cheers, E.
Last edited:
...maybe I will put some parts of it in the public domain, for example how to communicate with the RTX via the USB port, because some vital information is missing in the official documentation.
I somehow found a documentation file for the USB communication a while ago (or maybe Jens sent it to me, I don't remember). I also had a hard time to get the USB communication up and running. Anyhow, here's how I did it in MATAA (open source, GitHub, etc.): mataa/RTX6001_USB_STATUS at master * mbrennwa/mataa * GitHub
mbrennwa: Does that hid module also work in windows? Thanks.
Windows... don't use it, so I don't know. I heard that there are people who do use Windows 😀, so maybe someone has worked with Python / HID / Windows before. Try Google.
RTX6001 USB port
I found that too. In particular this: "hid.device(0x0D9A, 0x00DF)" helped me in the right direction. That meant that I should go on with the vendor ID and product ID and not with these variables "Usage Page 0xFF52 and Usage 0x02"
Thanks again.
Cheers, E.
Hi Matthias,I somehow found a documentation file for the USB communication a while ago (or maybe Jens sent it to me, I don't remember). I also had a hard time to get the USB communication up and running. Anyhow, here's how I did it in MATAA (open source, GitHub, etc.): mataa/RTX6001_USB_STATUS at master * mbrennwa/mataa * GitHub
I found that too. In particular this: "hid.device(0x0D9A, 0x00DF)" helped me in the right direction. That meant that I should go on with the vendor ID and product ID and not with these variables "Usage Page 0xFF52 and Usage 0x02"
Thanks again.
Cheers, E.
HID usage in windows is something internal for windows HID Usages - Windows drivers | Microsoft Docs
And I heard that there are people who do use Linux...I heard that there are people who do use Windows 😀.......

RTX6001 USB port
If you are familiar with C I can help you.HID usage in windows is something internal for windows HID Usages - Windows drivers | Microsoft Docs
Edmont, I very much appreciate you offer. I am a java and linux guy 🙂 But hats off to C programmers, I have grown too spoilt to handle memory on my own.
But it may be helpful when I provide a list of system calls I've used, so you can use the equivalents of them in the language you are familiar with.
C language
Cheers, E.
Actually, C is a quite easy language. However, the zillions of system (win32) functions makes it less easy.Edmond, I very much appreciate you offer. I am a java and linux guy 🙂 But hats off to C programmers, I have grown too spoilt to handle memory on my own.
Cheers, E.
Good to know that you guys have got it working 🙂
I sent it to you in June 2017.
I somehow found a documentation file for the USB communication a while ago (or maybe Jens sent it to me, I don't remember). I also had a hard time to get the USB communication up and running. Anyhow, here's how I did it in MATAA (open source, GitHub, etc.): mataa/RTX6001_USB_STATUS at master * mbrennwa/mataa * GitHub
I sent it to you in June 2017.
Edmont, I very much appreciate you offer. I am a java and linux guy 🙂 But hats off to C programmers, I have grown too spoilt to handle memory on my own.
You can PInvoke any system calls in Windows with .NET and write your application in C#. Could even make it cross platform other than the different system calls if you use .NET Core 🙂.
Just for fun, i have measured (with RTX6001 analyzer, under same conditions) two oscillators:
1. - oscillator in HP339A and
2. - oscillator in RTX6001.
RTX was measured in loopback with xlr Neutrik cable. Signal from 339A is feed thru RG58 coax and Neutrik chinch to xlr adapter-far from ideal!
At first, I couldn't believe but it is evident - 339A oscillator has lower noise floor, partially over 25dBV better than RTX😱 specially by low level signals!
How could be that one over 40 years old design so superior is😕
I have only changed one old OpAmp for LT1468 in oscillator part of 339A, nothing else, and this 339A is pretty old, from the first ones.
This change was the reason for measurements, but I haven't expect so one difference.
Could it be that something is wrong with RTX?
https://www.diyaudio.com/forums/attachment.php?attachmentid=794546&stc=1&d=1573676588
https://www.diyaudio.com/forums/attachment.php?attachmentid=794549&stc=1&d=1573676588
https://www.diyaudio.com/forums/attachment.php?attachmentid=794550&stc=1&d=1573676588
https://www.diyaudio.com/forums/attachment.php?attachmentid=794551&stc=1&d=1573676588
https://www.diyaudio.com/forums/attachment.php?attachmentid=794552&stc=1&d=1573676588
https://www.diyaudio.com/forums/attachment.php?attachmentid=794553&stc=1&d=1573676588
https://www.diyaudio.com/forums/attachment.php?attachmentid=794554&stc=1&d=1573676588
https://www.diyaudio.com/forums/attachment.php?attachmentid=794555&stc=1&d=1573676588
https://www.diyaudio.com/forums/attachment.php?attachmentid=794556&stc=1&d=1573676588
https://www.diyaudio.com/forums/attachment.php?attachmentid=794557&stc=1&d=1573676588
Those pictures with mains 50 Hz impurity are from 339A
1. - oscillator in HP339A and
2. - oscillator in RTX6001.
RTX was measured in loopback with xlr Neutrik cable. Signal from 339A is feed thru RG58 coax and Neutrik chinch to xlr adapter-far from ideal!
At first, I couldn't believe but it is evident - 339A oscillator has lower noise floor, partially over 25dBV better than RTX😱 specially by low level signals!
How could be that one over 40 years old design so superior is😕
I have only changed one old OpAmp for LT1468 in oscillator part of 339A, nothing else, and this 339A is pretty old, from the first ones.
This change was the reason for measurements, but I haven't expect so one difference.
Could it be that something is wrong with RTX?
https://www.diyaudio.com/forums/attachment.php?attachmentid=794546&stc=1&d=1573676588
https://www.diyaudio.com/forums/attachment.php?attachmentid=794549&stc=1&d=1573676588
https://www.diyaudio.com/forums/attachment.php?attachmentid=794550&stc=1&d=1573676588
https://www.diyaudio.com/forums/attachment.php?attachmentid=794551&stc=1&d=1573676588
https://www.diyaudio.com/forums/attachment.php?attachmentid=794552&stc=1&d=1573676588
https://www.diyaudio.com/forums/attachment.php?attachmentid=794553&stc=1&d=1573676588
https://www.diyaudio.com/forums/attachment.php?attachmentid=794554&stc=1&d=1573676588
https://www.diyaudio.com/forums/attachment.php?attachmentid=794555&stc=1&d=1573676588
https://www.diyaudio.com/forums/attachment.php?attachmentid=794556&stc=1&d=1573676588
https://www.diyaudio.com/forums/attachment.php?attachmentid=794557&stc=1&d=1573676588
Those pictures with mains 50 Hz impurity are from 339A
Attachments
-
1,78mV 339A.png131.5 KB · Views: 302
-
1,78mV RTX6001.png119 KB · Views: 307
-
5mV 339A.png132.2 KB · Views: 304
-
5mV RTX6001.png119.3 KB · Views: 302
-
10mV 339A.png133.6 KB · Views: 292
-
10mV RTX6001.png119.6 KB · Views: 126
-
0,5V 339A.png131.7 KB · Views: 125
-
0,5V RTX6001.png124.6 KB · Views: 123
-
1V-339A.png126.8 KB · Views: 138
-
1V RTX6001.png122.9 KB · Views: 137
Last edited:
- Home
- Design & Build
- Equipment & Tools
- DIY Audio Analyzer with AK5397/AK5394A and AK4490