Post Reply 
External I/O (Smartstream, etc.).
09-14-2015, 06:38 AM
Post: #1
External I/O (Smartstream, etc.).
If HP won't support internal native code for fast algorithm calculations, maybe it could be done by sending data to an external board where the calculations could be done instead....like an accellerator board. Maybe could add sound to that too.
I have a few questions about prime I/O...

1.Can someone supply me with links to SmartStream specs for someone wanting to develop their own smartstream hardware?

2.Can smartstream work over the wifi dongle or is it USB only?

3.Is smartstream read data only? i.e. probe sends data to the prime, but prime cannot send data to probe....or is it bidirectional?

Thanks in advance.
Find all posts by this user
Quote this message in a reply
09-14-2015, 02:17 PM
Post: #2
RE: External I/O (Smartstream, etc.).
If sending them via messages works for you to the "accelerator board" (Example a 50g that does not constantly crashes and deletes all your data Big Grin ) you could get the protocol just via sniffing the usb: http://www.hpmuseum.org/forum/thread-654.html

I haven't seen data published about the smartstream. Somebody needs to buy one and snif the protocol.

My website: erwin.ried.cl
Visit this user's website Find all posts by this user
Quote this message in a reply
09-14-2015, 06:46 PM
Post: #3
RE: External I/O (Smartstream, etc.).
Perfect....good example. Message passing would be perfect. I'll have to look into this in the upcoming months.
Find all posts by this user
Quote this message in a reply
09-15-2015, 12:55 AM
Post: #4
RE: External I/O (Smartstream, etc.).
(09-14-2015 02:17 PM)eried Wrote:  I haven't seen data published about the smartstream. Somebody needs to buy one and snif the protocol.
And whoever happens to own a StreamSmart 410 will hopefully also be able to answer this question: ;-)

http://www.hpmuseum.org/forum/thread-440...l#pid40679

Greetings,

Matthias


--
"Programs are poems for computers."
Find all posts by this user
Quote this message in a reply
09-15-2015, 05:33 AM
Post: #5
RE: External I/O (Smartstream, etc.).
Hello,

> Fast algorithm calculations, maybe could be done by sending data to an external board where the calculations could be done instead....

At the moment, there is no ways to control USB from the calculator code, so it would make it hard.


> Can someone supply me with links to SmartStream specs for someone wanting to develop their own smartstream hardware?

This is no easy task to do. The communication protocol is the easy thing there, Creating an accurate measuring device is the hard part (actually, the hardest is the probe recognition). Contact us if you have a good prototype working.


> Can smartstream work over the wifi dongle or is it USB only?

USB only


> Is smartstream read data only? i.e. probe sends data to the prime, but prime cannot send data to probe....or is it bidirectional?

Well, it is bi-directional as the calculator does have to send configuration data to the streamer, however, once this is done, it is pretty much one directional. Kind of like a keyboad. The OS CAN send some data to the keyboard (for example to setup the LEDs such as ver-num), but 99% of the communication is keyboard to PC.

Cyrille

Although I work for the HP calculator group, the views and opinions I post here are my own. I do not speak for HP.
Find all posts by this user
Quote this message in a reply
09-15-2015, 11:52 AM
Post: #6
RE: External I/O (Smartstream, etc.).
(09-15-2015 05:33 AM)cyrille de brébisson Wrote:  Hello,

> Fast algorithm calculations, maybe could be done by sending data to an external board where the calculations could be done instead....

At the moment, there is no ways to control USB from the calculator code, so it would make it hard.
Well the smartstream has to get it's data somehow....I'm thinking of using whatever is there. I haven't looked at that much yet at all. There is a message passing project out there already...as in this link....how is it doing it?

http://www.hpmuseum.org/forum/thread-654.html

Quote:> Can someone supply me with links to SmartStream specs for someone wanting to develop their own smartstream hardware?

This is no easy task to do. The communication protocol is the easy thing there, Creating an accurate measuring device is the hard part (actually, the hardest is the probe recognition). Contact us if you have a good prototype working.
That's what I do for a living....so it's not so tough.

Quote:> Can smartstream work over the wifi dongle or is it USB only?

USB only


> Is smartstream read data only? i.e. probe sends data to the prime, but prime cannot send data to probe....or is it bidirectional?

Well, it is bi-directional as the calculator does have to send configuration data to the streamer, however, once this is done, it is pretty much one directional. Kind of like a keyboad. The OS CAN send some data to the keyboard (for example to setup the LEDs such as ver-num), but 99% of the communication is keyboard to PC.

Cyrille
Find all posts by this user
Quote this message in a reply
09-16-2015, 05:36 AM
Post: #7
RE: External I/O (Smartstream, etc.).
Hello,

I was involved, in the past in the creation of a streamer, and we found it particularly challenging...

The basic issue is the precision that you need to have on the analog part in order to differentiate between the probes.

Most probes work in 5V. They are identified by resistors. They are around 75 different probes.
Since the sensing circuitry is all 3.3 or lower voltages (but input are in the 5V range), you need to divide the inputs before digitizing them.
So, the analog and digitizing needs to be accurate to within 1/75=1.3%. This is VERY hard to achieve...

Cyrille

