Holey Triangular Calibration

Woops. I should have provided more information. What happened is Ground Control had a parameter value, KpPosZ that differs from the Firmware value. In GC, the value was 1300; but in the Firmware, the value was 0. It is asking you which value to use: the one from the Firmware, or the one from GC.

2 Likes

KpPosZ is something i would never touch as far as i recall never changed, so if uncertain choose FW?

1 Like

I have had the same experience with this and other parameters. I don’t know what the value should be, what the source is, or why they are different. This may be a good wiki topic.:yum:

1 Like

I had no idea we are paddling in the same boat :joy:, makes it more enjoyable

KpPosZ should be 1300. I only know this since I have lots of copies of ini files for “bad” and “good” states.

2 Likes

I like this! I do also have them and a few have actual calendar dates. The rest i still can sort by date changed and have a history. Keep em :slight_smile:

1 Like

Unless you are hooking a new instance of GC (or an instance where you have made
questionable changes to your .ini file manually) up to a working and calibrated
machine, you should probably have the version from GC (the .ini) version
override what’s in the firmware

since GC cannot know why they are different, and there are the scenarios where
you have reason to think that the numbers in GC may be wrong, and want to use
the firmware version, we have to ask, but I think that for most people the
correct answer will be to use the version from GC (and if it makes the machine
less accurate, you re-calibrate)

does the log show the old value so if this makes things worse, the person can
look in the log for the old value and try that?

David Lang

Can you get a new calibration from these versions? All that was written above is very difficult. Our machine is not calibrated its error in 2mm in height, and the line is not always smooth. Does this calibration help solve the issue?

1 Like

Yeah. It has only been tested by a few people, but it should be functional in its current state.

I believe this calibration will result in a more accurate machine than this. There are several potential causes of a non-smooth cut; specifically, there is an issue in the main fork which prevents parameter values from correctly getting to the Firmware. This issue may be corrected by these updates.

I just tried the holey triangular GC and it errors out when I try to load a file or set the PWM frequency with a similar error (only showing the tail end of the error)

File “kivy/properties.pyx”, line 483, in kivy.properties.Property.set
File “kivy/properties.pyx”, line 524, in kivy.properties.Property.set
File “kivy/properties.pyx”, line 579, in kivy.properties.Property.dispatch
File “kivy/_event.pyx”, line 1214, in kivy._event.EventObservers.dispatch
File “kivy/_event.pyx”, line 1120, in kivy._event.EventObservers._dispatch
File “/usr/local/lib/python2.7/dist-packages/kivy/uix/behaviors/togglebutton.py”, line 107, in on_group
if self.active:
AttributeError: ‘TabbedPanelHeader’ object has no attribute ‘active’

1 Like

This isn’t very helpful. Everything shown is just related to where it happened within the kivy framework. I would be more helpful if you send the whole error stack.

Which file? Are you talking about loading a *.nc file?

This isn’t very helpful. Everything shown is just related to where it happened within the kivy framework. I would be more helpful if you send the whole error stack.

Ok, when I get back out to the hackerspace, I’ll post the full error message

Which file? Are you talking about loading a *.nc file?

yes, when I try to load the six hole calibration g-code

I also discovered that if I went to change a config item and left it blank
instead of entering a number, GC crashes (and crashes again at startup) with an
error that it cannot convert a string to a number.

I was hoping that if I left it blank, it would reset to the default.

David Lang

1 Like

Hmm. I wonder if something is wrong with the *.nc file. I can check this on my machine.

This is pretty good information. There might need to be a check for an empty value. I will look at it.

1 Like

Hmm. I wonder if something is wrong with the *.nc file. I can check this on my machine.

no, I looked at the file and was able to load it into webcontrol

I got what looked at a glance the same error when I tried to change the PWM
frequency.

This is pretty good information. There might need to be a check for an empty value. I will look at it.

or check for a conversion failure and put in the default (and/or re-prompt the
user) rather than just checking for an empty value.

David Lang

2 Likes

I am wondering if this is related to a change I committed on Sunday. I ran into an issue importing from the MaslowSetings.py module from firmwareKeySyncPopup.py. Was the version you are using downloaded before Sunday?

no, this was pulled tuesday night.

David Lang

Last night, I was able to open Ground Control, load several *.nc files, and set a few of the parameters to empty, without any issue.

Could you send the full error-stack that is reported?

Thanks,

