On 4/16/2013 7:23 PM, Gene Heskett wrote: > On Tuesday 16 April 2013 19:05:57 andy pugh did opine: > >> On 16 April 2013 10:49, propcoder <marius.alks...@gmail.com> wrote: >>> electronics (power, drivers, custom electronics with documentation and >>> all datasheets, cabling, signals, computer,..) >> I don't do anything for anyone other than myself, but I would be lost >> without the wiring details. (and it really needs to be down to the >> level of pin numbers in every connector, and the wire colours between >> them) >> >> It would be nice to be able to generate a nice HAL diagram, and there >> have been various ways to do that suggested, but I am not sure any >> have been shown to work properly. > There was a thingy that I assume worked, I installed it last fall, but it > had one fatal flaw. It tried to make the whole diagram fit on a single > sheet of paper, when, in order to have been able to read it with a > magnifying glass, it would have had to be done in multi-page poster style > that would have likely used 54 to 100+ sheets of paper to be taped together > before the text in one of the teeny little logic boxes would have been big > enough to read. > <...> > > Looking on the lathes box, I find a ~/gene/src/RockHopper directory that > looks like one of those usual suspects, was that it? > > Cheers, Gene
Sorry for coming to the party a week late. I've been very distracted lately. Me thinks you exaggerate the problem just a bit. The Rockhopper server creates a diagram in SVG. One could save* the diagram to file from the browser, open the saved file in Inkscape, and either go through machinations to print it in tiles or use the Inkscape "save as" function to create** a PDF version of the diagram. With that in hand, one could use available on-line servers or standalone utilities to print the diagram in tiles. Try searching on "tiled printing". Note that some of the programs discussed in the Wikipedia article appear to have moved, changed authorship, or disappeared since the article was last edited and that the version of pdfposter that Synaptic Package Manager installed on my Ubuntu 10.04LTS system didn't behave (could be my own fault). I went to the latest version available from github.com (and found it a PITA to install, but I persevered). Let's take a step back though. The Rockhopper HAL Graph function works essentially the same way as my HAL2HTML program I posted about in the fall of 2011. The Rockhopper developers made most of the same design choices I did (you can see my list at https://sites.google.com/site/manisbutareed). Visually their diagrams and mine are slightly different (no question theirs are prettier; mine look like they were made by a bookkeeper). Mostly they are the same, though, because we both use Graphviz functionality to construct a graph from HAL information and to render the resulting diagram. One obvious difference is in the presentation of HAL signals: they chose to make them labelled nodes (rendered as dotted boxes) and I decided not to, making them labelled arcs instead. My choice reduces the number of nodes to be placed but makes for more contorted signal paths.The same information is communicated either way. We both suffer from the problem that the size and complexity of a HAL diagram is potentially unbounded. Looking at my Google site now I see that I never posted the next step in the evolution of my thinking. Trying to partition the completed graph automagically looked difficult to a lazy hacker like me The relevant Graphviz tools brought no joy. I decided instead to try the following: 1) create an overview diagram which showed all the HAL components by name only with no internal structure, e.g. no pins, and the interconnections between them. 2) create detailed nearest-neighbor diagrams, each showcasing a single HAL component and all the components to which it is interconnected, along with all pins involved in any interconnections. 3) embed these diagrams in HTML pages with hyperlink maps so one could navigate relatively easily among components on different diagrams. I implemented this approach and tested it with some of the example HAL configurations distributed with LinuxCNC. I thought the approach worked pretty well. Whether displayed or printed, each diagram was logically self-contained, more or less, and not just a tile cut out of a big diagram that wasn't laid out with tiling in mind. I'll try to add examples to my Google site so you can see what I mean. There obviously will be some redundancy. In the simplest case, consider two components A and B interconnected only with each other. My KISS approach will generate two nearest-neighbor diagrams, one for A "is connected to" B and one for B "is connected to" A. Someone less lazy that I would fix that by implementing better bookkeeping. C'est la vie. I put the HAL2HTML work aside because I wanted to explore coding up a Manhattan-routing algorithm to generate rectilinear interconnect paths in place of the Bezier curves generated by Graphviz---think electronic schematic. (Actually, Graphviz claims to support "ortho" arcs natively but that feature didn't work properly in the versions*** I used.) Then family events pushed everything aside. I'm slowly digging through my collection of round2its and this subject has come back into view. Who knows, maybe I'll be able to make some progress this spring. To get back to Rockhopper, the other server functions look very useful for documenting a build too. I like their display of ini-file contents so much I immediately abandoned my own crude attempt. Regards, Kent *If you're feeling frisky, you could modify the Rockhopper Python script so that in addition to creating the SVG file Graphviz would also create and save a PDF file for further use. **There's also the Apache Batik SVG Toolkit for the adventuresome. I fooled with it during my waning days of employment and don't wish to return to it. Maybe it's gotten better but I've gotten dumber, so it remains a standoff. ***Like so many Ubuntu packages, the version of Graphviz installed by the Synaptic Package Manager is well behind the current release, although less so in the case of Ubuntu 12.04LTS. ------------------------------------------------------------------------------ Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users