Although I work for the HP calculator group, the views and opinions I post here are my own. I do not speak for HP.
Find all posts by this user
Quote this message in a reply
09-16-2015, 01:42 PM (This post was last modified: 09-16-2015 01:45 PM by matthiaspaul.)
Post: #8
RE: External I/O (Smartstream, etc.).
(09-16-2015 05:36 AM)cyrille de brébisson Wrote:  The basic issue is the precision that you need to have on the analog part in order to differentiate between the probes. [...]
They are identified by resistors. They are around 75 different probes.
From a today's engineering point of view, I would call this a design fault - either a left-over from how someone would have approached this more than a decade ago, or an outgrow from aggressive (and misled) cost optimization, as for just a few cents more in parts one could use f.e. a serial EEPROM or other chip to identify probes via a digital protocol (through a (1- or) 2-wire interface). I take it that your data logger was interfacing an existing external design which you could not influence.

(The resistor approach is still okay to distinguish between perhaps a dozen different "probes", but IMO not for such a high number of probes. For comparison, Sony has introduced a new camera hotshoe named the Multi Interface Shoe in 2012. It uses three (analog) ID pins, of which at least one is connected to a small number of different pull-up or pull-down resistors in the devices and by which the camera can detect the attached type of device and select the corresponding interface. Devices are flashes, video lights, cabled and wireless microphones, GPS receivers, monitors, various adapters etc. Perhaps not the smartest approach for a future-oriented interface in 2012 either, but it is obvious that the number of possible types of devices is quite limited by the nature of the application "camera hotshoe", so it still works.)
Quote:Since the sensing circuitry is all 3.3 or lower voltages (but input are in the 5V range), you need to divide the inputs before digitizing them.
So, the analog and digitizing needs to be accurate to within 1/75=1.3%. This is VERY hard to achieve...
While it is possible to achieve this accuracy with the low resolution 8 to 12 bit ADCs built into microcontrollers, from own experience I know that it can be difficult and requires a good ground and power plane design and possibly a carefully decoupled analog reference input (and 1% or better resistors, of course).

But since the value of a probe's resistor does not change (putting temperature etc. aside for a moment), you can extend the time it takes to measure the resistance considerably (from milliseconds to perhaps half a second) and apply some filtering in the analog domain (f.e. capacitors) or in post-processing (averaging multiple measurements in a sliding window approach). Also, one way to greatly improve results is not (only) relying on the ad-hoc approach of using a resistive voltage divider, but to use an active driver circuit into the ADC input. This will also help eliminate the influence of the ADC itself. Alternatively, you might "translate" the resistor value into another property which can be measured with higher accuracy without relying on the internal ADCs, f.e. let the resistor change the frequency of a (voltage- and temperature-compensated) multivibrator (or compare against a reference multivibrator), and then use one of the timers to count impulses within a given timeframe.

Greetings,

Matthias


--
"Programs are poems for computers."
Find all posts by this user
Quote this message in a reply
09-16-2015, 02:39 PM (This post was last modified: 09-16-2015 02:39 PM by Tim Wessman.)
Post: #9
RE: External I/O (Smartstream, etc.).
(09-16-2015 01:42 PM)matthiaspaul Wrote:  From a today's engineering point of view, I would call this a design fault - either a left-over from how someone would have approached this more than a decade ago,

Well, how old do you think the probes are? :-D

Note that we've never manufactured them and they are sold by a 3rd party company.

TW

Although I work for HP, the views and opinions I post here are my own.
Find all posts by this user
Quote this message in a reply
09-16-2015, 02:42 PM
Post: #10
RE: External I/O (Smartstream, etc.).
Same age as Stonehenge? ;-)
Find all posts by this user
Quote this message in a reply
09-17-2015, 07:38 AM
Post: #11
RE: External I/O (Smartstream, etc.).
I wasn't planning on doing any measurement. I just wanted a way to communicate from a program on the prime to an external device. Then I can do anything I want.

However, your talk about probes, etc... Most of the analog measurement I've worked with in the past involved the use of ADC's and fixed connections (like monitoring some parameter (voltage or current usually). There is a standard 4mA interface that you can attach things like thermometers and other measurement "probes" that are usually fine as long as you follow the specs.
I've used the ADC's in the microcontrollers and they worked fine.

However, you need to calibrate your boards during your manufacturing process usually.

Sure, if you are desiging some kind of generic datalogger that takes multiple probes for measuring multiple parameters, then trying to be all things to all parameters will be difficult.
It's usually better to dedicate certain pins to certain parameters and to mux the ADC and use dedicated lines for certain "probes".
Find all posts by this user
Quote this message in a reply
09-21-2015, 05:42 AM
Post: #12
RE: External I/O (Smartstream, etc.).
Hello,

So, what you really want is a way to send/receive USB messages from the calculator, and you were thinking: if I make myself look like a data streamer, I might be on the right tack...

There are 3 roadblocks with what you are trying to achieve.
1: the Prime OS would need to recognize YOUR device VID/PID. The OS that we use does not do anything with USB devices that it does not know. Solving this is easy, you just need to hijack the VID/PID of either the Streamer, USB Dongle or other calculator. But then your device becomes indistinguishable from them.
2: Your device has to be HID. This is the only USB protocol supported
3: There is no user accessible functions to send/receive USB reports.

3 is a big blocker there as you (as a Prime user) have no ways to control that.

so, sorry, but would not work at this point in time.

Cyrille

Although I work for the HP calculator group, the views and opinions I post here are my own. I do not speak for HP.
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)