HP Forums

Full Version: pyILPER Version 1.3.4 released
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Release 1.3.4 of pyILPER, a Python implementation of the HP-IL peripheral emulator, is available for download on GitHub now.

Notable features are:
  • The terminal, printer and scope windows are now scrollable. The scroll buffer size is configurable.
  • The scope can now be configured to show inbound, outbound or inbound/outbound traffic.
A notable change is a new format of the pyILPER configuration file. It is a JSON text file now which necessitates a reconfiguration of version 1.3.4.

For other changes, improvements and bug fixes please visit the release download page or
see the change log in the online documentation.

If you installed pyILPER with the recommended Anaconda Python distribution you will get the updated version with a:
Code:
conda update --all

See the Installation Instructions for further details.

All feedback appreciated,
Joachim
Thanks Joachim!

Update process was fast and easy, and after configuring again, everything was working fine in a very quick test. Will drive it around some more tomorrow and post comments if I find any issues or questions.

FYI, my PIL-Box is on COM5: and it was available in the drop down list to choose, and worked fine.

Scrollable buffers are excellent, a very useful improvement!

Thanks!
Thank you Joachim,

Update worked flawlessly.
First tests shows everything seems to work.
I can now do a "tail -f" on log files and the data is updated live, very useful for me.
Great work! 8-)

Some small suggestion for a future update ...

- possibility to have multiple instances of pyilper each with their own configuration
When I do testing on a physical IL device, I use two PILBoxes, one before and one after the device being tested.
In that specific case, I will use a virtual scope on each PILBoxes.

- possibility to manually assign virtual devices position in the loop
Again for testing, I may want to control the position of each virtual device on the loop to observe some program behaviour.

Best regards,

Sylvain
Thanks’ Joachim

Update it-self went smoothly on Yosemite (drop down list now presents the serial connection).
I’ve got some issues with the virtual printer but I’m not 100% sure that it is update related. Before updating printer worked fine on my mac, I just have to uncheck/check ‘log printer 1’ to update the log file live. I went on holiday and made an install of Pyilper on a Windows 8.1. computer, two weeks ago. The printer no longer worked here, I thought it was windows related but now, back on my mac, after the update, I have the same issue; nothing on the printer window or on the log file (except the ‘Begin/End log stamp). If I swap the Pil-box with the 82162A HP-IL printer, printing works fine.
I have no clue on what is going wrong.

André
Hello André,

please check if the printer is enabled in pyILPER. Then - if you hava a HP-71B - issue
the commands "restore io" and "printer is :printer".

Regards
Joachim
Thank you Joachim,

