HP Forums
HP41 TULIP4041 update - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: General Forum (/forum-4.html)
+--- Thread: HP41 TULIP4041 update (/thread-22215.html)

Pages: 1 2 3


RE: HP41 TULIP4041 update - MeindertKuipers - 09-25-2024 11:07 AM

Hallo all

The PCB's for the Development Board have arrived and I have assembled and tested one unit with both the 'old' Pico board and the new Pico2, and everything seems to be working fine. This means that these PCB's are now ready to be shipped. I will send a message to all who have expressed their interest about payment. There is extra stock, so please let me know if you are also interested.

After doing some more testing with the Pico2 board, I have decided to do the switch to the new RP2350 processor on the following grounds:
  • Lower power consumption. The behaviour for low power standby modes still have to be tested, but these are expected to be better than the RP2040
  • Better performance, allowing the clock speed to be lowered for even lower power consumption
  • About 2* the amount of SRAM, which opens a number of new (future) options
  • The TULIP application is not affected by the RP2350's errata
All available documentation, including the updated BOM, is on GitHub: https://github.com/mjakuipers/TULIP-DevBoard. It now includes the documentation with a full description of the operation, instructions on how to assemble the Development Board and a reference of the user interface. The firmware for the Pico2 version (binary and sources) will be published later when I have migrated the existing BETA release to the RP2350.


RE: HP41 TULIP4041 update - Etienne Victoria - 09-28-2024 01:17 PM

Hi Sylvain,

I'm securing the TULIP4041 BOM before the board arrives.

Could you tell me the spacing of the pinstrip you used ? 5mm ? 3.5mm ? or another spacing ?

Maybe I missed something but I could not ascertain this information from the documentation.

Thank you.

Etienne
(08-24-2024 02:12 AM)Sylvain Cote Wrote:  The board was delivered last week and the final assembly was completed early this week.

