Skip to content

Commit

Permalink
fix: working on graphical view
Browse files Browse the repository at this point in the history
  • Loading branch information
bartei81 committed May 19, 2024
1 parent 02315a8 commit dcc73c6
Show file tree
Hide file tree
Showing 16 changed files with 135 additions and 244 deletions.
7 changes: 4 additions & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,20 @@ on:
branches:
- main

permissions: write-all

jobs:
release:
runs-on: ubuntu-latest
concurrency: release

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Python Semantic Release
uses: relekang/python-semantic-release@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
repository_username: __token__
repository_password: ${{ secrets.PYPI_TOKEN }}

8 changes: 5 additions & 3 deletions rotary_controller_python/components/coordbar.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,9 @@ class CoordBar(BoxLayout, SavingDispatcher):

_skip_save = ["position", "new_position", "formatted_axis_speed", "syncEnable"]

def __init__(self, input_index, **kv):
def __init__(self, **kv):
self.app = App.get_running_app()
super().__init__(**kv)
self.inputIndex = input_index

self.speed_history = collections.deque(maxlen=5)
self.previous_axis_time: float = 0
Expand All @@ -50,6 +49,9 @@ def __init__(self, input_index, **kv):
Clock.schedule_interval(self.speed_task, 1.0/25.0)

def upload(self):
if self.device is None:
return

if not self.device.dm.connected:
log.error(f"Unable to upload scale {self.inputIndex} connection is down!")
return
Expand Down Expand Up @@ -114,7 +116,7 @@ def speed_task(self, *args, **kv):
self.speed = float(average * 60 / 25.4 / 12)
else:
# Speed in mt/minute
self.speed = float(average * 60 / 1000)
self.speed = float(average * 60 / 1000 / 1000)

self.previous_axis_time = current_time
self.previous_axis_pos = Decimal(self.position)
34 changes: 31 additions & 3 deletions rotary_controller_python/components/home/home_page.kv
Original file line number Diff line number Diff line change
@@ -1,11 +1,39 @@
#: import HomeToolbar components.home.home_toolbar
#: import CoordBar components.coordbar
#: import ServoBar components.servobar
#: import StatusBar components.statusbar

<HomePage>:
orientation: "horizontal"
bars_container: bars_container
scale_x: scale_x
scale_y: scale_y
scale_z: scale_z
scale_a: scale_a
servo: servo
status_bar: status_bar

HomeToolbar:
id: toolbar
BoxLayout:
id: bars_container
orientation: "vertical"
orientation: "vertical"
StatusBar:
id: status_bar
CoordBar:
id: scale_x
inputIndex: 0
device: root.device
CoordBar:
id: scale_y
inputIndex: 1
device: root.device
CoordBar:
id: scale_z
inputIndex: 2
device: root.device
CoordBar:
id: scale_a
inputIndex: 3
device: root.device
ServoBar:
id: servo
device: root.device
27 changes: 5 additions & 22 deletions rotary_controller_python/components/home/home_page.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,10 @@
from kivy.lang import Builder
from kivy.logger import Logger
from kivy.properties import (
ListProperty,
ObjectProperty,
)
from kivy.uix.boxlayout import BoxLayout

from rotary_controller_python.components.coordbar import CoordBar
from rotary_controller_python.components.servobar import ServoBar
from rotary_controller_python.components.statusbar import StatusBar

log = Logger.getChild(__name__)

current_app = App.get_running_app()
Expand All @@ -28,26 +23,14 @@
class HomePage(BoxLayout):
device = ObjectProperty()
status_bar = ObjectProperty()
bars_container = ObjectProperty()
coord_bars = ListProperty([])
scale_x = ObjectProperty()
scale_y = ObjectProperty()
scale_z = ObjectProperty()
scale_a = ObjectProperty()
servo = ObjectProperty()

def __init__(self, device, **kv):
def __init__(self, **kv):
super().__init__(**kv)
self.device = device

self.status_bar = StatusBar()
self.bars_container.add_widget(self.status_bar)
coord_bars = []
for i in range(4):
bar = CoordBar(input_index=i, device=self.device)
coord_bars.append(bar)
self.bars_container.add_widget(bar)

self.coord_bars = coord_bars
self.servo = ServoBar(device=self.device)
self.bars_container.add_widget(self.servo)

self._keyboard = Window._system_keyboard
self._keyboard.bind(on_key_down=self._on_keyboard_down)
self.exit_stack = ExitStack()
Expand Down
4 changes: 2 additions & 2 deletions rotary_controller_python/components/plot/coords_overlay.kv
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,14 @@
valign: "middle"
font_name: "fonts/iosevka-regular.ttf"
text_size: self.size
text: 'X: {:0.3f}'.format(root.mouse_position[0])
text: 'X: {:0.3f}'.format(root.tool_x)
Label:
size_hint_y: None
height: 24
halign: "left"
valign: "middle"
font_name: "fonts/iosevka-regular.ttf"
text_size: self.size
text: 'Y: {:0.3f}'.format(root.mouse_position[1])
text: 'Y: {:0.3f}'.format(root.tool_y)
Widget:
size_hint_y: 1
3 changes: 2 additions & 1 deletion rotary_controller_python/components/plot/coords_overlay.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@
class CoordsOverlay(BoxLayout):
mouse_position = ListProperty([0, 0])
zoom = NumericProperty(0.0)
pass
tool_x = NumericProperty(0.0)
tool_y = NumericProperty(0.0)
11 changes: 7 additions & 4 deletions rotary_controller_python/components/plot/float_view.kv
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#: import Scene components.plot.scene
#: import CoordsOverlay components.plot.coords_overlay
<FloatView>:
scene_canvas: scene_canvas
BoxLayout:
Expand All @@ -12,16 +14,17 @@
RelativeLayout:
size_hint: None, None
size: 10000, 10000
Grid:
zoom: root.zoom

Scene:
id: scene_canvas
zoom: root.zoom
points: root.circle_pattern.points
tool_x: app.home.scale_x.position
tool_y: app.home.scale_y.position

CoordsOverlay:
pos: root.pos
size: root.size
mouse_position: root.mouse_position
zoom: root.zoom
zoom: root.zoom
tool_x: app.home.scale_x.position
tool_y: app.home.scale_y.position
2 changes: 0 additions & 2 deletions rotary_controller_python/components/plot/grid.kv

This file was deleted.

66 changes: 0 additions & 66 deletions rotary_controller_python/components/plot/grid.py

This file was deleted.

1 change: 0 additions & 1 deletion rotary_controller_python/components/plot/point_widget.kv

This file was deleted.

53 changes: 0 additions & 53 deletions rotary_controller_python/components/plot/point_widget.py

This file was deleted.

Loading

0 comments on commit dcc73c6

Please sign in to comment.