43 Commits

Author SHA1 Message Date
Jaime van Kessel
356d4f9288 Heated bed timeout time now hides correctly if time ran out
CURA-3360
2017-03-06 14:41:33 +01:00
Ghostkeeper
7bb486a34b
Don't process status updates of pre-heating while request is going on
There was the problem that you'd click on pre-heat, so locally it would display the time-out. Then a package came in with the out-dated print status saying that the printer is not pre-heating, so the pre-heat was cancelled on Cura's side. Then the next status update came in saying that the pre-heat is now busy, so the pre-heat is resumed on Cura's side. So the button was flicking back and forth once after pressing. This commit makes Cura ignore any status updates that come while the put-request is still going on, because they may be outdated. It'll appear nicer to the user, mostly.

Contributes to issue CURA-3360.
2017-02-24 17:44:37 +01:00
Ghostkeeper
39920c95f3
Interpret cancelling pre-heat properly
If someone on a different computer cancels the pre-heat, this is now correctly updated locally.

Contributes to issue CURA-3360.
2017-02-24 17:14:54 +01:00
Ghostkeeper
d60014fa30
Sync remaining pre-heat time with printer
If multiple instances of Cura are running or Cura is restarted, it now properly syncs the remaining pre-heat time with the printer, so that all instances display the proper time.
There's still a bug in here that pressing cancel has no effect the first time since the remaining pre-heat time is updated immediately from the printer before the command to cancel got through remotely. I'll see what I can do to amend that. Also, cancelling is not yet synced.

Contributes to issue CURA-3360.
2017-02-24 14:53:00 +01:00
Ghostkeeper
d2fa6dbae2
Notify to update remaining time when it drastically changes
When the time passes normally it doesn't trigger this signal but just go on counting, but when the pre-heat starts or cancels it updates via this signal. This is handy for the future, when we want to update the remaining time from the printer information. However for now it is also nice because we can make the pre-heat timer dependent on this signal so we know when to have it running. This fixes the problem that the pre-heat seems to have been cancelled in the GUI when you switch away the tab, because the timer running is now dependent on the property rather than always false.

Contributes to issue CURA-3161.
2017-02-16 12:58:39 +01:00
Ghostkeeper
3cc11ecae5
Log when pre-heating or cancelling pre-heat
To help debugging and because it's a user interaction.

Contributes to issue CURA-3161.
2017-02-16 12:58:39 +01:00
Ghostkeeper
75a50b73c2
Move pre-heat timer into PrinterOutputDevice
If it's held inside the device that has two advantages: It's being held per-device, so switching connection doesn't stop the timer. And also, the logic is no longer in the GUI.

Contributes to issue CURA-3161.
2017-02-16 12:58:32 +01:00
Jaime van Kessel
b34bb26a1a Fixed broken getInstance caused by refactor 2017-02-15 13:51:53 +01:00
Jaime van Kessel
b187cf89a5 Fixed broken logging 2017-02-15 13:50:02 +01:00
Ghostkeeper
42982b7a86
Fix link to UM.Version.Version
The Version object is no longer exposed via UM.__init__, so we have to dig inside the UM.Version module to get it.

Contributes to issue CURA-2917.
2017-02-14 17:03:37 +01:00
Ghostkeeper
5055c534c5
Fix links to ContainerRegistry
ContainerRegistry is no longer exposed in UM.Settings.__init__, so we must dig the class up from inside the module.

Contributes to issue CURA-2917.
2017-02-14 16:57:21 +01:00
Jaime van Kessel
e8c5f81c79 Merge branch 'feature_preheat_bed' of github.com:Ultimaker/Cura 2017-02-13 14:16:50 +01:00
Jaime van Kessel
cc396d5357 Fixed target temp never updating 2017-02-13 14:16:22 +01:00
Jaime van Kessel
f62030dae5 setTargetBed temperature now directly sets target temp
This is instead of sending /bed/temperature a json which contains target & temp as keyvalue.
2017-02-13 13:30:51 +01:00
Jaime van Kessel
6deaf5bd65 Failure logging for network printing is now more explicit (also prints what the operation was) 2017-02-13 13:28:32 +01:00
Jaime van Kessel
8d7b813318 All good 20x http replies are now accepted 2017-02-13 13:26:36 +01:00
Jaime van Kessel
5e3782e6c3 Added more authentication logging to network printing 2017-02-10 15:44:45 +01:00
Ghostkeeper
0c9b9a3033
Add fallback name property in PrinterOutputDevice
It'll call this property, which gives an empty string, if the device doesn't implement giving a name.

Contributes to issue CURA-3161.
2017-02-09 17:34:51 +01:00
Ghostkeeper
27c30006da
Give no address instead of a wrong address if unknown
Contributes to issue CURA-3161.
2017-02-09 10:33:14 +01:00
Ghostkeeper
1395735ece
No longer mention printer name in status
The printer name is displayed right above it, so mentioning the name again is double.

