The Museum of HP Calculators

HP Forum Archive 21

[ Return to Index | Top of Index ]

HP IL over wifi ... (ILPer & go71b)
Message #1 Posted by Olivier De Smet on 18 Aug 2013, 9:30 a.m.

Hi,

I am finishing to code HPIL emulation in go71b, but I have some problems to solve.

To be able to debug efficiently, I used ILPer 1.4x (HP-IL scope is a very nice feature) from JF Garnier & C. Giesselink.
I have 3 configurations to make some tests.

1) real HP71B (rom 1BBBB, HPIL 1A) + pil box (thanks again JF) + ILPer on the same PC (localhost)
2) emu71 (rom 2CDCC, HPIL 1B) + ILPer on the same PC (localhost)
3) go71B (rom 2CDCC, HPIL 1B) on android tablet + ILPer on the PC (192.168....) so it use the wifi stack of both tablet and Pc

To sum up :
1) & 2) are fast and nice to use (network round trip on 'localhost' is 1 ms or so).
3) works at 5 characters per second !!! (wifi round trip is 200 ms) So it can't be faster :(

Did someone know if the asynchronous mode of HPIL is possible on 71B ?
Did ILPer & all support asynchronous mode too ? (I am not sure about this one when looking to the sources)

I can't really make tests with the pilbox connected to the android tablet, I don't have any HPIL device. I could use 2 pilboxes to connect back to ILPer, but I have only one :) I will try with the 71B in device mode but it is somewhat limited

Did someone have any idea ?

Thanks in advance,

Olivier

Edited: 18 Aug 2013, 12:14 p.m.

      
Re: HP IL over wifi ... (ILPer & go71b)
Message #2 Posted by J-F Garnier on 18 Aug 2013, 3:10 p.m.,
in response to message #1 by Olivier De Smet

Hi Olivier,

The HP-IL protocol IS synchronous, that is only one frame travels on the loop at a time (except for a few special cases like loop initialization or reset), next frame is sent only when the previous one returns to the sender.

This was already a limitation of the PIL-Box on the USB: the speed depends on the latency timer of the USB driver that must be set to a minimum (usually 1ms) to get good performance.

If Wifi can't be faster that 200ms, this means Wifi is not a good choice to transport the HP-IL protocol.

There is a so-call 'asynchronous mode' in the HP-IL protocol, but it will not help. The 'asynchronous mode' (when enabled with the HP-IL EAR command - Enable Asynchronous Request) can be used by a device to request service when the loop is idle by sending a frame to the system controller (this avoids the controller to continuously poll a device), then the loop resumes in synchronous mode. There is nothing more than that (BTW the HP-71B supports this asynchronous mode, the PIL-Box should support it as well but I didn't check).

J-F

      
Re: HP IL over wifi ... (ILPer & go71b)
Message #3 Posted by Egan Ford on 18 Aug 2013, 4:37 p.m.,
in response to message #1 by Olivier De Smet

Quote:
3) works at 5 characters per second !!! (wifi round trip is 200 ms) So it can't be faster :(
That seams very slow. I am getting sub 2 ms round trip from WiFi to base-station to switch to router and back. 64 byte payload. Note, not TCP. So, I do not think it is a limitation of WiFi. Dunno about the Android aspect of it.
      
Re: HP IL over wifi ... (ILPer & go71b)
Message #4 Posted by Egan Ford on 18 Aug 2013, 4:43 p.m.,
in response to message #1 by Olivier De Smet

Quote:
I can't really make tests with the pilbox connected to the android tablet,
We need a PILBox that connects to the headphone jack. I've been able to get up to 9600 BPS out of my iPhone headphone jack to my Apple II. 8000 BPS is more stable. That just using zero crossings. A "fancy" decoder in the PILBox could do so much more.
            
Re: HP IL over wifi ... (ILPer & go71b)
Message #5 Posted by Olivier De Smet on 18 Aug 2013, 4:55 p.m.,
in response to message #4 by Egan Ford

The problem is that I do not have any HPIL device to make tests.

About Wifi latency, it is due to android (NEXUS 7) with 100 ms latency, (from PC to a MAC on the same wifi network I get 10 ms latency)

Anyway I will look at making some short circuits on hpil on tcpip, to allow at least 'dumb' device (only listener) to be fast.

I will look at adding a second hpil loop with the pilbox (a 71B can address more than one loop see hp82402a ) for 'talker/listener' intelligent devices (MASSMEM)

