775 Commits

Author SHA1 Message Date
Erwan MATHIEU
b342574c19 Change slicing crash error message
CURA-11445
2024-03-01 09:17:37 +01:00
c.lamboo
c29eb49113 Add more paths 2024-02-04 22:44:21 +01:00
Erwan MATHIEU
731ea69ebb
Merge branch 'main' into CURA-11482_sentry 2024-01-17 11:04:05 +01:00
Erwan MATHIEU
54df08f47f Fix specific extruder not being used
CURA-11536
2024-01-16 13:14:49 +01:00
Erwan MATHIEU
ab322ae703 Always send user name for Sentry if available
CURA-11482
2024-01-15 15:22:25 +01:00
c.lamboo
9d78c9ed58 Don't mutate/pollute _all_extruder_settings with additional values
CURA-11536
2024-01-15 12:39:10 +01:00
Erwan MATHIEU
68152e6f31 Code readability
CURA-11482
2024-01-15 12:04:55 +01:00
c.lamboo
5da4dfcb70 Improve unhappy flow
CURA-11536
2024-01-15 12:03:42 +01:00
c.lamboo
fe440a6643 Allow for expressions in start/end machine/extruder code extruder_nr field
CURA-11536
2024-01-15 11:52:11 +01:00
Jelle Spijker
7738059631
Add optional (opt-in) project_name to Sentry
Needed for automatic Issue handling in the future

Contributes to CURA-11482
2024-01-15 10:44:43 +01:00
Jelle Spijker
2bcdacef72
Allow for opt-in of DF User name for Sentry crash reports
This will help us with triage of bugs for our customers.

Contributes to CURA-11482
2024-01-13 11:12:46 +01:00
Jelle Spijker
b3825ee1c7
actually use f string
Contributes to CURA-11482
2024-01-10 05:40:10 +01:00
Jelle Spijker
5744371f38 Add anonymous user tracking to slice message
User tracking has been added to the 'slice_message' method in the 'StartSliceJob.py' file. A unique, anonymous UUID is generated for each user, stripping away identifiable data with a bitmask operation. The user's Cura version is also included in the message. This facilitates more robust analysis of crash reports and user behaviors.

Contributes to CURA-11482
2023-12-17 17:44:30 +01:00
Jelle Spijker
a6218c3f54
Use cura sentry id and version
Contribute to CURA-11482
2023-12-15 18:08:46 +01:00
Casper Lamboo
1dc350012d
Merge branch 'main' into CURA-11364_add_sentry_engine 2023-11-30 09:29:47 +01:00
Jaime van Kessel
593e959dd5
Use cleaner notation for use_sentry env variable
CURA-11364

Co-authored-by: Casper Lamboo <c.lamboo@ultimaker.com>
2023-11-29 10:42:12 +01:00
Jaime van Kessel
60bf2fbc2c
Add preference to disable sentry engine crash reporting
CURA-11364
2023-11-21 14:01:58 +01:00
Casper Lamboo
afe3f54167
Remove debug statements
Co-authored-by: Jaime van Kessel <nallath@gmail.com>
2023-11-17 11:00:50 +01:00
c.lamboo
36f2deea1d Fix some more parsing issues
Example of issues we had is that parsing floating point numbers would parse the dot as an attribute syntax and trying to retrieve both sides of the attributes to the get_value resolve. E.g `3.14` would be interpreted as getting the `14` property of the object `3`, which ofcourse throws an error.

CURA-11347
2023-11-16 14:45:46 +01:00
c.lamboo
036516b8f9 Re-add support for post slice data variables in start/end gcode
With previous implementation we lost support for these variables in start/end gcode
"filament_cost", "print_time", "filament_amount", "filament_weight", "jobname"

CURA-11347
2023-11-16 13:53:43 +01:00
c.lamboo
e98240fb2c Cleanup code in GcodeStartEndFormatter
CURA-11155
2023-10-13 07:36:45 +02:00
c.lamboo
14afd73c19 Make sure default variables are available in start/end code
The following properties are not settings-names, but could previously be used as template variables
- material_id
- time
- date
- day
- initial_extruder_nr
- material_id
- material_name
- material_type
- material_brand
- time
- date
- day
- initial_extruder_nr
These properties are _awkwardly_ propogated through the kwargs of the `get_value` method of `GcodeStartEndFormatter`. I don't quite like implementing it like this, but to avoid API breaks I couldn't change abusing the kwargs arg for this purpose.

CURA-11155
2023-10-12 21:09:10 +02:00
c.lamboo
c3f3a86385 Extend start/end gcode templates feature with support for formula's
CURA-11155
2023-10-12 16:53:39 +02:00
c.lamboo
d4449c680f Find available port when starting backend plugin
CURA-11067
2023-09-20 11:24:28 +02:00
Jelle Spijker
45510d04ed
Added ability for backend plugins to determine their usability
Modified BackendPlugin.py and StartSliceJob.py to allow plugins to decide when they should be used. The 'usePlugin'
method was added to enable a plugin to return a boolean indicating if it should be used or not, e.q.: start up and
connect to the services.

Contributes to CURA-11031
2023-09-13 07:22:07 +02:00
Remco Burema
015e635213 Engine-plugins wouldn't always close.
... because the code to terminate them wasn't always called. Especially annoying on Windows, since the sub-program could aparently become a zomboid after termination of the main one(s).

