Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Visual Assistet Nozzle Offset Calibration for IDEX printers or Toolchangers #1557

Closed
wants to merge 51 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
a8cd0da
translations added
HelgeKeck Aug 12, 2023
d6dc5a0
webcam setting added
HelgeKeck Aug 12, 2023
366599e
new type added
HelgeKeck Aug 12, 2023
754b462
type fixed
HelgeKeck Aug 12, 2023
ed37097
type fixed
HelgeKeck Aug 12, 2023
0bc27fb
types
HelgeKeck Aug 12, 2023
6a282c5
types fixed
HelgeKeck Aug 12, 2023
effcaca
types fixed
HelgeKeck Aug 12, 2023
2c1d687
types fixed
HelgeKeck Aug 12, 2023
84e09a0
types fixed
HelgeKeck Aug 12, 2023
bdb7531
types fixed
HelgeKeck Aug 12, 2023
8166b41
types fixed
HelgeKeck Aug 12, 2023
0f6f7ed
webcam panel title
HelgeKeck Aug 12, 2023
6b5fa52
webcam panel title
HelgeKeck Aug 12, 2023
d9944c2
overlay added
HelgeKeck Aug 12, 2023
8f6b669
overlay added
HelgeKeck Aug 12, 2023
799bcff
removed useless scale
HelgeKeck Aug 12, 2023
198451f
make pixel per mm configureable
HelgeKeck Aug 12, 2023
41b900c
fixes
HelgeKeck Aug 12, 2023
3188cc2
fixes
HelgeKeck Aug 12, 2023
b335700
fix
HelgeKeck Aug 12, 2023
73d98b8
fix
HelgeKeck Aug 12, 2023
37a0a4c
release
HelgeKeck Sep 14, 2023
1680a05
Update package-lock.json
HelgeKeck Sep 15, 2023
77d8c19
Merge pull request #2 from mainsail-crew/develop
HelgeKeck Sep 15, 2023
74215d7
locals removed
HelgeKeck Sep 16, 2023
5bc9426
locales fixed
HelgeKeck Sep 16, 2023
fa03cca
Update Mjpegstreamer.vue
HelgeKeck Sep 16, 2023
ecb86d1
package files fixed
HelgeKeck Sep 17, 2023
b0252c1
Update en.json
HelgeKeck Sep 17, 2023
dae3547
Update MjpegstreamerAdaptive.vue
HelgeKeck Sep 17, 2023
1611d1b
Update MjpegstreamerAdaptive.vue
HelgeKeck Sep 17, 2023
972affe
Update MjpegstreamerAdaptive.vue
HelgeKeck Sep 17, 2023
9f076b2
Update MjpegstreamerAdaptive.vue
HelgeKeck Sep 17, 2023
56bd9bb
translations added
HelgeKeck Sep 17, 2023
2e687f5
drag and drop precision improved
HelgeKeck Sep 17, 2023
38f10e1
drag and drop fixed
HelgeKeck Sep 17, 2023
680bc86
prettyfied
HelgeKeck Sep 17, 2023
fcb02b3
better settings page implementation
HelgeKeck Sep 17, 2023
a1bff02
prettyfied
HelgeKeck Sep 17, 2023
602a341
overlapping T buttons fixed
HelgeKeck Sep 18, 2023
e121a36
webcam setting limited to one service type
HelgeKeck Sep 18, 2023
7592141
Update MjpegstreamerAdaptive.vue
HelgeKeck Sep 19, 2023
80401c6
Update MjpegstreamerAdaptive.vue
HelgeKeck Sep 19, 2023
5ac50d8
Merge pull request #3 from mainsail-crew/develop
HelgeKeck Sep 20, 2023
b853df3
drag and drop movements precision improved
HelgeKeck Sep 21, 2023
4070fba
prettyfied
HelgeKeck Sep 21, 2023
57dc49e
Merge pull request #13 from mainsail-crew/develop
HelgeKeck Sep 24, 2023
af9b2c2
Update MjpegstreamerAdaptive.vue
HelgeKeck Sep 24, 2023
6d31f18
prettyfied
HelgeKeck Sep 24, 2023
2c919c6
feature removed that need special klipper modifications to work
HelgeKeck Sep 25, 2023
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
110 changes: 110 additions & 0 deletions src/components/settings/Webcams/WebcamForm.vue
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,48 @@
:label="$t('Settings.WebcamsTab.Vertically')" />
</v-col>
</v-row>
<v-row v-if="['mjpegstreamer-adaptive'].includes(webcam.service)" class="mt-5">
<v-col class="pt-1 pb-3">
<v-checkbox
v-model="nozzleCalibration"
class="mt-1"
hide-details
:label="$t('Settings.WebcamsTab.EnableNozzleCalibrationOverlay')" />
</v-col>
</v-row>
<v-row v-if="nozzleCalibration && ['mjpegstreamer-adaptive'].includes(webcam.service)" class="mt-5">
<v-col class="pt-1 pb-3">
<v-text-field
v-model="pixelPerMM"
outlined
dense
hide-details
:label="$t('Settings.WebcamsTab.PixelPerMM')" />
</v-col>
</v-row>
<v-row v-if="nozzleCalibration && ['mjpegstreamer-adaptive'].includes(webcam.service)">
<v-col class="pt-1 pb-3">
<div class="v-label v-label--active theme--dark text-subtitle-1">
{{ $t('Settings.WebcamsTab.FlipNozzle') }}
</div>
</v-col>
</v-row>
<v-row v-if="nozzleCalibration && ['mjpegstreamer-adaptive'].includes(webcam.service)" class="mt-0">
<v-col class="py-0">
<v-checkbox
v-model="nozzleFlipX"
class="mt-1"
hide-details
:label="$t('Settings.WebcamsTab.FlipNozzleHorizontally')" />
</v-col>
<v-col class="py-0">
<v-checkbox
v-model="nozzleFlipY"
class="mt-1"
hide-details
:label="$t('Settings.WebcamsTab.FlipNozzleVertically')" />
</v-col>
</v-row>
</v-col>
<v-col class="col-12 col-sm-6 text-center" align-self="center">
<webcam-wrapper :webcam="webcam" />
Expand Down Expand Up @@ -280,6 +322,74 @@ export default class WebcamForm extends Mixins(BaseMixin, WebcamMixin) {
this.webcam.extra_data.hideFps = newVal
}

