Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
- Enhancement: Log connect and manual disconnect with the connection method and address
- Enhancement: Add a "Network..." option under Scan Wi-Fi in the connection dropdown to enter a machine network address
- Enhancement: Reconnect supports USB as well as WiFi. Configure preferred method for app-launch auto-connect
- Enhancement: added green question mark help buttons to the UI that link to the relevant documentation page
- Fixed: Restore Keyboard Jogging state after Probing Popup is closed
- Fixed: Repeated firmware checks now happen just once
- Fixed: UI widget updates from the SerialMonitor() now dispatched via the main thread. This should reduce the number of RecycleView related crashes
Expand All @@ -41,13 +42,13 @@
- Fixed: Config download / MD5-match cache path could fail to load settings and block later USB baud upgrade
- Fixed: Status and diagnose parsers mishandled trailing newlines in Makera payloads (e.g. RSSI parse warnings)
- Fixed: Fresh USB-only connects could immediately show "Connection to machine lost" while the machine was still booting after DTR reset; "Connection to machine lost" is now also logged
- Change: Misleading "Download canceled by Controller!" MDI message is suppressed, in logs a message is recorded that cached version of the config.txt was used
- Fixed: Elapsed and remaining job timers now pause while playback is paused
- Change: Misleading "Download canceled by Controller!" MDI message is suppressed, in logs a message is recorded that cached version of the config.txt was used
- Change: Remove remaining "Can not load config, Key:" messages from the MDI
- Change: Resume playback will now use gcode loaded in the controller instead of cached local file
- Change: Upgrade screen now will show the letter "c" at the end of the current firmware version if it's present. This indicates that it's Community firmware
- Change: Auto-connect on app launch now is only performed if auto-reconnect is enabled
- Change: Reconnect uses the last successful connection method. On fresh app launch it uses the configured prefered connection method
- Change: Reconnect uses the last successful connection method. On fresh app launch it uses the configured preferred connection method
- Change: USB devices in connection dropdown are filtered to only show devices specifically with the FTDI chip found on the Makera machines
- Change: USB devices are now selected and stored by stable VID:PID:serial identity (instead of generic COM path)

Expand Down
3 changes: 3 additions & 0 deletions carveracontroller/addons/facing/FacingWizardPopup.kv
Original file line number Diff line number Diff line change
Expand Up @@ -638,3 +638,6 @@
font_size: dp(12)
text: tr._('Close')
on_release: root.dismiss()

HelpButton:
helpPath: "https://carvera-community.gitbook.io/docs/controller/features/facing-widget"
2 changes: 2 additions & 0 deletions carveracontroller/addons/probe_scan/ui/ProbeScanPopup.kv
Original file line number Diff line number Diff line change
Expand Up @@ -999,6 +999,8 @@
text: tr._('Close')
size_hint_x: 1
on_release: root.dismiss()
HelpButton:
helpPath: "https://carvera-community.gitbook.io/docs/controller/features/probe_scan"

BoxLayout:
id: probing_banner
Expand Down
9 changes: 3 additions & 6 deletions carveracontroller/addons/probing/ProbingPopup.kv
Original file line number Diff line number Diff line change
Expand Up @@ -664,17 +664,14 @@
Label:
size_hint_min_x: dp(90)
padding: '5dp'
halign: 'center'
halign: 'right'
valign: 'middle'
text_size: self.size
multiline: False
text: tr._('Note: Most of these operations require a true 3 axis probe, not the manual probe supplied with the Carvera. See the documentation for more info')

Button:
text: "More Info"
size_hint_x: None
width: dp(100)
on_release: root.open_probe_info_url()
HelpButton:
helpPath: "https://carvera-community.gitbook.io/docs/firmware/features/3d-probe-support"

BoxLayout:
spacing: '5dp'
Expand Down
5 changes: 0 additions & 5 deletions carveracontroller/addons/probing/ProbingPopup.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,6 @@

logger = logging.getLogger(__name__)

import webbrowser

from kivy.app import App


Expand Down Expand Up @@ -65,9 +63,6 @@ def allows_external_jog(self) -> bool:
"""Allow keyboard/pendant jog while the probing screen is open."""
return self._is_open

def open_probe_info_url(self):
webbrowser.open("https://carvera-community.gitbook.io/docs/firmware/features/3d-probe-support")

def delayed_bind(self, dt):
self.outside_corner_settings = self.ids.outside_corner_settings
self.inside_corner_settings = self.ids.inside_corner_settings
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,4 +253,12 @@
pos: self.pos
size: self.size
active: root.get_setting('UseProbeNormallyClosed') == "1"
on_active: root.setting_changed('UseProbeNormallyClosed', "1" if self.active else "0")
on_active: root.setting_changed('UseProbeNormallyClosed', "1" if self.active else "0")
BoxLayout:
ProbeSettingLabel:
label_text: 'More Info:'
hint_text: ''
BoxLayout:
size_hint_x: 0.4
HelpButton:
helpPath: "https://carvera-community.gitbook.io/docs/controller/features/wcs-rotation#clearing-a-rotation"
Original file line number Diff line number Diff line change
Expand Up @@ -179,4 +179,12 @@
pos: self.pos
size: self.size
active: root.get_setting('UseProbeNormallyClosed') == "1"
on_active: root.setting_changed('UseProbeNormallyClosed', "1" if self.active else "0")
on_active: root.setting_changed('UseProbeNormallyClosed', "1" if self.active else "0")
BoxLayout:
ProbeSettingLabel:
label_text: 'More Info:'
hint_text: ''
BoxLayout:
size_hint_x: 0.4
HelpButton:
helpPath: "https://carvera-community.gitbook.io/docs/firmware/supported-commands/mcodes/self-calibration"
Original file line number Diff line number Diff line change
Expand Up @@ -156,3 +156,12 @@
size: self.size
active: root.get_setting('SaveAOffset') == "1"
on_active: root.setting_changed('SaveAOffset', "1" if self.active else "0")
BoxLayout:
ProbeSettingLabel:
label_text: 'More Info:'
hint_text: ''
BoxLayout:
size_hint_x: 0.4
HelpButton:
halign: 'center'
helpPath: "https://carvera-community.gitbook.io/docs/firmware/supported-commands/mcodes/self-calibration"
25 changes: 25 additions & 0 deletions carveracontroller/addons/tooltips/Tooltips.kv
Original file line number Diff line number Diff line change
Expand Up @@ -80,3 +80,28 @@
Rectangle:
size: self.size
pos: self.pos