The printer was of course enabled and I’ve got ‘only’ a HP-41CX as controller but your hint was good as I pursued it with the following commands: MANIO, 3 SELECT (the third device in the loop being the printer), PRA and voilà, it worked. Back to AUTOIO mode it still works.
I was assuming that each time I unplug/plug the 82160A HP-IL Module, the system was back to his default state (?). I don’t have other HP-IL special module, like Extended IO to investigate further what’s really going on.
A bit off topic, I’m still looking for the other way around, meaning, how to make, on my computer, text files that I can open with ED on the 41CX (I open a thread http://www.hpmuseum.org/forum/thread-6552.html but got no answers).

Thanks’ again for the great work with pyILPER,
Best regards,
André
(08-28-2016 09:43 PM)dayd Wrote: [ -> ]The printer was of course enabled and I’ve got ‘only’ a HP-41CX as controller but your hint was good as I pursued it with the following commands: MANIO, 3 SELECT (the third device in the loop being the printer), PRA and voilà, it worked. Back to AUTOIO mode it still works.
I was assuming that each time I unplug/plug the 82160A HP-IL Module, the system was back to his default state (?). I don’t have other HP-IL special module, like Extended IO to investigate further what’s really going on.

The MANIO/AUTOIO status is kept in the flag 32 of the HP-41C, but the selected device is kept in the HP-IL module. So unplug/plug the HP-IL resets the selected device to 1, while possibly still in MANIO.
With the HP-41C, I recommend to use AUTOIO as much as possible, unless for special needs.
I also chose (in the original ILPer) to put the printer as the first device, for this kind of reason.

J-F
Thank you for your insight J-F,
Obviously I had to get back to the manual, which I did. In order to not confuse more (myself), I didn’t mention that in both cases, Win & Mac, the lif file on the first drive got corrupted (message ‘File does not contain a LIF type 1 medium’). Of course I Love the 41 keyboard but do backups! To understand when this can occur I tried to repeat the error without success. Also printing to a drive by mistake doesn’t give the ‘TRANSMIT ERR’ message. In the future I’ll start -and finish- to work in the loop in AUTOIO mode. Sylvain suggestion to have the possibility of choosing devices position make sense. For my part, I would love to have the text selectable in the printer window and the timestamp filled with the last modification of the files, (manual-trace-normal printer modes and possibility to specify the number of columns would be very nice too). Please don’t get me wrong, I’m absolutely grateful for using pyILPER and for all of those who contributed to it, that’s why I allow myself to give some feedback here.

André
The current development version got the following enhancements:
  • support to change the sequence of the virtual HP-IL devices in pyILPER. There is a new entry in the file menu. You can watch the new device position in the virtual HP-IL devices status window. See the online documentation for further details.
  • the script startup.py now accepts a parameter -instance INSTANCE-NAME to start multiple independent instances of pyILPER. Each instance has its own configuration file. Only letters or digits are allowed in an INSTANCE-NAME.
If you like to give it a try see the "Installation of development versions" section in the pyILPER installation instructions.

Regards
Joachim
Hello Joachim

Test machine MacBook Pro running OSX 10.11.6
Anaconda version is: conda 4.2.9
Python version is Python 3.5.2
Device used is /dev/tty.usbserial-FTFSPEHU
Pil-Box firmware version is: 2.1
pyILPER has been manually installed into /Users/sycote/Applications/pyilper-1.3.5.dev/

First test, the application refuse to start if the PIL-Box in plugged into a USB port
Code:
python start.py

Traceback (most recent call last):
  File "start.py", line 14, in <module>
    main()
  File "/Users/sycote/Applications/pyilper-1.3.5.dev/pyilper/pyilpermain.py", line 545, in main
    pyilper= cls_pyilper(args)
  File "/Users/sycote/Applications/pyilper-1.3.5.dev/pyilper/pyilpermain.py", line 269, in __init__
    self.enable()
  File "/Users/sycote/Applications/pyilper-1.3.5.dev/pyilper/pyilpermain.py", line 322, in enable
    obj.enable()
  File "/Users/sycote/Applications/pyilper-1.3.5.dev/pyilper/pilwidgets.py", line 433, in enable
    self.parent.commobject.register(self.pildevice,self.name)
TypeError: register() takes 2 positional arguments but 3 were given

Second test, the application start without PIL-Box
Code:
python start.py

2016-10-04 07:33:04.349 python[92162:4269295] modalSession has been exited prematurely - check for a reentrant call to endModalSession:

Third test, connect PIL-Box while application running, go into pyILPER configuration box, select device and press OK
Code:

2016-10-04 07:34:33.345 python[92162:4269295] modalSession has been exited prematurely - check for a reentrant call to endModalSession:
2016-10-04 07:34:34.567 python[92162:4269295] modalSession has been exited prematurely - check for a reentrant call to endModalSession:
Traceback (most recent call last):
  File "/Users/sycote/Applications/pyilper-1.3.5.dev/pyilper/pyilpermain.py", line 416, in do_pyilperConfig
    self.enable()
  File "/Users/sycote/Applications/pyilper-1.3.5.dev/pyilper/pyilpermain.py", line 322, in enable
    obj.enable()
  File "/Users/sycote/Applications/pyilper-1.3.5.dev/pyilper/pilwidgets.py", line 433, in enable
    self.parent.commobject.register(self.pildevice,self.name)
TypeError: register() takes 2 positional arguments but 3 were given

Sylvain
Sorry, I forgot to check in one modified file on GitHub. Now fixed. Please download again.
Regards
Joachim
(10-04-2016 01:47 PM)jsi Wrote: [ -> ]Sorry, I forgot to check in one modified file on GitHub. Now fixed. Please download again.

Downloaded and it now works. Thanks!
Some preliminary remarks ...
  • Why the 1 instance limitation on Scope and on Terminal ? and btw why the limitations (3 printers and 5 drives) on the other ones ?
  • On window resize, the Printer and Terminal is scrambled, you need to select another tab then go back to original tab to clear it
  • The "Virtual HP-IL device position configuration" is correctly reflected in the "Virtual HP-IL device status" but not in the tab position on the UI
  • When I add a new device, the previous device order is lost
  • I suggest to merge the two dialog boxes "Virtual HP-IL device configuration" and "Virtual HP-IL device position configuration" into one dialog box
  • find a way to get rid of the message "modalSession has been exited prematurely - check for a reentrant call to endModalSession:" after each dialog box close
I will do more testing tonight ...
Best regards,
Sylvain

edit: add more remarks
(10-04-2016 06:01 PM)Sylvain Cote Wrote: [ -> ]On window resize, the Printer and Terminal is scrambled, you need to select another tab then go back to original tab to clear it
This has been fixed since the last commit
(10-04-2016 06:01 PM)Sylvain Cote Wrote: [ -> ]find a way to get rid of the message "modalSession has been exited prematurely - check for a reentrant call to endModalSession:" after each dialog box close
This and other waring message that are shown in the bash window are known bugs of the Qt4 version for MAC. That's poor but does not interfere thy pyILPER application. They will not get fixed any more in Qt4. Qt5 for MAC/OS which is now officially supported by Anacoda/Miniconda has still issues which prevent me from porting pyILPER to Qt5 by now.
(10-04-2016 06:01 PM)Sylvain Cote Wrote: [ -> ][Why the 1 instance limitation on Scope and on Terminal ? and btw why the limitations (3 printers and 5 drives) on the other ones ?
As far as I can see there is no reason any more to limit the number of drives, printers or terminals. However the current pyILPER version has two "hardwired" scopes which monitor the traffic at the beginning and the end of the virtual device chain. The results of both scopes can be displayed in one scope tab. One can think about having an arbitrary number of scopes that can be moved to an arbitrary position in the device chain and have their own tab.
(10-04-2016 06:01 PM)Sylvain Cote Wrote: [ -> ]
  • The "Virtual HP-IL device position configuration" is correctly reflected in the "Virtual HP-IL device status" but not in the tab position on the UI
  • When I add a new device, the previous device order is lost
  • I suggest to merge the two dialog boxes "Virtual HP-IL device configuration" and "Virtual HP-IL device position configuration" into one dialog box
This could result in a different handling of virtual devices in pyILPER. I will get back on that.

Regards
Joachim
Hi Joachim,

Many thanks for PyIlper, I have installed it on Windows 10/64 bits without a glitch using miniconda.
So far works great with my PILBox, but I'm not sure how to deal with TCP/IP virtual HP-IL.
I did some tests, some with only the scope or scope and printer, but without success.
Looks like Pyilper is listening on the configured port, and I can see ingoing IP frame in Wireshark, but nothing happens in the scope.
Were am I wrong ?

Cheers. Jean-Christophe
So you've some controller, like a 41 or 71 connected to the PIL-Box and you've established a connection to pyILPER on a virtual COM port.
Now you've reconfigured pyILPER to communicate via TCP/IP, but your controller is still on a virtual COM port.
If you use Emu71/Win you can establish a TCP/IP connection with pyILPER.
Hi Dave,

(12-19-2016 12:28 AM)Dave Frederickson Wrote: [ -> ]So you've some controller, like a 41 or 71 connected to the PIL-Box and you've established a connection to pyILPER on a virtual COM port.

Absolutely, this worked right out of the box !

(12-19-2016 12:28 AM)Dave Frederickson Wrote: [ -> ]Now you've reconfigured pyILPER to communicate via TCP/IP, but your controller is still on a virtual COM port.

Of course, I did the test with a TCP/IP loop controller and everything's running fine with Ilper, but PyIlper stays deaf, though it is listening on the right port and frames are knocking at the port.

(12-19-2016 12:28 AM)Dave Frederickson Wrote: [ -> ]If you use Emu71/Win you can establish a TCP/IP connection with pyILPER.

I'm doing my tests with Free42 HPIL eXtensions and I will give a try to Emu71/Win and look at the frames exchanged !

[Edit] Seems ok with Emu71 on the same host (aka localhost) but not on a different host. I'll take some time to do more tests tomorrow and try to catch some IP frames.

Thanks for the trick.

Cheers. Jean-Christophe
Issue solved, and I should have checked this in the first place (shame on me Blush).
Windows firewall was locking out ingoing frames to Python on the "network place" I was connected to.
Once unlocked, everything's running flawlessly !

Many thanks for your helpful advice !

Cheers. Jean-Christophe
Hi,

I have a problem with uploading files on my PC via pyILPER. i recognized a strange behavior.
With my HPIL 1A module I get an error "HPIL ERR: Frames Altered" error no: (255)038 - when I want to upload a file to the LIF image on my PC. It scrambles the display in the terminal view on pyilper. That ist not the case with a HPIL 1B. But it loads the file correctly to the PC (i checked it with a download of this file on my other HP71B).
Catalogue and download a file ist not a problem.

Where could be the problem - any ideas?

best regards
Erwin
(01-04-2017 07:31 PM)Erwin Wrote: [ -> ]With my HPIL 1A module I get an error "HPIL ERR: Frames Altered" error no: (255)038 - when I want to upload a file to the LIF image on my PC. It scrambles the display in the terminal view on pyilper. That ist not the case with a HPIL 1B.
...
Where could be the problem - any ideas?

A few rare HPIL modules version 1A have been reported to have problems with the PIL-Box. I recommend to use the 1B version for this reason and also because version 1A has some serious bugs.
Please PM for further tests and a possible fix, if you really need to use your 1A module with the PIL-Box.

J-F
Hi,

Maybe I oversaw it but exist there a possibility to print to a textfile in the PC - i.e Basic program or other text formated output?
Would be fine to put printouts in the PC in a text file.

Regards Erwin
Pages: 1 2
Reference URL's