#385 Stepconf is broken in several ways on wheezy

2.6
closed-fixed
Jeff Epler
None
9
2014-08-05
2014-08-01
Chris Radek
No

On the "Base Information" page, the Timing Settings tabs work correctly on lucid but not wheezy:

Select Sherline, notice step time is 100 (on wheezy); it should be 22000 (lucid).

Select driver type Other, attempt to increase step time to 22000; notice it is incorrectly capped at 100.

Also the combobox on "Axis X" is correct on lucid but not wheezy:

Click forward and on "Parallel Port 1" page, add X and Y home switches to some parallel port pins, go Forward to "Axis X" page, notice Home Latch Direction is "Sherline" when the options should be "Same" and "Opposite".

Click forward and notice the "Axis Y" page's Home Latch Direction combobox works fine, even though the axisx and axisy glade files are the same in all meaningful respects.

Discussion

  • Chris Radek
    Chris Radek
    2014-08-01

    Oops, this is partly a duplicate of bug 380, but with a bit more information.

     
  • I tried wrapping gtk.Builder.add_from_file() to first verify that the ids of the objects in the new file dont collide with the ids already in the Builder. I used This works well for Widgets, but there seems to be no way to access the ids of non-Buildable objects such as gtk.Adjustments (which we also have collisions with).

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    #!/usr/bin/python
    import gtk
    
    b = gtk.Builder()
    b.add_from_file('main_page.glade')
    
    for w in b.get_objects():
        print "read", w
    
        # the Buildable name is the id attribute from the xml element
        if isinstance(w, gtk.Buildable):
            print "    gtk.Buildable, id", gtk.Buildable.get_name(w)
        else:
            print "    not gtk.Buildable"
    
     
  • Jeff Epler
    Jeff Epler
    2014-08-02

    • assigned_to: Jeff Epler --> Chris M
     
  • Jeff Epler
    Jeff Epler
    2014-08-02

    In branch jepler/2.6/checkglade, I offer a script which can check for these conflicts at compile time for stepconf. Perhaps some variant of this script, working directly on the xml, would be uesful to incorporate into the parts of linuxcnc which read multiple glade files which are named in inifiles or what have you.

    On that branch, the first commit introduces the script itself; the second commit is some Submakefile refactoring; the third commit does the check at compile-time; and the final commit makes it fatal.

    In the script, there's a point where you could name objects by kind (i.e., GtkLabel) to skip uniqueness checks on. This is fine for e.g., labels where the string is never set at runtime---but some labels are (for example, when they change between in/s and mm/s) so this is probably not the best of ideas.

    I hope that this branch will be useful to Chris Morley in resolving the problems in stepconf, and guarding against their return.

     
    • status: open --> closed-fixed
    • assigned_to: Chris M --> Jeff Epler
     
  • fixed in commits 1f5f8d89 and ebc07853, will be part of 2.6.1.