Talking to pilbox from android is not difficult. FTDI released a complete library to deal with their devices on android.

And perhaps a third loop with local (android) devices ...

Edited: 18 Aug 2013, 4:56 p.m.

                  
Re: HP IL over wifi ... (ILPer & go71b)
Message #6 Posted by Egan Ford on 18 Aug 2013, 10:55 p.m.,
in response to message #5 by Olivier De Smet

Another option would be a BT PILBox. The latencies for newer low power BT is around 3ms.

                  
Re: HP IL over wifi ... (ILPer & go71b)
Message #7 Posted by Mike (Stgt) on 19 Aug 2013, 8:23 a.m.,
in response to message #5 by Olivier De Smet

No IL device for tests? If you got a second HP71B you may use ist as a device, just make it _not_ acting as a controller (a feature I hardly miss on the HP41, even the Devil ROM makes it only an HPIL monitor).

No spare 71B? Then you may use the simulated IL devices. INHO, for testing traffic they are close enough to real devices.

Ciao.....Mike

                        
Re: HP IL over wifi ... (ILPer & go71b)
Message #8 Posted by Olivier De Smet on 19 Aug 2013, 9:50 a.m.,
in response to message #7 by Mike (Stgt)

I will use my only 71B in device mode with a pilbox connected to my nexus7 tablet (go71b)

I can not use simulated IL devices in this way ... they are used on the USB side of the pilbox and here as I connect the pilbox on the USB side on the tablet, I need the devices on the real IL connectors side ... so on this side you need REAL IL devices ;)

Olivier

                              
Re: HP IL over wifi ... (ILPer & go71b)
Message #9 Posted by Marcus von Cube, Germany on 19 Aug 2013, 9:53 a.m.,
in response to message #8 by Olivier De Smet

A second PIL Box will do...

                                    
Re: HP IL over wifi ... (ILPer & go71b)
Message #10 Posted by Olivier De Smet on 19 Aug 2013, 9:57 a.m.,
in response to message #9 by Marcus von Cube, Germany

I know, see first message, but actually I have to test with what I have on my desk :)

                              
Re: HP IL over wifi ... (ILPer & go71b)
Message #11 Posted by Mike (Stgt) on 19 Aug 2013, 11:20 a.m.,
in response to message #8 by Olivier De Smet

Ah... do you want to thest the PILbox or your go71b? ;)

Maybe I do not see your problem yet, but go71b is a simulation (or emulator), it connects via virtual IL to a PC running ILPer and some IL-sniffer I suppose. So everything is virtual and works, what do you like to test with real devices? If go71b gets connection to ILPer it probably will do so too with real devices via PILbox, I assume.

Ciao.....Mike

Well, maybe I am too strong on this "virtual _is_ real" thing.

                                    
Re: HP IL over wifi ... (ILPer & go71b)
Message #12 Posted by Olivier De Smet on 19 Aug 2013, 12:04 p.m.,
in response to message #11 by Mike (Stgt)

All is explained in the first mail.

If I choose the virtual way (go71b connected to a pc running ILPer & all with wifi), all I have is a speed of 5 characters/second ... instead of around 2000 or more on a real HPIL loop

By connecting directly on PilBox I hope to have a better speed :)

Edited: 20 Aug 2013, 3:00 a.m.

      
Re: HP IL over wifi ... (ILPer & go71b)
Message #13 Posted by Olivier De Smet on 20 Aug 2013, 5:44 a.m.,
in response to message #1 by Olivier De Smet

Ok, I found some ideas.

Now the pilbox is working connected to the android tablet and controling the 71B in device mode with REMOTE and OUTPUT.

I found a nice usb to usb bridged cable based on FTDI chip (see LINK ). With this one I could certainly connect to ILPer & all on the PC.

Some informations for interested people:
- all serial emulation based on FTDI chips need at least android 3.2 so a new version of each goXX app should be needed ... (actually I try to stay with android 2.2 at least)
- I will certainly add serial emulation in go48gx (and perhaps in go49g ...) but same apply, android 3.2, new goXX app and YOU will need a USB to RS232 cable based on FTDI chip (same site as previous) ...

More infos when I get the cables

Olivier

Edited: 20 Aug 2013, 7:05 a.m.


[ Return to Index | Top of Index ]

Go back to the main exhibit hall