* Getting a rid of M800:
This removes M800 completely. The problem is basically that M800 sets the temperature to 200deg.
As a result we tell the firmware to heat up to e.g. 205deg, then M800 kicks in and sets the temperature to 200deg and then we heat up to 205deg again.
Therefore I looked into the firmware and extracted all g-code lines except the one which tells to go to 200deg.
* Getting independent of bq's fork and therefore adding compatibility to Marlin
We use standard g-code, which is safe to be used with both firmware.
Note: This change might be also interesting for other bq products, but can't test on them. Therefore it is up to bq and/or the owners of these products to contribute and correct this here, as I did.
CURA-5668
The last fallback is the global qualities, either machine-specific or
generic, but not using both. Because if a machine defines its own global
qualities, it is intended to override the existing ones, so do not
fallback again in this case.
Did this so that models can be updated more often fixing bugs where when a material is set as "not favorite" in the favorites section, its updated accordingly in its "normal" section.
It's also the ground work for saving material section expansion to preferences.
Contributes to CURA-5378
I was hoping to completely nix the generic materials model (since it's basically just a brand "Generic", but then in the QML it has to be have the same in terms of sub-menus or fold-outs and that looked stupid (Generic -> ABS -> ABS)). So we keep that one for now. It is cleaner though.
Contributes to CURA-5162, CURA-5378
It would detect the height of the raft by looking at what the first Z coordinate is that it encounters on layer 0. This Z coordinate also includes the initial layer height though. If you pause lower than the initial layer height (but higher than 0), you'd expect to pause in the initial layer.
This was a debugging test to see if this fixed an issue. It turned out to not be the issue in question, but this is still a defensive coding thing that would be good to have.