HPGL Plotter library

I just put together a library to interface old 1980s plotters such as HP7550a with Processing. It implements a subset of the HPGL command set and mimics processing way of drawing lines and beziers.

Feel free to take it for a spin and ask here or email me for any questions.

http://sjunnesson.github.io/HPGL-Plotter/

Comments

  • Very Tanks!! it work with my Calcomp M83 inactive for almost 30 years, windows 8.1, without USB to DB25 and without CH340 driver >:D<

  • Im happy to see that it worked on Windows. Havn't tested it at all on that OS. Let me know if you are looking for any additional features.

  • how can I change the pens? it would be nice to have an example with six circles with six colors :)

  • I updated the library with a selectPen(penID); function with a corresponding example of drawing six circles with different pens as suggested.

    I dont have my plotter here right now so it is untested but I believe it will work. :) The thing Im not sure about is if the pens starts counting at zero or at one.

  • I got access to my plotter and the pen starts at 1. The library should be updated to reflect that.

  • it works fine :) , it is possible when he finished the last pen to return at home automatically, and the plotter in the starting position? currently stops at the end of the text "label"

  • You can send a moveTo(x,y) command at the end of your drawing if you like to.

  • Hi sjunnesson, you can implement the rectangle and fill?, circle with fill?

  • i developed also a small HPGL Library for old HP Pen Plotters. I´ve tested it with Draftmaster sx, HP 7475. If you want i can share the Library with you......

  • thanks, I would appreciate it :D I would test it on my Calcomp M83 ;)

  • I would love to test it as well.

  • I have a question. For me your library works. However, I never get a serial event:

    void serialEvent(Serial p) {
      char serialChar = p.readChar();
    
      if (serialChar == 19) {
        plotter.bufferFull = true;
        println("Buffer full");
      }
      if (serialChar == 17) {
        plotter.bufferFull = false;
        println("Buffer empty");
      }
    }
    

    I was wondering, do you get any of those? And if so, do you have an idea what I can do to fix this.

Sign In or Register to comment.