EtalumaSupport / LumaViewPro

MIT License
5 stars 5 forks source link

XY positions cannot be entered into the GUI. #227

Closed ericweiner closed 1 year ago

ericweiner commented 1 year ago

When you try to enter manual positions into XY. it does not move.

This has been true for a while. Verified problem on 6/2/2023 "Main" branch.

Log:

--- Logging error --- Traceback (most recent call last): File "C:\Program Files\Python310\lib\logging__init.py", line 1100, in emit msg = self.format(record) File "C:\Program Files\Python310\lib\logging__init.py", line 943, in format return fmt.format(record) File "C:\Users\Eric Weiner\Downloads\LumaViewPro-main -2023-06-02\LumaViewPro-main\lvp_logger.py", line 59, in format return record.getMessage() File "C:\Program Files\Python310\lib\logging__init.py", line 368, in getMessage msg = msg % self.args TypeError: not all arguments converted during string formatting Call stack: File "C:\Users\Eric Weiner\Downloads\LumaViewPro-main -2023-06-02\LumaViewPro-main\lumaviewpro.py", line 2887, in LumaViewProApp().run() File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\app.py", line 955, in run runTouchApp() File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\base.py", line 574, in runTouchApp EventLoop.mainloop() File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\base.py", line 341, in mainloop self.window.mainloop() File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\core\window\window_sdl2.py", line 757, in mainloop if self.dispatch('on_key_down', key, File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\core\window__init.py", line 163, in _on_window_key_down return self.dispatch('on_key_down', keycode, text, modifiers) File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\uix\textinput.py", line 2941, in keyboard_on_key_down self._key_down(key) File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\uix\textinput.py", line 2847, in _key_down self.dispatch('on_text_validate') File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\lang\builder.py", line 55, in custom_callback exec(kvlang__.co_value, idmap) File "C:\Users\Eric Weiner\Downloads\LumaViewPro-main -2023-06-02\LumaViewPro-main\lumaviewpro.kv", line 579, in on_text_validate: root.set_xposition(self.text) File "C:\Users\Eric Weiner\Downloads\LumaViewPro-main -2023-06-02\LumaViewPro-main\lumaviewpro.py", line 1219, in set_xposition logger.info('[LVP Main ] X pos', x_pos, 'Stage X', stage_x) Message: '[LVP Main ] X pos' Arguments: ('63.28', 'Stage X', 60600.00000000001) Axis: X steps: 1221774 --- Logging error --- Traceback (most recent call last): File "C:\Program Files\Python310\lib\logging\init.py", line 1100, in emit msg = self.format(record) File "C:\Program Files\Python310\lib\logging\init__.py", line 943, in format return fmt.format(record) File "C:\Users\Eric Weiner\Downloads\LumaViewPro-main -2023-06-02\LumaViewPro-main\lvp_logger.py", line 59, in format return record.getMessage() File "C:\Program Files\Python310\lib\logging\init__.py", line 368, in getMessage msg = msg % self.args TypeError: not all arguments converted during string formatting Call stack: File "C:\Users\Eric Weiner\Downloads\LumaViewPro-main -2023-06-02\LumaViewPro-main\lumaviewpro.py", line 2887, in LumaViewProApp().run() File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\app.py", line 955, in run runTouchApp() File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\base.py", line 574, in runTouchApp EventLoop.mainloop() File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\base.py", line 341, in mainloop self.window.mainloop() File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\core\window\window_sdl2.py", line 757, in mainloop if self.dispatch('on_key_down', key, File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\core\window\init.py", line 163, in _on_window_key_down return self.dispatch('on_key_down', keycode, text, modifiers) File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\uix\textinput.py", line 2941, in keyboard_on_key_down self._key_down(key) File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\uix\textinput.py", line 2849, in _key_down self.focus = False File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\lang\builder.py", line 55, in custom_callback exec(kvlang__.co_value, idmap) File "C:\Users\Eric Weiner\Downloads\LumaViewPro-main -2023-06-02\LumaViewPro-main\lumaviewpro.kv", line 580, in on_focus: if not self.focus: root.set_xposition(self.text) File "C:\Users\Eric Weiner\Downloads\LumaViewPro-main -2023-06-02\LumaViewPro-main\lumaviewpro.py", line 1219, in set_xposition logger.info('[LVP Main ] X pos', x_pos, 'Stage X', stage_x) Message: '[LVP Main ] X pos' Arguments: ('63.28', 'Stage X', 60600.00000000001) Axis: X steps: 1221774

ericweiner commented 1 year ago

Still present in 9/8/2023 build.

ericweiner commented 1 year ago

This is the current stack trace (9/8/23)

--- Logging error --- Traceback (most recent call last): File "C:\Program Files\Python310\lib\logging\handlers.py", line 73, in emit if self.shouldRollover(record): File "C:\Program Files\Python310\lib\logging\handlers.py", line 196, in shouldRollover msg = "%s\n" % self.format(record) File "C:\Program Files\Python310\lib\logginginit.py", line 943, in format return fmt.format(record) File "C:\Users\Eric Weiner\Downloads\LumaViewPro-main-2023-09-08\LumaViewPro-main\lvp_logger.py", line 60, in format return record.getMessage() File "C:\Program Files\Python310\lib\logginginit.py", line 368, in getMessage msg = msg % self.args TypeError: not all arguments converted during string formatting Call stack: File "C:\Users\Eric Weiner\Downloads\LumaViewPro-main-2023-09-08\LumaViewPro-main\lumaviewpro.py", line 3371, in LumaViewProApp().run() File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\app.py", line 955, in run runTouchApp() File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\base.py", line 574, in runTouchApp EventLoop.mainloop() File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\base.py", line 339, in mainloop self.idle() File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\base.py", line 383, in idle self.dispatch_input() File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\base.py", line 334, in dispatch_input post_dispatch_input(*pop(0)) File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\base.py", line 263, in post_dispatch_input listener.dispatch('on_motion', etype, me) File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\core\windowinit.py", line 1665, in on_motion FocusBehavior._handle_post_on_touch_up(me) File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\uix\behaviors\focus.py", line 480, in _handle_post_on_touch_up focusable.focus = False File "C:\Users\Eric Weiner\AppData\Roaming\Python\Python310\site-packages\kivy\lang\builder.py", line 55, in custom_callback exec(kvlang.co_value, idmap) File "C:\Users\Eric Weiner\Downloads\LumaViewPro-main-2023-09-08\LumaViewPro-main\lumaviewpro.kv", line 580, in on_focus: if not self.focus: root.set_xposition(self.text) File "C:\Users\Eric Weiner\Downloads\LumaViewPro-main-2023-09-08\LumaViewPro-main\lumaviewpro.py", line 1663, in set_xposition logger.info('[LVP Main ] X pos', x_pos, 'Stage X', stage_x) Message: '[LVP Main ] X pos' Arguments: ('44.72', 'Stage X', 79160.00000000001) Axis: X steps: 1595967

jmcoreymv commented 1 year ago

@ericweiner I was able to reproduce the crash captured above, and have a fix for that. However, I'm not able to manually enter in position values for X and Y (they just go back to the current values). What is the desired behavior? Right now the Set X and Go to X buttons for example call a function for setting and moving to a bookmark location.

Is the following the desired behavior:

ericweiner commented 1 year ago

I think it is best to mirror the behavior of the Z axis. If you enter a number in there, and press return, it moves to that location, then updates the number to reflect the real location.

jmcoreymv commented 1 year ago

Regarding the Set X and Go to X.

If the user clicks Set X, I think the method to return to that location would be Go to X?

I could still work on the behavior where the user enters a value and presses enter to goto that position.

Thought?

On Sep 14, 2023, at 1:03 PM, ericweiner @.***> wrote:



I think it is best to mirror the behavior of the Z axis. If you enter a number in there, and press return, it moves to that location, then updates the number to reflect the real location. (I assume "go to X" would have the same effect as pressing return.) Set X is really a separate function, if you want to remember that position at some point in the future.

— Reply to this email directly, view it on GitHubhttps://github.com/EtalumaSupport/LumaViewPro/issues/227#issuecomment-1720066224, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFATD6MWZ7SZN5NYGIUOHATX2NPIZANCNFSM6AAAAAAYYXT2VY. You are receiving this because you were assigned.Message ID: @.***>

ericweiner commented 1 year ago

Sorry, I edited my comment to remove the "go to X" once I realized it wasn't correct. I don't use those, that is really separate from this issue.

I think we just need to look to the Z axis as a guide to how this should work.

ericweiner commented 1 year ago

Further thoughts- Maybe we should combine the Get/Set functionality so it is XY together instead of X and Y Separately. @EtalumaSupport ?

ericweiner commented 1 year ago

but my main priority for this issue is to get the ability to move it around by typing in a number, instead just using the arrows...

jmcoreymv commented 1 year ago

Fixed on https://github.com/EtalumaSupport/LumaViewPro/pull/273

ericweiner commented 1 year ago

Fixed! Thanks.