null@PCB-mill:~/maslow/holey-calibration/GroundControl$ python main.py
[INFO ] [Logger ] Record log in /home/null/.kivy/logs/kivy_19-05-02_0.txt
[INFO ] [Kivy ] v1.11.0.dev0, git-Unknown, 20190424
[INFO ] [Python ] v2.7.16 (default, Apr 6 2019, 01:42:57)
[GCC 8.3.0]
[INFO ] [Factory ] 184 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO ] [Window ] Provider: sdl2([‘window_egl_rpi’] ignored)
[INFO ] [GL ] Using the “OpenGL” graphics system
[INFO ] [GL ] Backend used
[INFO ] [GL ] OpenGL version <3.0 Mesa 19.0.2>
[INFO ] [GL ] OpenGL vendor
[INFO ] [GL ] OpenGL renderer <Mesa DRI Intel® Sandybridge Desktop >
[INFO ] [GL ] OpenGL parsed version: 3, 0
[INFO ] [GL ] Shading version <1.30>
[INFO ] [GL ] Texture max size <8192>
[INFO ] [GL ] Texture max units <16>
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
[INFO ] [Text ] Provider: sdl2
[INFO ] [Base ] Start application main loop
[INFO ] [GL ] NPOT texture support is available
[INFO ] [GL ] Unpack subimage support is available
[INFO ] [Base ] Leaving application in progress…
Traceback (most recent call last):
File “main.py”, line 512, in
GroundControlApp().run()
File “/usr/local/lib/python2.7/dist-packages/kivy/app.py”, line 855, in run
runTouchApp()
File “/usr/local/lib/python2.7/dist-packages/kivy/base.py”, line 504, in runTouchApp
EventLoop.window.mainloop()
File “/usr/local/lib/python2.7/dist-packages/kivy/core/window/window_sdl2.py”, line 730, in mainloop
self._mainloop()
File “/usr/local/lib/python2.7/dist-packages/kivy/core/window/window_sdl2.py”, line 465, in _mainloop
EventLoop.idle()
File “/usr/local/lib/python2.7/dist-packages/kivy/base.py”, line 342, in idle
self.dispatch_input()
File “/usr/local/lib/python2.7/dist-packages/kivy/base.py”, line 327, in dispatch_input
post_dispatch_input(*pop(0))
File “/usr/local/lib/python2.7/dist-packages/kivy/base.py”, line 233, in post_dispatch_input
listener.dispatch(‘on_motion’, etype, me)
File “kivy/_event.pyx”, line 707, in kivy._event.EventDispatcher.dispatch
File “/usr/local/lib/python2.7/dist-packages/kivy/core/window/init.py”, line 1380, in on_motion
self.dispatch(‘on_touch_down’, me)
File “kivy/_event.pyx”, line 707, in kivy._event.EventDispatcher.dispatch
File “/usr/local/lib/python2.7/dist-packages/kivy/core/window/init.py”, line 1396, in on_touch_down
if w.dispatch(‘on_touch_down’, touch):
File “kivy/_event.pyx”, line 707, in kivy._event.EventDispatcher.dispatch
File “/usr/local/lib/python2.7/dist-packages/kivy/uix/popup.py”, line 228, in on_touch_down
return super(Popup, self).on_touch_down(touch)
File “/usr/local/lib/python2.7/dist-packages/kivy/uix/modalview.py”, line 247, in on_touch_down
super(ModalView, self).on_touch_down(touch)
File “/usr/local/lib/python2.7/dist-packages/kivy/uix/widget.py”, line 460, in on_touch_down
if child.dispatch(‘on_touch_down’, touch):
File “kivy/_event.pyx”, line 707, in kivy._event.EventDispatcher.dispatch
File “/usr/local/lib/python2.7/dist-packages/kivy/uix/widget.py”, line 460, in on_touch_down
if child.dispatch(‘on_touch_down’, touch):
File “kivy/_event.pyx”, line 707, in kivy._event.EventDispatcher.dispatch
File “/usr/local/lib/python2.7/dist-packages/kivy/uix/widget.py”, line 460, in on_touch_down
if child.dispatch(‘on_touch_down’, touch):
File “kivy/_event.pyx”, line 707, in kivy._event.EventDispatcher.dispatch
File “/usr/local/lib/python2.7/dist-packages/kivy/uix/relativelayout.py”, line 288, in on_touch_down
ret = super(RelativeLayout, self).on_touch_down(touch)
File “/usr/local/lib/python2.7/dist-packages/kivy/uix/widget.py”, line 460, in on_touch_down
if child.dispatch(‘on_touch_down’, touch):
File “kivy/_event.pyx”, line 707, in kivy._event.EventDispatcher.dispatch
File “/usr/local/lib/python2.7/dist-packages/kivy/uix/widget.py”, line 460, in on_touch_down
if child.dispatch(‘on_touch_down’, touch):
File “kivy/_event.pyx”, line 707, in kivy._event.EventDispatcher.dispatch
File “/usr/local/lib/python2.7/dist-packages/kivy/uix/widget.py”, line 460, in on_touch_down
if child.dispatch(‘on_touch_down’, touch):
File “kivy/_event.pyx”, line 707, in kivy._event.EventDispatcher.dispatch
File “/usr/local/lib/python2.7/dist-packages/kivy/uix/widget.py”, line 460, in on_touch_down
if child.dispatch(‘on_touch_down’, touch):
File “kivy/_event.pyx”, line 707, in kivy._event.EventDispatcher.dispatch
File “/usr/local/lib/python2.7/dist-packages/kivy/uix/behaviors/button.py”, line 151, in on_touch_down
self.dispatch(‘on_press’)
File “kivy/_event.pyx”, line 703, in kivy._event.EventDispatcher.dispatch
File “kivy/_event.pyx”, line 1214, in kivy._event.EventObservers.dispatch
File “kivy/_event.pyx”, line 1098, in kivy._event.EventObservers._dispatch
File “/usr/local/lib/python2.7/dist-packages/kivy/lang/builder.py”, line 64, in custom_callback
exec(kvlang.co_value, idmap)
File “/home/null/maslow/holey-calibration/GroundControl/groundcontrol.kv”, line 298, in
on_press: root.openFile()
File “/home/null/maslow/holey-calibration/GroundControl/UIElements/viewMenu.py”, line 38, in openFile
filters = validFileTypes)
File “/home/null/maslow/holey-calibration/GroundControl/UIElements/fileBrowser.py”, line 478, in init
super(FileBrowser, self).init(**kwargs)
File “/usr/local/lib/python2.7/dist-packages/kivy/uix/boxlayout.py”, line 131, in init
super(BoxLayout, self).init(**kwargs)
File “/usr/local/lib/python2.7/dist-packages/kivy/uix/layout.py”, line 76, in init
super(Layout, self).init(**kwargs)
File “/usr/local/lib/python2.7/dist-packages/kivy/uix/widget.py”, line 348, in init
Builder.apply(self, ignored_consts=self._kwargs_applied_init)
File “/usr/local/lib/python2.7/dist-packages/kivy/lang/builder.py”, line 469, in apply
self._apply_rule(widget, rule, rule, ignored_consts=ignored_consts)
File “/usr/local/lib/python2.7/dist-packages/kivy/lang/builder.py”, line 585, in _apply_rule
self._apply_rule(child, crule, rootrule)
File “/usr/local/lib/python2.7/dist-packages/kivy/lang/builder.py”, line 585, in _apply_rule
self._apply_rule(child, crule, rootrule)
File “/usr/local/lib/python2.7/dist-packages/kivy/lang/builder.py”, line 582, in _apply_rule
child = cls(__no_builder=True)
File “/usr/local/lib/python2.7/dist-packages/kivy/uix/tabbedpanel.py”, line 488, in init
self._setup_default_tab()
File “/usr/local/lib/python2.7/dist-packages/kivy/uix/tabbedpanel.py”, line 638, in _setup_default_tab
default_tab.group = ‘tab%r’ % _tabs.uid
File “kivy/properties.pyx”, line 483, in kivy.properties.Property.set
File “kivy/properties.pyx”, line 524, in kivy.properties.Property.set
File “kivy/properties.pyx”, line 579, in kivy.properties.Property.dispatch
File “kivy/_event.pyx”, line 1214, in kivy._event.EventObservers.dispatch
File “kivy/_event.pyx”, line 1120, in kivy._event.EventObservers._dispatch
File “/usr/local/lib/python2.7/dist-packages/kivy/uix/behaviors/togglebutton.py”, line 107, in on_group
if self.active:
AttributeError: ‘TabbedPanelHeader’ object has no attribute ‘active’
null@PCB-mill:~/maslow/holey-calibration/GroundControl$ git pull
Already up to date.
null@PCB-mill:~/maslow/holey-calibration/GroundControl$ git log |head
commit 7f7c0c2859fa6911d44ef8b504040e0aa5e7983d
Author: schmittjoshc 35613624+schmittjoshc@users.noreply.github.com
Date: Sun Apr 28 13:59:37 2019 -0500

Only recording position at 1 sec time interval

Ignoring position messages that come at greater than 1 sec time interval

commit 219f41b05a78bb1e505d490da8be9b6ffb1ec531
Author: schmittjoshc 35613624+schmittjoshc@users.noreply.github.com
null@PCB-mill:~/maslow/holey-calibration/GroundControl$

2 Likes

I’ve not followed everything. GUI Version?

@TheMerryYeoman oh, my friend. You have a lot of reading to do! :stuck_out_tongue:

2 Likes