Contributes to issue CURA-3161.
2017-02-08 12:53:54 +01:00
Ghostkeeper
da4574cb32
Use fallback without time-out if preheating bed on old firmware
It manually sets the temperature just like what happens when you print via USB.

Contributes to issue CURA-3161.
2017-02-08 11:38:03 +01:00
Ghostkeeper
28e488dad7
Fix setting target bed temperature
The previous implementation just emitted the signal twice, once in setTargetBedTemperature and once in _setTargetBedTemperature. I've made the private one actually set the temperature.

Contributes to issue CURA-3161.
2017-02-08 11:37:04 +01:00
Ghostkeeper
9354a80504
Document no longer that pre-heating defaults to 15m
Because that was removed.

Contributes to issue CURA-3161.
2017-02-07 17:17:45 +01:00
Ghostkeeper
4ccadc6208
Round pre-heat temperature and duration to integer but allow floats
We want to allow floats in the interface since the interface needs to be agnostic of what device it is connected to. But the UM3 API only allows integers, so we still need to round it to the nearest integer.

Contributes to issue CURA-3161.
2017-02-07 16:57:20 +01:00
Ghostkeeper
785f10966e
Don't send a time-out for preheat if timeout is 0
The printer doesn't accept 0.

Contributes to issue CURA-3161.
2017-02-07 16:48:27 +01:00
Ghostkeeper
1a902b21bb
Store default pre-heat time in central location
Its default is 900s or 15 minutes. QML now requests the time-out time and sends it on to the printer.

Contributes to issue CURA-3161.
2017-02-07 16:29:41 +01:00
Ghostkeeper
d751285713
Provide pre-heat command with integer parameters
The firmware only accepts integers, apparently.

Contributes to issue CURA-3161.
2017-02-07 14:44:28 +01:00
Ghostkeeper
b27a9e6535
Implement tracking target bed temperature
I had already assumed it was tracking this but apparently it wasn't. This works though.

Contributes to issue CURA-3161.
2017-02-07 13:52:44 +01:00
Ghostkeeper
3618ae0d4f
Properly float-format input of preheatBed
It rounds to 3 digits. The specification of the feature in the API doesn't mention how detailed the temperature and duration can go, but thousands seems more than enough. This also eliminates pesky problems with the JSON brackets in the format function.

Contributes to issue CURA-3161.
2017-02-07 13:35:09 +01:00
Ghostkeeper
559b40867e
Call pre-heat if pre-heat button is pressed
Contributes to issue CURA-3161.
2017-02-07 13:29:57 +01:00
Ghostkeeper
0df4afff33
Convert parameters to string before including them
This way you can provide normal floating point values instead of providing strings with numbers in them.

Contributes to issue CURA-3161.
2017-02-07 13:26:10 +01:00
Ghostkeeper
d7bf23ca21
Add function to cancel pre-heating the bed
You could also do this by calling preheatBed with a temperature of 0. In fact, that's what this function does.

Contributes to issue CURA-3161.
2017-02-07 13:23:56 +01:00
Ghostkeeper
9d8034d14f
Add default for duration parameter of preheatBed
It defaults to 15 minutes.

Contributes to issue CURA-3161.
2017-02-07 13:22:21 +01:00
Ghostkeeper
cfbcf56739
Add function to pre-head bed
This makes a PUT-request to the printer with the new API function call.

Contributes to issue CURA-3161.
2017-02-07 13:18:41 +01:00
Ghostkeeper
9546c85967
Add boxes containing information on extruders
These are meant to eventually replace the bullet-list of information we currently have.

Contributes to issue CURA-3161.
2017-02-03 13:50:17 +01:00
Ghostkeeper
cda5ee1dca
Separate name from address in properties
This way we can display them separately.

Contributes to issue CURA-3161.
2017-02-02 14:27:49 +01:00
Jack Ha
4bee3b6fdc Changed 'Changes with your printer' to 'Sync with your printer' 2016-12-15 15:30:57 +01:00
Jack Ha
5b59f3660b Renamed PrintCore to print core 2016-12-12 11:28:00 +01:00
Ghostkeeper
ee19794d92
Sync terminology of print cores with the rest of Cura
In other places we've always used 'print cores' as two words.

Contributes to issue CURA-2947.
2016-12-11 17:41:29 +01:00
Simon Edwards
b700b3a4d9 "print cores" -> "PrintCores".
CURA-2947 Message "Would you like to update ... into Cura?" not clear
2016-12-08 16:57:53 +01:00
Simon Edwards
0e3ffe997a Improved text.
CURA-2947 Message "Would you like to update ... into Cura?" not clear
2016-12-08 16:00:49 +01:00
fieldOfView
91e8ac6868 Allow postprocessing before sending data to the printer
From OutputDevice.py:
"output device subclasses are completely free to implement writing however they want, though you should emit writeStarted and related signals whenever certain events happen related to the write process."
2016-11-29 17:20:10 +01:00
Jaime van Kessel
ef4ad8d2ac Renamed um3networkprintingplugin to um3networkprinting
CURA-2862
2016-11-25 11:34:49 +01:00