Today, we're going to take on the somewhat daunting topic of the ViVA Calculator. But first, as usual, a digression. This time a trip down memory lane, or for most of you, more likely a history lesson...
Back in the days just after man discovered fire, my teacher brought something to class that looked like this. What an amazing thing! You could hold it in the palm of your hand and do math problems on it. Too bad I couldn't afford the $295(!) it would cost to buy one. I found a quote from the original manual: "Our object in developing the HP-35 was to give you a high precision portable electronic slide rule. We thought you'd like to have something only fictional heroes like James Bond, Walter Mitty or Dick Tracy are supposed to own". (Funny, I don't recall James Bond doing logarithms all that often...)
Another exotic feature of HP calculators, as most people came to know, was something called RPN, or Reverse Polish Notation, something HP referred to as "the most efficient way known to computer science for evaluating mathematical expressions". For years it drew a dividing line between HP users and, for example, me.
I never learned to speak Reverse Polish, so when I opened the ViVA Calculator and saw the dreaded "Stack", I quickly averted my eyes and said, "In the interest of time, let's move on to the next part of the demo...".
But despair not, for I have braved the wilds of the ViVA Calculator and found that, armed with a few easy tips, anyone learn how to use it like a pro.
First, let's talk a bit about how to get data into the Calculator. After all this calculator is for operating on waveforms, not just crunching numbers, so first we need to get the waveforms in there. There are several ways to do this:
Push from RB (Results Browser): Select a signal name (only one), RMB->Calculator
Pull from RB: Select the Wave button in the Calculator, then click on signal name in RB (use Family button to grab parametric sweep data)
Push from Graph: Select a trace (only one), Calculator icon
Pull from Graph: Select the Wave button in the Calculator, then click on the trace in the graph window (use Family button to grab parametric sweep data)
Pull from Schematic (ADE mode): Select appropriate signal type on the Schematic Selection toolbar in the Calculator (vt, idc, etc), then click on the net or terminal in the schematic. This is probably the most common way of using the Calculator and certainly the most intuitive.
Repeated pushing/pulling of signals into the Calculator will cause previously selected signals to be--you guessed it--pushed onto the stack. So now that you've got all your signals of interest in the Calculator, it's time to take a look at how to work with the buffer and the stack.
Buffer & Stack
First, make sure you can see the stack (View->Show Stack). Now take a second and hover your mouse over all the icons on the toolbars just above and to the left of the stack area. These icons are your best friends in working with the buffer and the stack. My personal favorite is the "Undo" button. No pressure. If you make a mistake, just click "undo'.
Another useful button is the one on the left labeled "Pick selected item and put into buffer". No popping it to the top of the stack, just "put this thing up there now". Use those 2 buttons and the occasional Push (green arrow) and Pop and there's no expression you can't build.
The simplest and most powerful feature of the Calculator is the wide selection of built-in functions available for operating on your waveforms. Setting the cyclic pulldown on the function panel at the bottom of the Calculator to All will display a long list of over a hundred functions for your use. Just click on the one you need and it will either be immediately applied to the contents of the calculator buffer, or it will display a small form so you can fill in the appropriate arguments for the function.
You probably will only use a handful of these functions on a regular basis, so why not RMB on the ones you use most often and select Favorites to add it to your Favorites list. Now you can use the cyclic pulldown to display only that reduced list of functions so you don't have to hunt around every time you use them.
There are plenty of times when you'll end up with expressions that a extremely long, wrapping through several lines in the buffer. Not only can this be pretty unwieldy to work with, but since you went to a lot of work to create those calculations, you'd love to be able to reuse them later. That's what you can do with Memories. Simply click on the "M+" button just under the buffer to store whatever is in the buffer as a memory expression. Use the "ME" icon or select "Memories" in the cyclic pulldown above the Functions area to display all your saved memory expressions.
The memory expressions can be saved to a file, where it might be easier to edit them. They can also be read back in from a saved file and sent back to the buffer.