My complete test setup is:
  • host computer
    • Hardware
    • Software
      • Raspberry OS 64-bit → installed on microSD card with Raspberry Pi Imager
        OS: Debian GNU/Linux 12 (bookworm) | Kernel: Linux 6.6.31+rpt-rpi-v8 | Architecture: arm64
      • Special configuration:
        • default headless video set to 1280x1024
        • wired network static configuration for: IP, default gateway and DNS
        • default vnc server running
        • RealVNC client installed
    • Optional: Development & Debugging
      • Raspberry Pi Debug Probe
      • Raspberry Pi Pico development tools C/C++ SDK
        installation script
        Code:
        mkdir -p ~/temp
        cd ~/temp
        wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh
        chmod +x pico_setup.sh
        ./pico_setup.sh
      • testing → follow instructions given in the Raspberry Pi Debug Probe documentation
        • install a Raspberry Pi Pico 1 (RP2040) on a breadboard
        • connect the Raspberry Pi Debug Probe to the Pico to the SWD connector
        • connect the Raspberry Pi Debug Probe to the Pico to the RP2040 GPIO RX/TX/GND pins
        • connect the Raspberry Pi Debug Probe to the USB port of the Raspberry Pi 4
        • compiled application files location
          • blink → ~/temp/pico/pico-examples/build_pico/blink
          • hello world serial → ~/temp/pico/pico-examples/build_pico/hello_world/serial
        • notes
          • OpenOCD, SWD, GPIO serial port and GDB works perfectly
          • I have tested several applications and did not find any issue
    • Virtual HP-IL
      • lifutils (utilities runs natively)
        installation steps
        Code:
        mkdir -p ~/temp
        cd ~/temp
        git clone https://github.com/bug400/lifutils.git
        cd lifutils
        mkdir rp4b
        cmake -DCMAKE_BUILD_TYPE=Release -S . -B rp4b
        cd rp4b
        make
        sudo make install
      • pyilper (application run natively, no virtual machine needed, well .... apart from cpython of course)
        installation steps
        Code:
        python3 -‑version                   // installed with the OS and I get version 3.11.2
        python3 -m venv ~/py311
        source ~/py311/bin/activate
        python -m pip install --upgrade pip
        pip install pyserial
        pip install pyilper
        testing:

        1. connect PIL-Box to RP4B → serial port added: /dev/ttyUSB0
        2. start pyilper → from command line
          Code:
          source ~/py311/bin/activate
          pyilper -‑clean -‑instance test
        3. configure pyilper to use /dev/ttyUSB0
        4. adds and configure virtual IL devices
        5. leave pyilper
        6. restart pyilper → from command line
          Code:
          source ~/py311/bin/activate
          pyilper --instance test
        7. test virtual devices with an HP-41/71B/75
  • Tulip4041
    • tomorrow

  • edit: typos & formatting



    RE: HP41 TULIP4041 update - Etienne Victoria - 09-28-2024 01:32 PM

    Based on the Pico pitch and the picture of the board, my guess is 2,54mm spacing.

    But just wanted to confirm

    Etienne


    RE: HP41 TULIP4041 update - MeindertKuipers - 09-28-2024 02:20 PM

    (09-28-2024 01:32 PM)Etienne Victoria Wrote:  Based on the Pico pitch and the picture of the board, my guess is 2,54mm spacing.

    But just wanted to confirm

    Etienne

    Correct, pitch for all connectors is 2.54mm.
    [edit, added] BOM file on git repo updated with connector pitch.


    RE: HP41 TULIP4041 update - floppy - 10-07-2024 04:35 PM

    (08-24-2024 02:12 AM)Sylvain Cote Wrote:  
    Code:
    python3 -‑version                   // installed with the OS and I get version 3.11.2
    python3 -m venv ~/py311
    source ~/py311/bin/activate
    python -m pip install --upgrade pip
    pip install pyserial
    pip install pyilper
    testing:
    [list=1]
    [*]connect PIL-Box to RP4B → serial port added: /dev/ttyUSB0
    [*]start pyilper → from command line
    Code:
    source ~/py311/bin/activate
    pyilper -‑clean -‑instance test
    [*]configure pyilper to use /dev/ttyUSB0
    [*]adds and configure virtual IL devices
    [*]leave pyilper
    [*]restart pyilper → from command line
    Code:
    source ~/py311/bin/activate
    pyilper --instance test
    [*]test virtual devices with an HP-41/71B/75

    Pyilper on a PI4? interesting.
    And on PI2 or PI3? they are much cheaper
    ILPER on PI2..PI4 is fine https://www.hpmuseum.org/forum/thread-19053.html


    RE: HP41 TULIP4041 update - MeindertKuipers - 10-08-2024 11:20 AM

    The idea of using an RP4 was also to have the development tools for the Pico/Pico2 available with sufficient performance, plus some performance on the RP4 is good to have when using the terminal emulators. Especially the trace window needs to process a lot af USB data.
    You are correct that when using only pyILPer a limited performance platform can be used.


    RE: HP41 TULIP4041 update - MeindertKuipers - 10-09-2024 11:28 AM

    The TULIP Development PCB's have been shipped today to those who had them pre-ordered and paid. I still have board sets available for those interested. Just send me a PM or email in case you are interested.


    RE: HP41 TULIP4041 update - MeindertKuipers - 10-12-2024 11:46 AM

    Due to a copy/paste mistake there was an error in the TULIP DevBoard Bill Of Material. This is now fixed on the GitHub page https://github.com/mjakuipers/TULIP-DevBoard. The PWO pulldown R6 must have a value of 200K instead of 270R. I have also added the component references.


    RE: HP41 TULIP4041 update - Sylvain Cote - 10-15-2024 05:56 PM

    Hello Meindert,
    The two TULIP Development PCB's has been delivered today. Smile
    Seven days of travel time from The Netherlands to Canada, including a holiday weekend, surprisingly fast.
    Thanks!
    Sylvain


    RE: HP41 TULIP4041 update - Etienne Victoria - 10-15-2024 06:22 PM

    Hello,

    Same quick delivery here in France.

    Cute PCB ! Thanks Meindert !

    Awaiting the Pico 2 to start my first soldering job for a 41 since the SD-IL mass storage.

    Etienne


    RE: HP41 TULIP4041 update - MeindertKuipers - 10-16-2024 07:18 AM

    Good luck building it, and let me know how it goes. Most of the orders are now on their way or have already arrived. For the Pico2, just pick the right webshop, after the initial wait I had no issues getting my hands on multiple units.
    Remember that I do NOT recommend to solder the Pico2 to the PCB. Currently only versions without header are available, but please solder headers to the Pico and sockets on the PCB. Unsoldering the Pico is almost impossible in case of problems.
    If you want to experiment with your own code I do recommend to solder a header to the debug interface and use a Pico Probe. I use this all the time and it is just one or two mouse clicks in VS Code to compile and run a new version without having to go into BOOTSEL mode.


    RE: HP41 TULIP4041 update - gege - 10-16-2024 07:53 AM

    Hello,

    I received the 2 mine (France), I have to order the components that I do not have in stock (including the Pico2).


    RE: HP41 TULIP4041 update - Etienne Victoria - 10-16-2024 10:45 AM

    (10-16-2024 07:18 AM)MeindertKuipers Wrote:  Good luck building it, and let me know how it goes. Most of the orders are now on their way or have already arrived. For the Pico2, just pick the right webshop, after the initial wait I had no issues getting my hands on multiple units.
    Remember that I do NOT recommend to solder the Pico2 to the PCB. Currently only versions without header are available, but please solder headers to the Pico and sockets on the PCB. Unsoldering the Pico is almost impossible in case of problems.
    If you want to experiment with your own code I do recommend to solder a header to the debug interface and use a Pico Probe. I use this all the time and it is just one or two mouse clicks in VS Code to compile and run a new version without having to go into BOOTSEL mode.

    Sure ! Advice taken. I'll use headers anyway.

    Thanks.


    RE: HP41 TULIP4041 update - born2laser - 10-17-2024 11:34 PM

    I received mine today, thanks Meindert!


    RE: HP41 TULIP4041 update - MeindertKuipers - 10-27-2024 03:22 PM

    Just uploaded all sources again to https://github.com/mjakuipers/TULIP-DevBoard. The new firmware binary is in the TULIP4041-P2 build directory again (the .uf2 file).

    Latest changes:
    - serial port connects and disconnects are reported in the CLI
    - PILBox connect status changes are reported in the CLI
    - TRANSMIT ERR still occurs when there is a serial connection but no virtual IL device (PILBOX status is TDIS). This is intentional
    - The HP-IL scope now shows the tracer sample counter for better correlation. There may be some jitter

    About the trace counter: this is generated in real time for each HP41 T0-T0 cycle, even when the tracer is not connected, disabled or when samples are filtered. The shown trace samples lag behind the calculator activity.

    Have fun and let me know your feedback.


    RE: HP41 TULIP4041 update - Craig Bladow - 10-27-2024 07:44 PM

    (10-27-2024 03:22 PM)MeindertKuipers Wrote:  Just uploaded all sources again to https://github.com/mjakuipers/TULIP-DevBoard. The new firmware binary is in the TULIP4041-P2 build directory again (the .uf2 file).

    Latest changes:
    - serial port connects and disconnects are reported in the CLI
    - PILBox connect status changes are reported in the CLI
    - TRANSMIT ERR still occurs when there is a serial connection but no virtual IL device (PILBOX status is TDIS). This is intentional
    - The HP-IL scope now shows the tracer sample counter for better correlation. There may be some jitter

    About the trace counter: this is generated in real time for each HP41 T0-T0 cycle, even when the tracer is not connected, disabled or when samples are filtered. The shown trace samples lag behind the calculator activity.

    Have fun and let me know your feedback.

    "VERSION 00.01.05 BETA - build time: 2024/10/26_15:02:06" Updated on my development board today. All items noted in your post checked out. When connecting pyILPER the following are reported in the CLI:
    Code:

      CDC Port 3 [HPIL] connected                                                   
      WARNING: No virtual HP-IL device connected, HP-IL loop may be open          
      PILBox mode changed to COFF / Controller OFF                                  
      PILBox mode changed to COFI / Controller OFF with IDY
    The warning line seems out of place, given that pyILPER was just connected.

    Cheers,
    Craig (having fun!) Wink


    RE: HP41 TULIP4041 update - MeindertKuipers - 10-28-2024 09:54 AM

    (10-27-2024 07:44 PM)Craig Bladow Wrote:  
    Code:

      CDC Port 3 [HPIL] connected                                                   
      WARNING: No virtual HP-IL device connected, HP-IL loop may be open          
      PILBox mode changed to COFF / Controller OFF                                  
      PILBox mode changed to COFI / Controller OFF with IDY
    The warning line seems out of place, given that pyILPER was just connected.
    It is indeed a bit out of place, I thought about this. But the firmware is too quick and sees a serial port connection and issues the warning before it has seen the PILBox conncting. I might try a timer on the warning, but that is not very straightforward,


    RE: HP41 TULIP4041 update - Craig Bladow - 10-28-2024 05:13 PM

    (10-28-2024 09:54 AM)MeindertKuipers Wrote:  
    (10-27-2024 07:44 PM)Craig Bladow Wrote:  
    Code:

      CDC Port 3 [HPIL] connected                                                   
      WARNING: No virtual HP-IL device connected, HP-IL loop may be open          
      PILBox mode changed to COFF / Controller OFF                                  
      PILBox mode changed to COFI / Controller OFF with IDY
    The warning line seems out of place, given that pyILPER was just connected.
    It is indeed a bit out of place, I thought about this. But the firmware is too quick and sees a serial port connection and issues the warning before it has seen the PILBox conncting. I might try a timer on the warning, but that is not very straightforward,

    I suspected it was related to timing and agree that a delay solution may be more complicated than it is worth. If the software is aware of the state of HP-IL being connected or not connected then emitting a a connection statement when the HP-IL connection state changes may be a way to assure the user that the warning was just temporary.

    Something like:

    Code:

      CDC Port 3 [HPIL] connected                                                   
      WARNING: No virtual HP-IL device connected, HP-IL loop may be open  
      HP-IL state changed to CONNECTED        
      PILBox mode changed to COFF / Controller OFF                                  
      PILBox mode changed to COFI / Controller OFF with IDY

    Cheers,
    Craig


    RE: HP41 TULIP4041 update - MeindertKuipers - 10-28-2024 06:49 PM

    (10-28-2024 05:13 PM)Craig Bladow Wrote:  Something like:
    Code:

      CDC Port 3 [HPIL] connected                                                   
      WARNING: No virtual HP-IL device connected, HP-IL loop may be open  
      HP-IL state changed to CONNECTED        
      PILBox mode changed to COFF / Controller OFF                                  
      PILBox mode changed to COFI / Controller OFF with IDY
    I will indeed add a message that the HP-IL loop is closed or open with the PILBox status change.


    RE: HP41 TULIP4041 update - Christoph Giesselink - 10-29-2024 06:51 PM

    (10-28-2024 05:13 PM)Craig Bladow Wrote:  Something like:
    Code:

      CDC Port 3 [HPIL] connected                                                   
      WARNING: No virtual HP-IL device connected, HP-IL loop may be open  
      HP-IL state changed to CONNECTED        
      PILBox mode changed to COFF / Controller OFF                                  
      PILBox mode changed to COFI / Controller OFF with IDY

    Maybe interested why the PILBox mode is changed twice, 1st to COFF and then 2nd to COFI.

    At PILBox Power On reset, the PILBox is in TDIS mode. This means all traffic on the HP-IL side is forwarded through the PILBox.

    To notify the PILBox that the controller is on HP-IL side and we want to listen the frames on the USB side, we set the PILBox to COFF mode. But why not send COFI directly as initial frame? The COFI mode was introduced in PILBox firmware 1.6, before 1.6 the COFI command was ignored.

    So, when you have a PILBox with firmware 1.4 and you send the COFI command directly as 1st command, the PILBox will still remain in TDIS mode. But when you first send COFF, every PILBox firmware will switch to the COFF mode. And when you then send COFI, all COFI capable firmware (1.6, 2.0, 2.1) will switch to COFI mode, all others remain in COFF mode.

    On pyILPER and ILPilbox the COFI mode must be enabled by checkbox: pyILPER "Enable IDY frames" and Ilpilbox "IDY frames". At ILPer the COFI mode is enabled by default.