I guess this is still part of the still open CURA-10475 'branch' in a way? There is no other ticket that fits at the moment.
2023-08-29 22:46:35 +02:00
Jelle Spijker
037a462c97
Merge branch 'CURA-10475_engineplugin' into CURA-10446_modify_gcode_path 2023-08-21 14:05:43 +02:00
Jelle Spijker
f634a5bd44 Send over plugin name and version
Might be needed during the handshake between engine and plugin

Contributes to CURA-10619
2023-08-15 11:27:15 +02:00
c.lamboo
c1acfee5f1 Merge branch 'CURA-10475_engineplugin' into CURA-10446_modify_gcode_path 2023-08-11 15:08:59 +02:00
Jelle Spijker
dead016ed9 Add error messages to BackendPlugin and enhance exception handling
Exception handling in BackendPlugin has been improved by adding
user-friendly error messages for various exceptions. Errors during
backend plugin start or stop will now trigger a message to the user,
providing more context about the cause of the failure. This makes it
easier for users to understand and resolve possible issues. In addition,
 the EngineBackend stop function has been modified to forcibly stop all
 running backend plugins instead of allowing multiple plugins to run
 simultaneously.
2023-08-10 05:56:24 +02:00
Jelle Spijker
2240db9062
Add GCodePathsModify
Contributes CURA-10446
2023-08-07 16:04:25 +02:00
Jelle Spijker
f9d4eb9554
Sync Cura.proto with other repo's
Contributes CURA-10475
2023-08-01 07:47:22 +02:00
Jelle Spijker
129e0d04b0
Sync used SlotID
Contributes to CURA-10717 and CURA-10475
2023-07-14 09:27:39 +02:00
Jelle Spijker
4aae50396b
Merge remote-tracking branch 'origin/CURA-10717_Engine_plugin_orchestration' into CURA-10475_engineplugin
# Conflicts:
#	plugins/CuraEngineBackend/Cura.proto
#	plugins/CuraEngineBackend/StartSliceJob.py
2023-07-12 18:35:21 +02:00
Jaime van Kessel
d37afe7880
Actually call startPlugins before slicing
CURA-10717
2023-07-11 15:21:36 +02:00
Jaime van Kessel
3037320b03
Send slotID's for backend_plugins
CURA-10717
2023-07-11 15:18:52 +02:00
Jaime van Kessel
4aebd755b2
Clarify documentation of startBackendPlugin function
CURA-10717
2023-07-11 11:43:15 +02:00
Jaime van Kessel
bf32b83c82
Move signal definition to top of file
It's easier to understand what is going on if the signal definitions are not spread out

CURA-10717
2023-07-11 11:38:21 +02:00
Jaime van Kessel
19a4e0d2f8
Fix bunch of comments violating max line length
Boyscouting

CURA-10717
2023-07-11 11:37:31 +02:00
Jaime van Kessel
5d74f2d250
Convert typing in CuraEngineBackend to modern style
Boyscouting

CURA-10717
2023-07-11 11:30:49 +02:00
Jaime van Kessel
f3bc7bf28a
Move backend plugin logic to Cura from Uranium
I was running into abstraction issues when it was defined in Uranium.
Instead of trying to fight those, it's just easier to move it to Cura

CURA-10717
2023-07-11 11:24:28 +02:00
Jaime van Kessel
26bf00ccc0
Add backend_plugin messages to proto file
CURA-10717
2023-07-10 13:25:29 +02:00
Jelle Spijker
cccfebcc8e
Allow Cura front-end to set plugins (port & address)
This can currently be done by setting the environment variables:
- SIMPLIFY_ENABLE: default disabled, setting this to any value will enable the plugin
- SIMPLIFY_ADDRESS: defaults to localhost
- SIMPLIFY_PORT: defaults to 33700
- POSTPROCESS_ENABLE: default disabled, setting this to any value will enable the plugin
- POSTPROCESS_ADDRESS: defaults to localhost
- POSTPROCESS_PORT: defaults to 33701

Hacky for now

Contributes to CURA-10475
2023-05-19 13:33:14 +02:00
Casper Lamboo
4b43677086
Reset last slice dat in resetAndReturnLastSliceTimeStats
CURA-10299
2023-02-27 11:03:36 +01:00
Remco Burema
4efa8e3ab4 Put slice-time in slice-data-sharing.
part of CURA-10299
2023-02-23 16:03:20 +01:00
jspijker
61623720ca Update copyright using UltiMaker
Contributes to CURA-9808
2022-11-28 10:48:38 +01:00
jspijker
696c0f8547 Update company name to UltiMaker
Contributes to CURA-9808
2022-11-28 09:05:21 +01:00
Remco Burema
45fb71e966 Engine should know to (not) offset the nozzles w.r.t. disallowed areas.
part of CURA-9066
2022-10-30 17:07:21 +01:00
j.spijker@ultimaker.com
a712e7517a Add the received slice_uuid to the print information
Contributes to CURA-9031
2022-07-27 18:12:25 +02:00
Jaime van Kessel
7397497260 Add quality_name and quality_changes_name to replacement patterns
CURA-9375
Fixes #12447
2022-06-10 16:00:23 +02:00