get nozzleCalibration() {
return this.webcam.extra_data?.nozzle_calibration ?? false
}

set nozzleCalibration(newVal) {
if (!('extra_data' in this.webcam)) {
this.webcam.extra_data = {
nozzle_calibration: newVal,
}

return
}

// @ts-ignore
this.webcam.extra_data.nozzle_calibration = newVal
}

get nozzleFlipX() {
return this.webcam.extra_data?.nozzle_flip_x ?? false
}

set nozzleFlipX(newVal) {
if (!('extra_data' in this.webcam)) {
this.webcam.extra_data = {
nozzle_flip_x: newVal,
}

return
}

// @ts-ignore
this.webcam.extra_data.nozzle_flip_x = newVal
}

get nozzleFlipY() {
return this.webcam.extra_data?.nozzle_flip_y ?? false
}

set nozzleFlipY(newVal) {
if (!('extra_data' in this.webcam)) {
this.webcam.extra_data = {
nozzle_flip_y: newVal,
}

return
}

// @ts-ignore
this.webcam.extra_data.nozzle_flip_y = newVal
}

get pixelPerMM() {
return this.webcam.extra_data?.pixel_per_mm ?? 0
}

set pixelPerMM(newVal) {
if (!('extra_data' in this.webcam)) {
this.webcam.extra_data = {
pixel_per_mm: newVal,
}

return
}

// @ts-ignore
this.webcam.extra_data.pixel_per_mm = newVal
}

mounted() {
this.oldWebcamName = this.webcam.name
}
Expand Down
Loading
Loading