Years ago, the good people now at www.rosoelectric.com, in the USA, released a wonderful program called DDEView. Not only that, but they made it freeware!
For a few years up to January 2017 the program seemed to have disappeared, which would have been very sad. But then the author got in touch, and it seems to be back again.... hurrah!
I didn't encounter anything worrying while installing. I did not check it thoroughly for spyware. (With Eset, on a Windows 7 machine.) I should add that I have not had extensive experience with this software... but initial tests are encouraging. If it proves robust and reliable, we owe Roso a huge vote of thanks.
DDE View takes away almost all of the hard stuff of working with 1-Wire chips on MicroLans. (If you have no idea of what they are, you can visit my introduction to 1-Wire and MicroLans.) DDEView is a DDE server. Don't Panic! All you have to do is start it up, and then use a DDE aware spreadsheet or programming language to supply a DDE client... It really is very easy, and explained below. But you should Be Glad you didn't have to create (or buy) the DDE server!
A little word about DDE vs DDL:
DDE, "dynamic data exchange", is a clever software technology which lets two programs running in one computer "share" data.
A DLL, "dynamic link library", on the other hand, is something that has been written in a way that lets other programs "dip into" it, use functions and procedures, without the need or annoyance of having to know too much about the details of how those tasks are accomplished. I've written tutorials about DLLs and their use. If you want to write one, or use one from a program you're writing, see my Delphi tutorial on writing and using DLLs. If you want to use functions or procedures inside a DLL from an Open Office document, I have a different tutorial on DLL use with Open Office. (I haven't written anything (as of 3/2011!) on using DDE. (Apart from what's included below!)
(This section updated Jan 2017, using a Windows 10 PC to check things.)
The software this page was written to extol supports, builds on, the brilliant "1-Wire" system, created by Dallas, which became Dalsemi, which was absorbed into Maxim... so you will find Good Stuff on the net under all those names. You will also find it connected to "MicroLan", a registered trademark, as is "1-Wire". (You can also use 1-Wire with Arduinos... but the Roso software won't work there.)
So before the Roso software will do anything for you, you need a working 1-Wire setup. Happily, the good people at Maxim provide a good setup process. You will also need "an adapter", and at least one 1-Wire chip wired to a cable to plug into the adapter. (More on this at my 1-Wire pages.)
And the free stuff from Maxim, in addition to the drivers, includes a simple app to look at what you have on your MicroLan, including a facility to do simple graphs. Make sure THIS is working, before trying to "take it to the next level"!
(This section updated Jan 2017, using a Windows 10 PC to check things.)
Go to Roso's site, links at bottom. (Both downloads are from a Microsoft "OneDrive" account. You don't have to register with anyone to do the downloads.)
You can, if you wish, start by just downloading the user's manual (Pdf, 1.5meg)
When you are happy, download the DDE View software (Setup-type .exe, about 5MB)
When you run that, it will install the .exe, the manual, and two .zip archives with spreadsheet & Delphi code examples. and put a folder with links in your "Start" menu, or whatever Microsoft has named that this week. (I tested DDEView_v2 on a Windows 7 machine.)
It will also create an entry in the bowels of Windows, so that if you go to "Add Remove Programs", there's an entry for uninstalling DDE View.
(This section updated Jan 2017, using a Windows 10 PC to check things.)
The manual is excellent. To the point. Sensibly illustrated. Etc. This is especially laudable if as I suspect the author was working in a second language. (He formerly lived in South America.) Do read it!
Run the program which sets up the software. It lets you choose where to put the software.
In a hurry? You can skip this paragraph 'til later: Use Winzip or similar to extract the samples.
You probably have to install the Dallas TMEX software before DDEView will work. I didn't try it in a machine with no TMEX. Installing is explained in the manual. Installing TMEX is always a good idea if you want to work with 1-Wire, if only for the neat little testing tool "OneWireViewer".
(This section updated Jan 2017, using a Windows 10 PC to check things.)
Before you run DDEView for the first time, disconnect anything you have on your serial or parallel ports, except for a MicroLan adapter. That should be connected, and have some 1-Wire chips attached to it. Do you really need to disconnect other things? I am, perhaps, being over-cautious. Fear not. Once you have DDE View working, you WILL be able to use your other ports in the normal way.
When you start it for the first time, you go into a nice MicroLan monitoring application. (That's not all that DDEView is good for... but is it pretty useful in its own right! Will plot graphs of readings over time, for instance.)
The software will require you to obtain an unlock code from the author. I had a quick response.
Once unlocking is out of the way, don't be alarmed/ confused if the display shows some devices NOT on your MicroLan and doesn't show devices that ARE. You need to do "setup/restart" to re-scan things, get the software configured for YOUR circumstances.
NOTA BENE: From here, what you are reading are edited notes of experiences from Long Ago. 2004! On a Win98 machine! (I will try to test DDEView_ver2 soon... but you want this web page "now", don't you?)
I now work in Lazarus, which can usually run Delphi code.
Once the installer is done, run DDEView. You don't even have to restart the computer.
You SHOULD then "drop through" to what the manual illustrates and described as the "DDE View Software Main Window"... a tree of the hardware on your MicroLan, (The tree is like the one in the folders pane of the Windows Device Manager, or Windows Explorer). The headings are:
THERMO
DPRAM
SSW
SWITCH
... etc...
After each heading, you will see a number which indicates how many devices from that family were discovered by DDEView while initializing. If you change what is on the MicroLan, you have to restart DDE View, or use the "Add device" or "Remove device" item under the Setup menu item of the main window.
If you get the "Port and Adapter Selection" dialog again, shut DDEView down, and check with OneWireViewer or similar that your MicroLan is up and running okay. Try DDEView again. No joy? See "Why Almost", below.
Anyway, assuming you do get the DDE View Software Main Window: Congratulations! That's it! Your DDE server is up and running. You can use it directly to look at things and to plot graphs, record machine readable data log files.
And that's just the start of the Good Things available, once DDEView is up and running.
You can now have values from sensors on the MicroLan appear, automatically, in spreadsheets. You can access values from sensors, easily, from any program written with a language which can create DDE clients. I tested that assertion with Delphi, for example. The DDEView manual says you can also use C++, Intouch, TestPoint. I am sure there are many others, as DDE was a "must have" for quite a while. If anyone has used DDEView with Open Office, I'd be glad of an email. (The Open Office help pages suggest it should work... I just haven't had a chance to test it myself.)
Going back to the plotting option: That is achieved via the Options | Multiplot choice. It took me a moment to figure out what the DDE View programmers wanted me to with their "Channel select" and "Available variables" pull down lists. The system is actually pretty cool once you get the hang of it. It lets you assign any available thing-being-sensed by a 1-Wire chip on the MicroLan to any of the channels (lines) provided for the graph.
(This section updated Jan 2017, using a Windows 10 PC to check things.)
Here are my experiences while doing quick "does it work?" tests:
Long ago (2004!), I tried the spreadsheet example in the user's guide. Starting DDEView and simply putting....
=DDEView|Value!THERMO1_ReadTF
... in an Open Office Calc spreadsheet cell was all it took to read the first temperature chip on the MicroLan. If the temperature changed, the value shown on the spreadsheet changed. Fantastic. (It worked with whats-his-name's spreadsheet, too.)
In March 2017, I am still using OpenOffice. The syntax for the command is different today, but it is just a matter of "punctuation". Then and now, there are three elements. The new syntax makes that more clear...
=DDE("DDEView";"Value";"THERMO1_ReadT");
Note several things. It all has to be EXACTLY right, to work!
Bur first I must admit something tedious: At the moment, 08 Mar 17, I am missing something. It reads the temperature sensor... once. That wasn't the case "in the old days". It is likely that I haven't set something quite right in my spreadsheet. How can it "work" once, but not repeatedly?? (If I use DDE, 3/08, to "watch" a cell in another spreadsheet, updates happen seamlessly.
So... the details: The expression is case sensitive. You have to enter, say, "DDEView". Not "ddeview". Not "DDEVIEW". Etc.)
I can't, in limited trials, get DDEView to give me the reading from the temperature sensor in Fahrenheit, which is what THERMO1_ReadTF is supposed to return. But I can get the temperature in Celsius! (THERMO1_ReadT) (No "F" at the end.)
That's THERM- "oh", channel 1, not THERM-, channel zero 1.
Ah, computers. (Bah.)
This section, below here... NOT tested (yet!) 2017
Back in 2004, I also tested one of the Roso provided Delphi examples. I used Delphi 2 and Delphi 7, Personal (free from a magazine cover disc) to test DS1820S.exe, which reads values from a 1-Wire temperature chip, via the "magic" of DDEView, which had to be running before DS1820S was invoked. (N.B.: I'm not talking about the similarly named program "DS1820.exe" (no "S")) It seemed to work fine, in the short trial I gave it. N.B.: A Delphi program to read the data from a temperature sensing chip, via the DDE server ( DDEView), is trivial.... it only requires about three lines of code beyond the normal overhead needed for any Delphi application. I've posted a guide to DDE client programming in my Delphi Tutorials site.
(2017: I now use Lazarus, very nearly a "free Delphi". (Totally free. Nearly Delphi.) for my general programming projects. And, as you will by now be guessing, I have pages about the Lazarus programming language. It is BRILLIANT. And multi-platform.
(Old notes, from 2004. Probably still valid... or a subset of what it can handle. See manual.) The following chips are supported. And "supported" is something of an understatement. Many of the chips below have multiple functions and possible setups. While not every 1-Wire chip is supported, for the ones that are, they seem well supported. For example, the DS2450 can be set for two different input ranges. The DS2409 MicroLan coupler chip (used in hubs) doesn't seem to be supported. The only other thing I couldn't find was a way to read or write significant amounts of EEPROM. There are 1-Wire chips which permit this, but DDEView does not support them, as far as I know. (You can store or read 30 characters in a DS2438 or a DS2760)
For each chip, you tell DDEView how often you want it polled.
DS18x20/1822 (Temperature sensors)
DS2404S-001 (Real Time Clock and SRAM)
...Thank you Roso! I hadn't realized there was a 1-Wire RTC!
DS2405 (One bit of digital input (DI) or output (DO))
DS2406/07 (One bit of DI or DO, with activity memory)
DS2408 (8 bits of DI or DO, with activity memories
DS2423 (Dual counter)
DS2438 (An amazing chip. See manual. ADCs, etc.)
DS2450 (Quad ADC)
DS2760 (A super 2438, for lithium ion batteries.)
DS2890 (DAC.. again: Thank you Roso...)
(A random bit of "I could do that...": With a DS2890, you should be able to adapt the controller for a radio controlled model to give a computer-over-radio-link-controlled anything-that-responds-to-two-servo-motors, e.g. something to tilt/ pan a webcam...)
Along the way to finding my work-around, I deleted all of the files named "irunin" in the DDEView folder. (There were three, of different types.) I don't know if that was a good idea or necessary. (Probably a Bad Idea. Still part of the product, 3.2017) Without those files, I could only run DDEView, if....
Just before I ran the program, I deleted the DDEView.ini file which would repeatedly be re-stored in the folder.
Apparently because I have done this, the software scans all ports (well, at least COM1 and LPT1!) for a Dallas adapter. I'm not sure what the resultant signals would make a printer do... I have none plugged in. (Hence my "warning", up the page.) This DOES find the DS9097 I have on COM1, and the program runs fine.
Having a DS2409 (hub coupler switch) may interfere with the start up process... but it still falls over (on my system), even if there's no DS2409.
At the moment, if I don't delete the DDEView.ini file, DDEView asks me to specify my adapter and port, and then tells me it isn't there... when it IS! :-)
You know.. it really isn't fair. When I started with 1-Wire chips, you had to work really hard. With DDEView, 99% of the work is done for you!
Here is how you can contact this page's editor.
Click here to go to a general 'electronic projects' page by editor of this page.