<HelpButton>
id: help_button
orientation: 'vertical'
halign: 'center'
pos_hint: {'center_x': 0.5, 'center_y': 0.5}
size_hint: None, None
height: self.parent.height
width: self.parent.height * 2
state_image: self.background_normal if self.state == 'normal' else self.background_down
disabled_image: self.background_disabled_normal if self.state == 'normal' else self.background_disabled_down
canvas:
Color:
rgba: 0, 1, 0, 1
BorderImage:
border: self.border
pos: self.pos
size: self.size
source: self.disabled_image if self.disabled else self.state_image
Image:
id: image
source: root.image_source
fit_mode: 'scale-down'
size_hint: 0.3,0.3
pos_hint: {'center_x': 0.5, 'center_y': 0.5}
22 changes: 21 additions & 1 deletion carveracontroller/addons/tooltips/Tooltips.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import sys
import webbrowser

from kivy.app import App
from kivy.clock import Clock
from kivy.compat import string_types
from kivy.core.window import Window
from kivy.factory import Factory
from kivy.properties import BooleanProperty, NumericProperty, ObjectProperty, StringProperty
from kivy.properties import BooleanProperty, ListProperty, NumericProperty, ObjectProperty, StringProperty
from kivy.uix.behaviors import ButtonBehavior
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.dropdown import DropDown
Expand Down Expand Up @@ -823,3 +825,21 @@ def close_tooltip(self, *args):

def display_tooltip(self, *args):
Window.add_widget(self._tooltip)


class HelpButton(ButtonBehavior, BoxLayout):
image_source = StringProperty("data/open_iconic_UI/oi--question-mark.png")
helpPath = StringProperty("https://carvera-community.gitbook.io/docs")
background_normal = StringProperty("atlas://data/images/defaulttheme/button")
background_down = StringProperty("atlas://data/images/defaulttheme/button_pressed")
background_disabled_normal = StringProperty("atlas://data/images/defaulttheme/button_disabled")
background_disabled_down = StringProperty("atlas://data/images/defaulttheme/button_disabled_pressed")
border = ListProperty([16, 16, 16, 16])

def __init__(self, **kwargs):
super().__init__(**kwargs)
self.bind(on_release=self.open_link)
fbind = self.fbind

def open_link(self, *args):
webbrowser.open(self.helpPath)
26 changes: 24 additions & 2 deletions carveracontroller/makera.kv
Original file line number Diff line number Diff line change
Expand Up @@ -514,6 +514,12 @@
on_release:
root.select('Third Item')
app.root.controller.clearAutoLeveling()
BoxLayout:
size_hint_y: None
height: '48dp'
HelpButton:
helpPath: "https://carvera-community.gitbook.io/docs/controller/features/auto-leveling"



<ADropDown>:
Expand Down Expand Up @@ -1508,6 +1514,12 @@
root.dismiss()
if root.unlock_safe_z:\
root.unlock_safe_z()
BoxLayout:
size_hint_x: 0.25
HelpButton:
size_hint: 1,1
helpPath: "https://carvera-community.gitbook.io/docs/controller/common-error-messages"


<SelectAndCalibrateProbePopup>:
lb_title: lb_title
Expand Down Expand Up @@ -1736,6 +1748,7 @@
id: btn_ok
text: tr._('Ok')
on_release: root.on_ok_pressed()


TabbedPanelItem:
text: tr._('Set By XYZ Probe')
Expand Down Expand Up @@ -3790,6 +3803,7 @@
text: tr._('Macro 3')
height: '35dp'
on_release: app.root.run_macro(3)

Widget:
size_hint_y: 0.15
BoxLayout:
Expand Down Expand Up @@ -3936,15 +3950,13 @@
text: tr._('Jog Mode:Step')
height: '35dp'
on_release: app.root.toggle_jog_mode()

GridBoxLayout:
ToggleButton:
id: kb_jog_btn
text: tr._('Keyboard Jogging')
height: '35dp'
state: app.jog_keyboard_enable
on_release: app.root.toggle_keyboard_jog_control()

GridBoxLayout:
ToggleButton:
id: pendant_jogging_en_btn
Expand Down Expand Up @@ -5444,6 +5456,11 @@
on_release:
root.apply_changes()
root.dismiss()
BoxLayout:
size_hint_x: 0.2
HelpButton:
helpPath: "https://carvera-community.gitbook.io/docs/controller/features/workspace-management"


<SetRotationPopup>:
size_hint: 0.5, 0.4
Expand Down Expand Up @@ -5506,6 +5523,11 @@
text: tr._('Ok')
on_release:
on_release: root.on_ok_pressed()
BoxLayout:
size_hint_x: 0.2
HelpButton:
helpPath: "https://carvera-community.gitbook.io/docs/controller/features/wcs-rotation"


# Solid disabled look (no faded theme atlas / no ghost text): mute bg + text vs enabled row.
<OpaqueDisabledButton@Button>:
Expand Down
Loading