Deploying to gh-pages from @ Klipper3d/klipper@14a83103c3 🚀

This commit is contained in:
KevinOConnor
2024-09-06 00:04:39 +00:00
parent 6478486f2c
commit 6d8124a0cc
303 changed files with 23968 additions and 2228 deletions

View File

@@ -444,8 +444,8 @@
<li class="md-nav__item">
<a href="/OctoPrint.md" class="md-nav__link">
None
<a href="/OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1267,8 +1267,8 @@
<li class="md-nav__item">
<a href="/Eddy_Probe.md" class="md-nav__link">
None
<a href="/Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1174,6 +1174,20 @@
angle/dump_angle
</a>
</li>
<li class="md-nav__item">
<a href="#hx71xdump_hx71x" class="md-nav__link">
hx71x/dump_hx71x
</a>
</li>
<li class="md-nav__item">
<a href="#ads1220dump_ads1220" class="md-nav__link">
ads1220/dump_ads1220
</a>
</li>
<li class="md-nav__item">
@@ -1202,6 +1216,13 @@
query_endstops/status
</a>
</li>
<li class="md-nav__item">
<a href="#bed_meshdump_mesh" class="md-nav__link">
bed_mesh/dump_mesh
</a>
</li>
</ul>
@@ -1482,8 +1503,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>
@@ -1676,6 +1697,20 @@
angle/dump_angle
</a>
</li>
<li class="md-nav__item">
<a href="#hx71xdump_hx71x" class="md-nav__link">
hx71x/dump_hx71x
</a>
</li>
<li class="md-nav__item">
<a href="#ads1220dump_ads1220" class="md-nav__link">
ads1220/dump_ads1220
</a>
</li>
<li class="md-nav__item">
@@ -1704,6 +1739,13 @@
query_endstops/status
</a>
</li>
<li class="md-nav__item">
<a href="#bed_meshdump_mesh" class="md-nav__link">
bed_mesh/dump_mesh
</a>
</li>
</ul>
@@ -1825,6 +1867,12 @@ gcode:
<p>Questo endpoint viene utilizzato per iscriversi a <a href="Config_Reference.html#angle">dati del sensore angolare</a>. L'ottenimento di questi aggiornamenti di movimento di basso livello può essere utile per scopi diagnostici e di debug. L'utilizzo di questo endpoint può aumentare il carico di sistema di Klipper.</p>
<p>Una richiesta può essere simile a: <code>{"id": 123, "method":"angle/dump_angle", "params": {"sensor": "my_angle_sensor", "response_template": {}}}</code> e potrebbe restituire: <code>{"id": 123,"result":{"header":["time","angle"]}}</code> e potrebbe in seguito produrre messaggi asincroni come: <code>{"params":{"position_offset":3.151562 ,"errori":0, "dati":[[1290.951905,-5063],[1290.952321,-5065]]}}</code></p>
<p>Il campo "intestazione" nella risposta alla query iniziale viene utilizzato per descrivere i campi trovati nelle risposte "dati" successive.</p>
<h3 id="hx71xdump_hx71x">hx71x/dump_hx71x<a class="headerlink" href="#hx71xdump_hx71x" title="Permanent link">&para;</a></h3>
<p>This endpoint is used to subscribe to raw HX711 and HX717 ADC data. Obtaining these low-level ADC updates may be useful for diagnostic and debugging purposes. Using this endpoint may increase Klipper's system load.</p>
<p>A request may look like: <code>{"id": 123, "method":"hx71x/dump_hx71x", "params": {"sensor": "load_cell", "response_template": {}}}</code> and might return: <code>{"id": 123,"result":{"header":["time","counts","value"]}}</code> and might later produce asynchronous messages such as: <code>{"params":{"data":[[3292.432935, 562534, 0.067059278], [3292.4394937, 5625322, 0.670590639]]}}</code></p>
<h3 id="ads1220dump_ads1220">ads1220/dump_ads1220<a class="headerlink" href="#ads1220dump_ads1220" title="Permanent link">&para;</a></h3>
<p>This endpoint is used to subscribe to raw ADS1220 ADC data. Obtaining these low-level ADC updates may be useful for diagnostic and debugging purposes. Using this endpoint may increase Klipper's system load.</p>
<p>A request may look like: <code>{"id": 123, "method":"ads1220/dump_ads1220", "params": {"sensor": "load_cell", "response_template": {}}}</code> and might return: <code>{"id": 123,"result":{"header":["time","counts","value"]}}</code> and might later produce asynchronous messages such as: <code>{"params":{"data":[[3292.432935, 562534, 0.067059278], [3292.4394937, 5625322, 0.670590639]]}}</code></p>
<h3 id="pause_resumecancel">pause_resume/cancel<a class="headerlink" href="#pause_resumecancel" title="Permanent link">&para;</a></h3>
<p>Questo endpoint è simile all'esecuzione del comando G-Code "PRINT_CANCEL". Ad esempio: <code>{"id": 123, "method": "pause_resume/cancel"}</code></p>
<p>Come con l'endpoint "gcode/script", questo endpoint viene completato solo dopo il completamento di tutti i comandi G-Code in sospeso.</p>
@@ -1837,6 +1885,119 @@ gcode:
<h3 id="query_endstopsstatus">query_endstops/status<a class="headerlink" href="#query_endstopsstatus" title="Permanent link">&para;</a></h3>
<p>Questo endpoint eseguirà una query sugli endpoint attivi e restituirà il loro stato. Ad esempio: <code>{"id": 123, "method": "query_endstops/status"}</code> potrebbe restituire: <code>{"id": 123, "result": {"y": "open", "x": "aperto", "z": "TRIGGERED"}}</code></p>
<p>Come con l'endpoint "gcode/script", questo endpoint viene completato solo dopo il completamento di tutti i comandi G-Code in sospeso.</p>
<h3 id="bed_meshdump_mesh">bed_mesh/dump_mesh<a class="headerlink" href="#bed_meshdump_mesh" title="Permanent link">&para;</a></h3>
<p>Dumps the configuration and state for the current mesh and all saved profiles.</p>
<p>For example: <code>{"id": 123, "method": "bed_mesh/dump_mesh"}</code></p>
<p>might return:</p>
<div class="highlight"><pre><span></span><code>{
&quot;current_mesh&quot;: {
&quot;name&quot;: &quot;eddy-scan-test&quot;,
&quot;probed_matrix&quot;: [...],
&quot;mesh_matrix&quot;: [...],
&quot;mesh_params&quot;: {
&quot;x_count&quot;: 9,
&quot;y_count&quot;: 9,
&quot;mesh_x_pps&quot;: 2,
&quot;mesh_y_pps&quot;: 2,
&quot;algo&quot;: &quot;bicubic&quot;,
&quot;tension&quot;: 0.5,
&quot;min_x&quot;: 20,
&quot;max_x&quot;: 330,
&quot;min_y&quot;: 30,
&quot;max_y&quot;: 320
}
},
&quot;profiles&quot;: {
&quot;default&quot;: {
&quot;points&quot;: [...],
&quot;mesh_params&quot;: {
&quot;min_x&quot;: 20,
&quot;max_x&quot;: 330,
&quot;min_y&quot;: 30,
&quot;max_y&quot;: 320,
&quot;x_count&quot;: 9,
&quot;y_count&quot;: 9,
&quot;mesh_x_pps&quot;: 2,
&quot;mesh_y_pps&quot;: 2,
&quot;algo&quot;: &quot;bicubic&quot;,
&quot;tension&quot;: 0.5
}
},
&quot;eddy-scan-test&quot;: {
&quot;points&quot;: [...],
&quot;mesh_params&quot;: {
&quot;x_count&quot;: 9,
&quot;y_count&quot;: 9,
&quot;mesh_x_pps&quot;: 2,
&quot;mesh_y_pps&quot;: 2,
&quot;algo&quot;: &quot;bicubic&quot;,
&quot;tension&quot;: 0.5,
&quot;min_x&quot;: 20,
&quot;max_x&quot;: 330,
&quot;min_y&quot;: 30,
&quot;max_y&quot;: 320
}
},
&quot;eddy-rapid-test&quot;: {
&quot;points&quot;: [...],
&quot;mesh_params&quot;: {
&quot;x_count&quot;: 9,
&quot;y_count&quot;: 9,
&quot;mesh_x_pps&quot;: 2,
&quot;mesh_y_pps&quot;: 2,
&quot;algo&quot;: &quot;bicubic&quot;,
&quot;tension&quot;: 0.5,
&quot;min_x&quot;: 20,
&quot;max_x&quot;: 330,
&quot;min_y&quot;: 30,
&quot;max_y&quot;: 320
}
}
},
&quot;calibration&quot;: {
&quot;points&quot;: [...],
&quot;config&quot;: {
&quot;x_count&quot;: 9,
&quot;y_count&quot;: 9,
&quot;mesh_x_pps&quot;: 2,
&quot;mesh_y_pps&quot;: 2,
&quot;algo&quot;: &quot;bicubic&quot;,
&quot;tension&quot;: 0.5,
&quot;mesh_min&quot;: [
20,
30
],
&quot;mesh_max&quot;: [
330,
320
],
&quot;origin&quot;: null,
&quot;radius&quot;: null
},
&quot;probe_path&quot;: [...],
&quot;rapid_path&quot;: [...]
},
&quot;probe_offsets&quot;: [
0,
25,
0.5
],
&quot;axis_minimum&quot;: [
0,
0,
-5,
0
],
&quot;axis_maximum&quot;: [
351,
358,
330,
0
]
}
</code></pre></div>
<p>The <code>dump_mesh</code> endpoint takes one optional parameter, <code>mesh_args</code>. This parameter must be an object, where the keys and values are parameters available to <a href="#bed_mesh_calibrate">BED_MESH_CALIBRATE</a>. This will update the mesh configuration and probe points using the supplied parameters prior to returning the result. It is recommended to omit mesh parameters unless it is desired to visualize the probe points and/or travel path before performing <code>BED_MESH_CALIBRATE</code>.</p>
</article>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1324,8 +1324,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1366,8 +1366,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1217,15 +1217,22 @@
</li>
<li class="md-nav__item">
<a href="#installare-octoprint" class="md-nav__link">
Installare Octoprint
<a href="#installing-octoprint" class="md-nav__link">
Installing Octoprint
</a>
</li>
<li class="md-nav__item">
<a href="#creazione-del-codice-del-microcontrollore" class="md-nav__link">
Creazione del codice del microcontrollore
<a href="#building-the-beaglebone-pru-micro-controller-code-pru-firmware" class="md-nav__link">
Building the BeagleBone PRU micro-controller code (PRU firmware)
</a>
</li>
<li class="md-nav__item">
<a href="#building-and-installing-linux-host-micro-controller-code" class="md-nav__link">
Building and installing Linux host micro-controller code
</a>
</li>
@@ -1242,6 +1249,41 @@
Stampa sul Beaglebone
</a>
</li>
<li class="md-nav__item">
<a href="#avr-micro-controller-code-build" class="md-nav__link">
AVR micro-controller code build
</a>
</li>
<li class="md-nav__item">
<a href="#hardware-pin-designation" class="md-nav__link">
Hardware Pin designation
</a>
</li>
<li class="md-nav__item">
<a href="#enabling-hardware-spi" class="md-nav__link">
Enabling hardware SPI
</a>
</li>
<li class="md-nav__item">
<a href="#enabling-hardware-i2c" class="md-nav__link">
Enabling hardware I2C
</a>
</li>
<li class="md-nav__item">
<a href="#enabling-hardware-uartserialcan" class="md-nav__link">
Enabling hardware UART(Serial)/CAN
</a>
</li>
</ul>
@@ -1343,8 +1385,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>
@@ -1406,15 +1448,22 @@
</li>
<li class="md-nav__item">
<a href="#installare-octoprint" class="md-nav__link">
Installare Octoprint
<a href="#installing-octoprint" class="md-nav__link">
Installing Octoprint
</a>
</li>
<li class="md-nav__item">
<a href="#creazione-del-codice-del-microcontrollore" class="md-nav__link">
Creazione del codice del microcontrollore
<a href="#building-the-beaglebone-pru-micro-controller-code-pru-firmware" class="md-nav__link">
Building the BeagleBone PRU micro-controller code (PRU firmware)
</a>
</li>
<li class="md-nav__item">
<a href="#building-and-installing-linux-host-micro-controller-code" class="md-nav__link">
Building and installing Linux host micro-controller code
</a>
</li>
@@ -1431,6 +1480,41 @@
Stampa sul Beaglebone
</a>
</li>
<li class="md-nav__item">
<a href="#avr-micro-controller-code-build" class="md-nav__link">
AVR micro-controller code build
</a>
</li>
<li class="md-nav__item">
<a href="#hardware-pin-designation" class="md-nav__link">
Hardware Pin designation
</a>
</li>
<li class="md-nav__item">
<a href="#enabling-hardware-spi" class="md-nav__link">
Enabling hardware SPI
</a>
</li>
<li class="md-nav__item">
<a href="#enabling-hardware-i2c" class="md-nav__link">
Enabling hardware I2C
</a>
</li>
<li class="md-nav__item">
<a href="#enabling-hardware-uartserialcan" class="md-nav__link">
Enabling hardware UART(Serial)/CAN
</a>
</li>
</ul>
@@ -1453,14 +1537,36 @@
<h1 id="beaglebone">Beaglebone<a class="headerlink" href="#beaglebone" title="Permanent link">&para;</a></h1>
<p>Questo documento descrive il processo di esecuzione di Klipper su una PRU Beaglebone.</p>
<h2 id="creazione-di-unimmagine-del-sistema-operativo">Creazione di un'immagine del sistema operativo<a class="headerlink" href="#creazione-di-unimmagine-del-sistema-operativo" title="Permanent link">&para;</a></h2>
<p>Inizia installando l'immagine <a href="https://beagleboard.org/latest-images">Debian 9.9 2019-08-03 4GB SD IoT</a>. È possibile eseguire l'immagine da una scheda micro-SD o dall'eMMC integrato. Se si utilizza l'eMMC, installarlo ora nell'eMMC seguendo le istruzioni dal collegamento sopra.</p>
<p>Quindi loggati ssh nella macchina Beaglebone (<code>ssh debian@beaglebone</code> -- la password è <code>temppwd</code>) e installa Klipper eseguendo i seguenti comandi:</p>
<div class="highlight"><pre><span></span><code>git clone https://github.com/Klipper3d/klipper
<p>Start by installing the <a href="https://beagleboard.org/latest-images">Debian 11.7 2023-09-02 4GB microSD IoT</a> image. One may run the image from either a micro-SD card or from builtin eMMC. If using the eMMC, install it to eMMC now by following the instructions from the above link.</p>
<p>Then ssh into the Beaglebone machine (<code>ssh debian@beaglebone</code> -- password is <code>temppwd</code>).</p>
<p>Before start installing Klipper you need to free-up additional space. there are 3 options to do that:</p>
<ol>
<li>remove some BeagleBone "Demo" resources</li>
<li>if you did boot from SD-Card, and it's bigger than 4Gb - you can expand current filesystem to take whole card space</li>
<li>do option #1 and #2 together.</li>
</ol>
<p>To remove some BeagleBone "Demo" resources execute these commands</p>
<div class="highlight"><pre><span></span><code>sudo apt remove bb-node-red-installer
sudo apt remove bb-code-server
</code></pre></div>
<p>To expand filesystem to full size of your SD-Card execute this command, reboot is not required.</p>
<div class="highlight"><pre><span></span><code>sudo growpart /dev/mmcblk0 1
sudo resize2fs /dev/mmcblk0p1
</code></pre></div>
<p>Install Klipper by running the following commands:</p>
<div class="highlight"><pre><span></span><code>git clone https://github.com/Klipper3d/klipper.git
./klipper/scripts/install-beaglebone.sh
</code></pre></div>
<h2 id="installare-octoprint">Installare Octoprint<a class="headerlink" href="#installare-octoprint" title="Permanent link">&para;</a></h2>
<p>Si può quindi installare Octoprint:</p>
<p>After installing Klipper you need to decide what kind of deployment do you need, but take a note that BeagleBone is 3.3v based hardware and in most cases you can't directly connect pins to 5v or 12v based hardware without conversion boards.</p>
<p>As Klipper have multimodule architecture on BeagleBone you can achieve many different use cases, but general ones are following:</p>
<p>Use case 1: Use BeagleBone only as a host system to run Klipper and additional software like OctoPrint/Fluidd + Moonraker/... and this configuration will be driving external micro-controllers via serial/usb/canbus connections.</p>
<p>Use case 2: Use BeagleBone with extension board (cape) like CRAMPS board. in this configuration BeagleBone will host Klipper + additional software, and it will drive extension board with BeagleBone PRU cores (2 additional cores 200Mh, 32Bit).</p>
<p>Use case 3: It's same as "Use case 1" but additionally you want to drive BeagleBone GPIOs with high speed by utilizing PRU cores to offload main CPU.</p>
<h2 id="installing-octoprint">Installing Octoprint<a class="headerlink" href="#installing-octoprint" title="Permanent link">&para;</a></h2>
<p>One may then install Octoprint or fully skip this section if desired other software:</p>
<div class="highlight"><pre><span></span><code>git clone https://github.com/foosel/OctoPrint.git
cd OctoPrint/
virtualenv venv
@@ -1482,19 +1588,69 @@ sudo update-rc.d octoprint defaults
<div class="highlight"><pre><span></span><code>sudo systemctl start octoprint
</code></pre></div>
<p>Assicurati che il server web OctoPrint sia accessibile - dovrebbe trovarsi su: <a href="http://beaglebone:5000/">http://beaglebone:5000/</a></p>
<h2 id="creazione-del-codice-del-microcontrollore">Creazione del codice del microcontrollore<a class="headerlink" href="#creazione-del-codice-del-microcontrollore" title="Permanent link">&para;</a></h2>
<p>Per compilare il codice del microcontrollore Klipper, inizia configurandolo per il "Beaglebone PRU":</p>
<p>Wait 1-2 minutes and make sure the OctoPrint web server is accessible - it should be at: <a href="http://beaglebone:5000/">http://beaglebone:5000/</a></p>
<h2 id="building-the-beaglebone-pru-micro-controller-code-pru-firmware">Building the BeagleBone PRU micro-controller code (PRU firmware)<a class="headerlink" href="#building-the-beaglebone-pru-micro-controller-code-pru-firmware" title="Permanent link">&para;</a></h2>
<p>This section is required for "Use case 2" and "Use case 3" mentioned above, you should skip it for "Use case 1".</p>
<p>Check that required devices are present</p>
<div class="highlight"><pre><span></span><code>sudo beagle-version
</code></pre></div>
<p>You should check that output contains successful "remoteproc" drivers loading and presence of PRU cores, in Kernel 5.10 they should be "remoteproc1" and "remoteproc2" (4a334000.pru, 4a338000.pru) Also check that many GPIOs are loaded they will look like "Allocated GPIO id=0 name='P8_03'" Usually everything is fine and no hardware configuration is required. If something is missing - try to play with "uboot overlays" options or with cape-overlays Just for reference some output of working BeagleBone Black configuration with CRAMPS board:</p>
<div class="highlight"><pre><span></span><code>model:[TI_AM335x_BeagleBone_Black]
UBOOT: Booted Device-Tree:[am335x-boneblack-uboot-univ.dts]
UBOOT: Loaded Overlay:[BB-ADC-00A0.bb.org-overlays]
UBOOT: Loaded Overlay:[BB-BONE-eMMC1-01-00A0.bb.org-overlays]
kernel:[5.10.168-ti-r71]
/boot/uEnv.txt Settings:
uboot_overlay_options:[enable_uboot_overlays=1]
uboot_overlay_options:[disable_uboot_overlay_video=0]
uboot_overlay_options:[disable_uboot_overlay_audio=1]
uboot_overlay_options:[disable_uboot_overlay_wireless=1]
uboot_overlay_options:[enable_uboot_cape_universal=1]
pkg:[bb-cape-overlays]:[4.14.20210821.0-0~bullseye+20210821]
pkg:[bb-customizations]:[1.20230720.1-0~bullseye+20230720]
pkg:[bb-usb-gadgets]:[1.20230414.0-0~bullseye+20230414]
pkg:[bb-wl18xx-firmware]:[1.20230414.0-0~bullseye+20230414]
.............
.............
</code></pre></div>
<p>To compile the Klipper micro-controller code, start by configuring it for the "Beaglebone PRU", for "BeagleBone Black" additionally disable options "Support GPIO Bit-banging devices" and disable "Support LCD devices" inside the "Optional features" because they will not fit in 8Kb PRU firmware memory, then exit and save config:</p>
<div class="highlight"><pre><span></span><code>cd ~/klipper/
make menuconfig
</code></pre></div>
<p>Per compilare e installare il nuovo codice del microcontrollore, eseguire:</p>
<p>To build and install the new PRU micro-controller code, run:</p>
<div class="highlight"><pre><span></span><code>sudo service klipper stop
make flash
sudo service klipper start
</code></pre></div>
<p>After previous commands was executed your PRU firmware should be ready and started to check if everything was fine you can execute following command</p>
<div class="highlight"><pre><span></span><code>dmesg
</code></pre></div>
<p>and compare last messages with sample one which indicate that everything started properly:</p>
<div class="highlight"><pre><span></span><code>[ 71.105499] remoteproc remoteproc1: 4a334000.pru is available
[ 71.157155] remoteproc remoteproc2: 4a338000.pru is available
[ 73.256287] remoteproc remoteproc1: powering up 4a334000.pru
[ 73.279246] remoteproc remoteproc1: Booting fw image am335x-pru0-fw, size 97112
[ 73.285807] remoteproc1#vdev0buffer: registered virtio0 (type 7)
[ 73.285836] remoteproc remoteproc1: remote processor 4a334000.pru is now up
[ 73.286322] remoteproc remoteproc2: powering up 4a338000.pru
[ 73.313717] remoteproc remoteproc2: Booting fw image am335x-pru1-fw, size 188560
[ 73.313753] remoteproc remoteproc2: header-less resource table
[ 73.329964] remoteproc remoteproc2: header-less resource table
[ 73.348321] remoteproc remoteproc2: remote processor 4a338000.pru is now up
[ 73.443355] virtio_rpmsg_bus virtio0: creating channel rpmsg-pru addr 0x1e
[ 73.443727] virtio_rpmsg_bus virtio0: msg received with no recipient
[ 73.444352] virtio_rpmsg_bus virtio0: rpmsg host is online
[ 73.540993] rpmsg_pru virtio0.rpmsg-pru.-1.30: new rpmsg_pru device: /dev/rpmsg_pru30
</code></pre></div>
<p>take a note about "/dev/rpmsg_pru30" - it's your future serial device for main mcu configuration this device is required to be present, if it's absent - your PRU cores did not start properly.</p>
<h2 id="building-and-installing-linux-host-micro-controller-code">Building and installing Linux host micro-controller code<a class="headerlink" href="#building-and-installing-linux-host-micro-controller-code" title="Permanent link">&para;</a></h2>
<p>This section is required for "Use case 2" and optional for "Use case 3" mentioned above</p>
<p>È inoltre necessario compilare e installare il codice del microcontrollore per un processo host Linux. Configuralo per un "processo Linux":</p>
<div class="highlight"><pre><span></span><code>make menuconfig
</code></pre></div>
@@ -1505,10 +1661,57 @@ make flash
sudo service klipper start
</code></pre></div>
<p>take a note about "/tmp/klipper_host_mcu" - it will be your future serial device for "mcu host" if that file don't exist - refer to "scripts/klipper-mcu.service" file, it was installed by previous commands, and it's responsible for it.</p>
<p>Take a note for "Use case 2" about following: when you will define printer configuration you should always use temperature sensors from "mcu host" because ADCs not present in default "mcu" (PRU cores). Sample configuration of "sensor_pin" for extruder and heated bed are available in "generic-cramps.cfg" You can use any other GPIO directly from "mcu host" by referencing them this way "host:gpiochip1/gpio17" but that should be avoided because it will be creating additional load on main CPU and most probably you can't use them for stepper control.</p>
<h2 id="configurazione-rimanente">Configurazione rimanente<a class="headerlink" href="#configurazione-rimanente" title="Permanent link">&para;</a></h2>
<p>Completare l'installazione configurando Klipper e Octoprint seguendo le istruzioni nel documento principale <a href="Installation.html#configuring-klipper">Installation</a>.</p>
<p>Complete the installation by configuring Klipper following the instructions in the main <a href="Installation.html#configuring-octoprint-to-use-klipper">Installation</a> document.</p>
<h2 id="stampa-sul-beaglebone">Stampa sul Beaglebone<a class="headerlink" href="#stampa-sul-beaglebone" title="Permanent link">&para;</a></h2>
<p>Sfortunatamente, il processore Beaglebone a volte può avere difficoltà a far funzionare bene OctoPrint. È noto che i blocchi di stampa si verificano su stampe complesse (la stampante potrebbe muoversi più velocemente di quanto OctoPrint possa inviare comandi di movimento). In questo caso, considera l'utilizzo della funzione "virtual_sdcard" (consulta <a href="Config_Reference.html#virtual_sdcard">Config Reference</a> per i dettagli) per stampare direttamente da Klipper.</p>
<p>Unfortunately, the Beaglebone processor can sometimes struggle to run OctoPrint well. Print stalls have been known to occur on complex prints (the printer may move faster than OctoPrint can send movement commands). If this occurs, consider using the "virtual_sdcard" feature (see <a href="Config_Reference.html#virtual_sdcard">Config Reference</a> for details) to print directly from Klipper and disable any DEBUG or VERBOSE logging options if you did enable them.</p>
<h2 id="avr-micro-controller-code-build">AVR micro-controller code build<a class="headerlink" href="#avr-micro-controller-code-build" title="Permanent link">&para;</a></h2>
<p>This environment have everything to build necessary micro-controller code except AVR, AVR packages was removed because of conflict with PRU packages. if you still want to build AVR micro-controller code in this environment you need to remove PRU packages and install AVR packages by executing following commands</p>
<div class="highlight"><pre><span></span><code>sudo apt-get remove gcc-pru
sudo apt-get install avrdude gcc-avr binutils-avr avr-libc
</code></pre></div>
<p>if you need to restore PRU packages - then remove ARV packages before that</p>
<div class="highlight"><pre><span></span><code>sudo apt-get remove avrdude gcc-avr binutils-avr avr-libc
sudo apt-get install gcc-pru
</code></pre></div>
<h2 id="hardware-pin-designation">Hardware Pin designation<a class="headerlink" href="#hardware-pin-designation" title="Permanent link">&para;</a></h2>
<p>BeagleBone is very flexible in terms of pin designation, same pin can be configured for different function but always single function for single pin, same function can be present on different pins. So you can't have multiple functions on single pin or have same function on multiple pins. Example: P9_20 - i2c2_sda/can0_tx/spi1_cs0/gpio0_12/uart1_ctsn P9_19 - i2c2_scl/can0_rx/spi1_cs1/gpio0_13/uart1_rtsn P9_24 - i2c1_scl/can1_rx/gpio0_15/uart1_tx P9_26 - i2c1_sda/can1_tx/gpio0_14/uart1_rx</p>
<p>Pin designation is defined by using special "overlays" which will be loaded during linux boot they are configured by editing file /boot/uEnv.txt with elevated permissions</p>
<div class="highlight"><pre><span></span><code>sudo editor /boot/uEnv.txt
</code></pre></div>
<p>and defining which functionality to load, for example to enable CAN1 you need to define overlay for it</p>
<div class="highlight"><pre><span></span><code>uboot_overlay_addr4=/lib/firmware/BB-CAN1-00A0.dtbo
</code></pre></div>
<p>This overlay BB-CAN1-00A0.dtbo will reconfigure all required pins for CAN1 and create CAN device in Linux. Any change in overlays will require system reboot to be applied. If you need to understand which pins are involved in some overlay - you can analyze source files in this location: /opt/sources/bb.org-overlays/src/arm/ or search info in BeagleBone forums.</p>
<h2 id="enabling-hardware-spi">Enabling hardware SPI<a class="headerlink" href="#enabling-hardware-spi" title="Permanent link">&para;</a></h2>
<p>BeagleBone usually have multiple hardware SPI buses, for example BeagleBone Black can have 2 of them, they can work up to 48Mhz, but usually they are limited to 16Mhz by Kernel Device-tree. By default, in BeagleBone Black some of SPI1 pins are configured for HDMI-Audio output, to fully enable 4-wire SPI1 you need to disable HDMI Audio and enable SPI1 To do that edit file /boot/uEnv.txt with elevated permissions</p>
<div class="highlight"><pre><span></span><code>sudo editor /boot/uEnv.txt
</code></pre></div>
<p>uncomment variable</p>
<div class="highlight"><pre><span></span><code>disable_uboot_overlay_audio=1
</code></pre></div>
<p>next uncomment variable and define it this way</p>
<div class="highlight"><pre><span></span><code>uboot_overlay_addr4=/lib/firmware/BB-SPIDEV1-00A0.dtbo
</code></pre></div>
<p>Save changes in /boot/uEnv.txt and reboot the board. Now you have SPI1 Enabled, to verify its presence execute command</p>
<div class="highlight"><pre><span></span><code>ls /dev/spidev1.*
</code></pre></div>
<p>Take a note that BeagleBone usually is 3.3v based hardware and to use 5V SPI devices you need to add Level-Shifting chip, for example SN74CBTD3861, SN74LVC1G34 or similar. If you are using CRAMPS board - it already contains Level-Shifting chip and SPI1 pins will become available on P503 port, and they can accept 5v hardware, check CRAMPS board Schematics for pin references.</p>
<h2 id="enabling-hardware-i2c">Enabling hardware I2C<a class="headerlink" href="#enabling-hardware-i2c" title="Permanent link">&para;</a></h2>
<p>BeagleBone usually have multiple hardware I2C buses, for example BeagleBone Black can have 3 of them, they support speed up-to 400Kbit Fast mode. By default, in BeagleBone Black there are two of them (i2c-1 and i2c-2) usually both are already configured and present on P9, third ic2-0 usually reserved for internal use. If you are using CRAMPS board then i2c-2 is present on P303 port with 3.3v level, If you want to obtain I2c-1 in CRAMPS board - you can get them on Extruder1.Step, Extruder1.Dir pins, they also are 3.3v based, check CRAMPS board Schematics for pin references. Related overlays, for <a href="#hardware-pin-designation">Hardware Pin designation</a>: I2C1(100Kbit): BB-I2C1-00A0.dtbo I2C1(400Kbit): BB-I2C1-FAST-00A0.dtbo I2C2(100Kbit): BB-I2C2-00A0.dtbo I2C2(400Kbit): BB-I2C2-FAST-00A0.dtbo</p>
<h2 id="enabling-hardware-uartserialcan">Enabling hardware UART(Serial)/CAN<a class="headerlink" href="#enabling-hardware-uartserialcan" title="Permanent link">&para;</a></h2>
<p>BeagleBone have up to 6 hardware UART(Serial) buses (up to 3Mbit) and up to 2 hardware CAN(1Mbit) buses. UART1(RX,TX) and CAN1(TX,RX) and I2C2(SDA,SCL) are using same pins - so you need to chose what to use UART1(CTSN,RTSN) and CAN0(TX,RX) and I2C1(SDA,SCL) are using same pins - so you need to chose what to use All UART/CAN related pins are 3.3v based, so you will need to use Transceiver chips/boards like SN74LVC2G241DCUR (for UART), SN65HVD230 (for CAN), TTL-RS485 (for RS-485) or something similar which can convert 3.3v signals to appropriate levels.</p>
<p>Related overlays, for <a href="#hardware-pin-designation">Hardware Pin designation</a> CAN0: BB-CAN0-00A0.dtbo CAN1: BB-CAN1-00A0.dtbo UART0: - used for Console UART1(RX,TX): BB-UART1-00A0.dtbo UART1(RTS,CTS): BB-UART1-RTSCTS-00A0.dtbo UART2(RX,TX): BB-UART2-00A0.dtbo UART3(RX,TX): BB-UART3-00A0.dtbo UART4(RS-485): BB-UART4-RS485-00A0.dtbo UART5(RX,TX): BB-UART5-00A0.dtbo</p>
</article>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1331,8 +1331,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -771,6 +771,33 @@
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#surface-scans" class="md-nav__link">
Surface Scans
</a>
<nav class="md-nav" aria-label="Surface Scans">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#scan-height" class="md-nav__link">
Scan Height
</a>
</li>
<li class="md-nav__item">
<a href="#rapid-continuous-scanning" class="md-nav__link">
Rapid (Continuous) Scanning
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
@@ -832,6 +859,67 @@
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#bed-mesh-webhooks-apis" class="md-nav__link">
Bed Mesh Webhooks APIs
</a>
<nav class="md-nav" aria-label="Bed Mesh Webhooks APIs">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#dumping-mesh-data" class="md-nav__link">
Dumping mesh data
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#visualization-and-analysis" class="md-nav__link">
Visualization and analysis
</a>
<nav class="md-nav" aria-label="Visualization and analysis">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pre-requisites" class="md-nav__link">
Pre-requisites
</a>
</li>
<li class="md-nav__item">
<a href="#plotting-mesh-data" class="md-nav__link">
Plotting Mesh data
</a>
</li>
<li class="md-nav__item">
<a href="#bed-mesh-analysis" class="md-nav__link">
Bed Mesh Analysis
</a>
</li>
<li class="md-nav__item">
<a href="#save-mesh-data-to-a-file" class="md-nav__link">
Save mesh data to a file
</a>
</li>
</ul>
</nav>
</li>
</ul>
@@ -1466,8 +1554,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>
@@ -1614,6 +1702,33 @@
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#surface-scans" class="md-nav__link">
Surface Scans
</a>
<nav class="md-nav" aria-label="Surface Scans">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#scan-height" class="md-nav__link">
Scan Height
</a>
</li>
<li class="md-nav__item">
<a href="#rapid-continuous-scanning" class="md-nav__link">
Rapid (Continuous) Scanning
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
@@ -1675,6 +1790,67 @@
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#bed-mesh-webhooks-apis" class="md-nav__link">
Bed Mesh Webhooks APIs
</a>
<nav class="md-nav" aria-label="Bed Mesh Webhooks APIs">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#dumping-mesh-data" class="md-nav__link">
Dumping mesh data
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#visualization-and-analysis" class="md-nav__link">
Visualization and analysis
</a>
<nav class="md-nav" aria-label="Visualization and analysis">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pre-requisites" class="md-nav__link">
Pre-requisites
</a>
</li>
<li class="md-nav__item">
<a href="#plotting-mesh-data" class="md-nav__link">
Plotting Mesh data
</a>
</li>
<li class="md-nav__item">
<a href="#bed-mesh-analysis" class="md-nav__link">
Bed Mesh Analysis
</a>
</li>
<li class="md-nav__item">
<a href="#save-mesh-data-to-a-file" class="md-nav__link">
Save mesh data to a file
</a>
</li>
</ul>
</nav>
</li>
</ul>
@@ -1712,7 +1888,7 @@ probe_count: 5, 3
<li><code>speed: 120</code> <em>Valore predefinito: 50</em> La velocità con cui la testa di stampa si sposta tra i punti.</li>
<li><code>horizontal_move_z: 5</code> <em>Valore predefinito: 5</em> La coordinata Z a cui si solleva la sonda prima di spostarsi tra i punti.</li>
<li><code>mesh_min: 35, 6</code> <em>Richiesto</em> La prima coordinata rilevata, più vicina all'origine. Questa coordinata è relativa alla posizione della sonda.</li>
<li><code>mesh_max: 240, 198</code> <em>Obbligatorio</em> La coordinata più lontana rilevata dall'origine. Questo non è necessariamente l'ultimo punto esplorato, poiché il processo di ispezione avviene a zig-zag. Come con <code>mesh_min</code>, questa coordinata è relativa alla posizione della sonda.</li>
<li><code>mesh_max: 240, 198</code> <em>Required</em> The probed coordinate farthest from the origin. This is not necessarily the last point probed, as the probing process occurs in a zig-zag fashion. As with <code>mesh_min</code>, this coordinate is relative to the probe's location.</li>
<li><code>probe_count: 5, 3</code> <em>Valore predefinito: 3, 3</em> Il numero di punti da sondare su ciascun asse, specificato come valori interi X, Y. In questo esempio verranno tastati 5 punti lungo l'asse X, con 3 punti lungo l'asse Y, per un totale di 15 punti tastati. Nota che se desideri una griglia quadrata, ad esempio 3x3, questo potrebbe essere specificato come un singolo valore intero che viene utilizzato per entrambi gli assi, ad esempio <code>probe_count: 3</code>. Si noti che una mesh richiede un probe_count minimo di 3 lungo ciascun asse.</li>
</ul>
<p>L'illustrazione seguente mostra come le opzioni <code>mesh_min</code>, <code>mesh_max</code> e <code>probe_count</code> vengono utilizzate per generare punti sonda. Le frecce indicano la direzione della procedura di probing, a partire da <code>mesh_min</code>. Per riferimento, quando la sonda è a <code>mesh_min</code>, l'ugello sarà a (11, 1), e quando la sonda è a <code>mesh_max</code>, l'ugello sarà a (206, 193).</p>
@@ -1866,11 +2042,41 @@ adaptive_margin: 5
</ul>
<p>By nature, adaptive bed meshes use the objects defined by the Gcode file being printed. Therefore, it is expected that each Gcode file will generate a mesh that probes a different area of the print bed. Therefore, adapted bed meshes should not be re-used. The expectation is that a new mesh will be generated for each print if adaptive meshing is used.</p>
<p>It is also important to consider that adaptive bed meshing is best used on machines that can normally probe the entire bed and achieve a maximum variance less than or equal to 1 layer height. Machines with mechanical issues that a full bed mesh normally compensates for may have undesirable results when attempting print moves <strong>outside</strong> of the probed area. If a full bed mesh has a variance greater than 1 layer height, caution must be taken when using adaptive bed meshes and attempting print moves outside of the meshed area.</p>
<h2 id="surface-scans">Surface Scans<a class="headerlink" href="#surface-scans" title="Permanent link">&para;</a></h2>
<p>Some probes, such as the <a href="Eddy_Probe.html">Eddy Current Probe</a>, are capable of "scanning" the surface of the bed. That is, these probes can sample a mesh without lifting the tool between samples. To activate scanning mode, the <code>METHOD=scan</code> or <code>METHOD=rapid_scan</code> probe parameter should be passed in the <code>BED_MESH_CALIBRATE</code> gcode command.</p>
<h3 id="scan-height">Scan Height<a class="headerlink" href="#scan-height" title="Permanent link">&para;</a></h3>
<p>The scan height is set by the <code>horizontal_move_z</code> option in <code>[bed_mesh]</code>. In addition it can be supplied with the <code>BED_MESH_CALIBRATE</code> gcode command via the <code>HORIZONTAL_MOVE_Z</code> parameter.</p>
<p>The scan height must be sufficiently low to avoid scanning errors. Typically a height of 2mm (ie: <code>HORIZONTAL_MOVE_Z=2</code>) should work well, presuming that the probe is mounted correctly.</p>
<p>It should be noted that if the probe is more than 4mm above the surface then the results will be invalid. Thus, scanning is not possible on beds with severe surface deviation or beds with extreme tilt that hasn't been corrected.</p>
<h3 id="rapid-continuous-scanning">Rapid (Continuous) Scanning<a class="headerlink" href="#rapid-continuous-scanning" title="Permanent link">&para;</a></h3>
<p>When performing a <code>rapid_scan</code> one should keep in mind that the results will have some amount of error. This error should be low enough to be useful on large print areas with reasonably thick layer heights. Some probes may be more prone to error than others.</p>
<p>It is not recommended that rapid mode be used to scan a "dense" mesh. Some of the error introduced during a rapid scan may be gaussian noise from the sensor, and a dense mesh will reflect this noise (ie: there will be peaks and valleys).</p>
<p>Bed Mesh will attempt to optimize the travel path to provide the best possible result based on the configuration. This includes avoiding faulty regions when collecting samples and "overshooting" the mesh when changing direction. This overshoot improves sampling at the edges of a mesh, however it requires that the mesh be configured in a way that allows the tool to travel outside of the mesh.</p>
<div class="highlight"><pre><span></span><code>[bed_mesh]
speed: 120
horizontal_move_z: 5
mesh_min: 35, 6
mesh_max: 240, 198
probe_count: 5
scan_overshoot: 8
</code></pre></div>
<ul>
<li><code>scan_overshoot</code> <em>Default Value: 0 (disabled)</em> The maximum amount of travel (in mm) available outside of the mesh. For rectangular beds this applies to travel on the X axis, and for round beds it applies to the entire radius. The tool must be able to travel the amount specified outside of the mesh. This value is used to optimize the travel path when performing a "rapid scan". The minimum value that may be specified is 1. The default is no overshoot.</li>
</ul>
<p>If no scan overshoot is configured then travel path optimization will not be applied to changes in direction.</p>
<h2 id="gcodes-della-mesh-del-piatto">GCodes della mesh del piatto<a class="headerlink" href="#gcodes-della-mesh-del-piatto" title="Permanent link">&para;</a></h2>
<h3 id="calibrazione">Calibrazione<a class="headerlink" href="#calibrazione" title="Permanent link">&para;</a></h3>
<p><code>BED_MESH_CALIBRATE PROFILE=&lt;name&gt; METHOD=[manual | automatic] [&lt;probe_parameter&gt;=&lt;value&gt;] [&lt;mesh_parameter&gt;=&lt;value&gt;] [ADAPTIVE=[0|1] [ADAPTIVE_MARGIN=&lt;value&gt;]</code> <em>Default Profile: default</em> <em>Default Method: automatic if a probe is detected, otherwise manual</em> <em>Default Adaptive: 0</em> <em>Default Adaptive Margin: 0</em></p>
<p><code>BED_MESH_CALIBRATE PROFILE=&lt;name&gt; METHOD=[manual | automatic | scan | rapid_scan] \ [&lt;probe_parameter&gt;=&lt;value&gt;] [&lt;mesh_parameter&gt;=&lt;value&gt;] [ADAPTIVE=[0|1] \ [ADAPTIVE_MARGIN=&lt;value&gt;]</code> <em>Default Profile: default</em> <em>Default Method: automatic if a probe is detected, otherwise manual</em> <em>Default Adaptive: 0</em> <em>Default Adaptive Margin: 0</em></p>
<p>Avvia la procedura di sondaggio per la calibrazione della mesh del piatto.</p>
<p>La mesh verrà salvata in un profilo specificato dal parametro <code>PROFILE</code>, o <code>default</code> se non specificato. Se viene selezionato <code>METHOD=manual</code>, si verificherà il rilevamento manuale. Quando si passa dal probing automatico a quello manuale, i punti mesh generati verranno regolati automaticamente.</p>
<p>The mesh will be saved into a profile specified by the <code>PROFILE</code> parameter, or <code>default</code> if unspecified. The <code>METHOD</code> parameter takes one of the following values:</p>
<ul>
<li><code>METHOD=manual</code>: enables manual probing using the nozzle and the paper test</li>
<li><code>METHOD=automatic</code>: Automatic (standard) probing. This is the default.</li>
<li><code>METHOD=scan</code>: Enables surface scanning. The tool will pause over each position to collect a sample.</li>
<li><code>METHOD=rapid_scan</code>: Enables continuous surface scanning.</li>
</ul>
<p>XY positions are automatically adjusted to include the X and/or Y offsets when a probing method other than <code>manual</code> is selected.</p>
<p>È possibile specificare parametri mesh per modificare l'area sondata. Sono disponibili i seguenti parametri:</p>
<ul>
<li>Piatti rettangolari (cartesiani):<ul>
@@ -1886,6 +2092,7 @@ adaptive_margin: 5
</ul>
</li>
<li>Tutti i piatti:<ul>
<li><code>MESH_PPS</code></li>
<li><code>ALGORITHM</code></li>
<li><code>ADAPTIVE</code></li>
<li><code>ADAPTIVE_MARGIN</code></li>
@@ -1940,6 +2147,118 @@ adaptive_margin: 5
<p><code>BED_MESH_OFFSET [X=&lt;value&gt;] [Y=&lt;value&gt;] [ZFADE=&lt;value&gt;]</code></p>
<p>This is useful for printers with multiple independent extruders, as an offset is necessary to produce correct Z adjustment after a tool change. Offsets should be specified relative to the primary extruder. That is, a positive X offset should be specified if the secondary extruder is mounted to the right of the primary extruder, a positive Y offset should be specified if the secondary extruder is mounted "behind" the primary extruder, and a positive ZFADE offset should be specified if the secondary extruder's nozzle is above the primary extruder's.</p>
<p>Note that a ZFADE offset does <em>NOT</em> directly apply additional adjustment. It is intended to compensate for a <code>gcode offset</code> when <a href="#mesh-fade">mesh fade</a> is enabled. For example, if a secondary extruder is higher than the primary and needs a negative gcode offset, ie: <code>SET_GCODE_OFFSET Z=-.2</code>, it can be accounted for in <code>bed_mesh</code> with <code>BED_MESH_OFFSET ZFADE=.2</code>.</p>
<h2 id="bed-mesh-webhooks-apis">Bed Mesh Webhooks APIs<a class="headerlink" href="#bed-mesh-webhooks-apis" title="Permanent link">&para;</a></h2>
<h3 id="dumping-mesh-data">Dumping mesh data<a class="headerlink" href="#dumping-mesh-data" title="Permanent link">&para;</a></h3>
<p><code>{"id": 123, "method": "bed_mesh/dump_mesh"}</code></p>
<p>Dumps the configuration and state for the current mesh and all saved profiles.</p>
<p>The <code>dump_mesh</code> endpoint takes one optional parameter, <code>mesh_args</code>. This parameter must be an object, where the keys and values are parameters available to <a href="#bed_mesh_calibrate">BED_MESH_CALIBRATE</a>. This will update the mesh configuration and probe points using the supplied parameters prior to returning the result. It is recommended to omit mesh parameters unless it is desired to visualize the probe points and/or travel path before performing <code>BED_MESH_CALIBRATE</code>.</p>
<h2 id="visualization-and-analysis">Visualization and analysis<a class="headerlink" href="#visualization-and-analysis" title="Permanent link">&para;</a></h2>
<p>Most users will likely find that the visualizers included with applications such as Mainsail, Fluidd, and Octoprint are sufficient for basic analysis. However, Klipper's <code>scripts</code> folder contains the <code>graph_mesh.py</code> script that may be used to perform additional visualizations and more detailed analysis, particularly useful for debugging hardware or the results produced by <code>bed_mesh</code>:</p>
<div class="highlight"><pre><span></span><code>usage: graph_mesh.py [-h] {list,plot,analyze,dump} ...
Graph Bed Mesh Data
positional arguments:
{list,plot,analyze,dump}
list List available plot types
plot Plot a specified type
analyze Perform analysis on mesh data
dump Dump API response to json file
options:
-h, --help show this help message and exit
</code></pre></div>
<h3 id="pre-requisites">Pre-requisites<a class="headerlink" href="#pre-requisites" title="Permanent link">&para;</a></h3>
<p>Like most graphing tools provided by Klipper, <code>graph_mesh.py</code> requires the <code>matplotlib</code> and <code>numpy</code> python dependencies. In addition, connecting to Klipper via Moonraker's websocket requires the <code>websockets</code> python dependency. While all visualizations can be output to an <code>svg</code> file, most of the visualizations offered by <code>graph_mesh.py</code> are better viewed in live preview mode on a desktop class PC. For example, the 3D visualizations may be rotated and zoomed in preview mode, and the path visualizations can optionally be animated in preview mode.</p>
<h3 id="plotting-mesh-data">Plotting Mesh data<a class="headerlink" href="#plotting-mesh-data" title="Permanent link">&para;</a></h3>
<p>The <code>graph_mesh.py</code> tool can plot several types of visualizations. Available types can be shown by running <code>graph_mesh.py list</code>:</p>
<div class="highlight"><pre><span></span><code>graph_mesh.py list
points Plot original generated points
path Plot probe travel path
rapid Plot rapid scan travel path
probedz Plot probed Z values
meshz Plot mesh Z values
overlay Plots the current probed mesh overlaid with a profile
delta Plots the delta between current probed mesh and a profile
</code></pre></div>
<p>Several options are available when plotting visualizations:</p>
<div class="highlight"><pre><span></span><code>usage: graph_mesh.py plot [-h] [-a] [-s] [-p PROFILE_NAME] [-o OUTPUT] &lt;plot type&gt; &lt;input&gt;
positional arguments:
&lt;plot type&gt; Type of data to graph
&lt;input&gt; Path/url to Klipper Socket or path to json file
options:
-h, --help show this help message and exit
-a, --animate Animate paths in live preview
-s, --scale-plot Use axis limits reported by Klipper to scale plot X/Y
-p PROFILE_NAME, --profile-name PROFILE_NAME
Optional name of a profile to plot for &#39;probedz&#39;
-o OUTPUT, --output OUTPUT
Output file path
</code></pre></div>
<p>Below is a description of each argument:</p>
<ul>
<li><code>plot type</code>: A required positional argument designating the type of visualization to generate. Must be one of the types output by the <code>graph_mesh.py list</code> command.</li>
<li><code>input</code>: A required positional argument containing a path or url to the input source. This must be one of the following:<ul>
<li>A path to Klipper's Unix Domain Socket</li>
<li>A url to an instance of Moonraker</li>
<li>A path to a json file produced by <code>graph_mesh.py dump &lt;input&gt;</code></li>
</ul>
</li>
<li><code>-a</code>: Optional animation for the <code>path</code> and <code>rapid</code> visualization types. Animations only apply to a live preview.</li>
<li><code>-s</code>: Optionally scales a plot using the <code>axis_minimum</code> and <code>axis_maximum</code> values reported by Klipper's <code>toolhead</code> object when the dump file was generated.</li>
<li><code>-p</code>: A profile name that may be specified when generating the <code>probedz</code> 3D mesh visualization. When generating an <code>overlay</code> or <code>delta</code> visualization this argument must be provided.</li>
<li><code>-o</code>: An optional file path indicating that the script should save the visualization to this location rather than run in preview mode. Images are saved in <code>svg</code> format.</li>
</ul>
<p>For example, to plot an animated rapid path, connecting via Klipper's unix socket:</p>
<div class="highlight"><pre><span></span><code>graph_mesh.py plot -a rapid ~/printer_data/comms/klippy.sock
</code></pre></div>
<p>Or to plot a 3d visualization of the mesh, connecting via Moonraker:</p>
<div class="highlight"><pre><span></span><code>graph_mesh.py plot meshz http://my-printer.local
</code></pre></div>
<h3 id="bed-mesh-analysis">Bed Mesh Analysis<a class="headerlink" href="#bed-mesh-analysis" title="Permanent link">&para;</a></h3>
<p>The <code>graph_mesh.py</code> tool may also be used to perform an analysis on the data provided by the <a href="#dumping-mesh-data">bed_mesh/dump_mesh</a> API:</p>
<div class="highlight"><pre><span></span><code>graph_mesh.py analyze &lt;input&gt;
</code></pre></div>
<p>As with the <code>plot</code> command, the <code>&lt;input&gt;</code> must be a path to Klipper's unix socket, a URL to an instance of Moonraker, or a path to a json file generated by the dump command.</p>
<p>To begin, the analysis will perform various checks on the points and probe paths generated by <code>bed_mesh</code> at the time of the dump. This includes the following:</p>
<ul>
<li>The number of probe points generated, without any additions</li>
<li>The number of probe points generated including any points generated as the result faulty regions and/or a configured zero reference position.</li>
<li>The number of probe points generated when performing a rapid scan.</li>
<li>The total number of moves generated for a rapid scan.</li>
<li>A validation that the probe points generated for a rapid scan are identical to the probe points generated for a standard probing procedure.</li>
<li>A "backtracking" check for both the standard probe path and a rapid scan path. Backtracking can be defined as moving to the same position more than once during the probing procedure. Backtracking should never occur during a standard probe. Faulty regions <em>can</em> result in backtracking during a rapid scan in an attempt to avoid entering a faulty region when approaching or leaving a probe location, however should never occur otherwise.</li>
</ul>
<p>Next each probed mesh present in the dump will by analyzed, beginning with the mesh loaded at the time of the dump (if present) and followed by any saved profiles. The following data is extracted:</p>
<ul>
<li>Mesh shape (Min X,Y, Max X,Y Probe Count)</li>
<li>Mesh Z range, (Minimum Z, Maximum Z)</li>
<li>Mean Z value in the mesh</li>
<li>Standard Deviation of the Z values in the Mesh</li>
</ul>
<p>In addition to the above, a delta analysis is performed between meshes with the same shape, reporting the following:</p>
<ul>
<li>The range of the delta between to meshes (Minimum and Maximum)</li>
<li>The mean delta</li>
<li>Standard Deviation of the delta</li>
<li>The absolute maximum difference</li>
<li>The absolute mean</li>
</ul>
<h3 id="save-mesh-data-to-a-file">Save mesh data to a file<a class="headerlink" href="#save-mesh-data-to-a-file" title="Permanent link">&para;</a></h3>
<p>The <code>dump</code> command may be used to save the response to a file which can be shared for analysis when troubleshooting:</p>
<div class="highlight"><pre><span></span><code>graph_mesh.py dump -o &lt;output file name&gt; &lt;input&gt;
</code></pre></div>
<p>The <code>&lt;input&gt;</code> should be a path to Klipper's unix socket or a URL to an instance of Moonraker. The <code>-o</code> option may be used to specify the path to the output file. If omitted, the file will be saved in the working directory, with a file name in the following format:</p>
<p><code>klipper-bedmesh-{year}{month}{day}{hour}{minute}{second}.json</code></p>
</article>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1454,8 +1454,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1415,8 +1415,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1487,8 +1487,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1357,8 +1357,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>
@@ -1489,7 +1489,7 @@
<div class="highlight"><pre><span></span><code>allow-hotplug can0
iface can0 can static
bitrate 1000000
up ifconfig $IFACE txqueuelen 128
up ip link set $IFACE txqueuelen 128
</code></pre></div>
<h2 id="resistori-di-terminazione">Resistori di terminazione<a class="headerlink" href="#resistori-di-terminazione" title="Permanent link">&para;</a></h2>
@@ -1524,7 +1524,7 @@ canbus_uuid: 11aa22bb33cc
<div class="highlight"><pre><span></span><code>allow-hotplug can0
iface can0 can static
bitrate 1000000
up ifconfig $IFACE txqueuelen 128
up ip link set $IFACE txqueuelen 128
</code></pre></div>
<ul>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1277,6 +1277,13 @@
Check for incrementing bytes_invalid counter
</a>
</li>
<li class="md-nav__item">
<a href="#use-an-appropriate-txqueuelen-setting" class="md-nav__link">
Use an appropriate txqueuelen setting
</a>
</li>
<li class="md-nav__item">
@@ -1349,8 +1356,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>
@@ -1416,6 +1423,13 @@
Check for incrementing bytes_invalid counter
</a>
</li>
<li class="md-nav__item">
<a href="#use-an-appropriate-txqueuelen-setting" class="md-nav__link">
Use an appropriate txqueuelen setting
</a>
</li>
<li class="md-nav__item">
@@ -1478,6 +1492,17 @@ resistors</a> on the CAN bus. If the resistors are not properly installed then m
<li>Some Linux kernel builds for embedded devices have been known to reorder CAN bus messages. It may be necessary to use an alternative Linux kernel or to use alternative hardware that supports mainstream Linux kernels that do not exhibit this problem.</li>
</ol>
<p>Reordered messages is a severe problem that must be fixed. It will result in unstable behavior and can lead to confusing errors at any part of a print.</p>
<h2 id="use-an-appropriate-txqueuelen-setting">Use an appropriate txqueuelen setting<a class="headerlink" href="#use-an-appropriate-txqueuelen-setting" title="Permanent link">&para;</a></h2>
<p>The Klipper code uses the Linux kernel to manage CAN bus traffic. By default, the kernel will only queue 10 CAN transmit packets. It is recommended to <a href="CANBUS.html#host-hardware">configure the can0 device</a> with a <code>txqueuelen 128</code> to increase that size.</p>
<p>If Klipper transmits a packet and Linux has filled all of its transmit queue space then Linux will drop that packet and messages like the following will appear in the Klipper log:</p>
<div class="highlight"><pre><span></span><code>Got error -1 in can write: (105)No buffer space available
</code></pre></div>
<p>Klipper will automatically retransmit the lost messages as part of its normal application level message retransmit system. Thus, this log message is a warning and it does not indicate an unrecoverable error.</p>
<p>If a complete CAN bus failure occurs (such as a CAN wire break) then Linux will not be able to transmit any messages on the CAN bus and it is common to find the above message in the Klipper log. In this case, the log message is a symptom of a larger problem (the inability to transmit any messages) and is not directly related to Linux <code>txqueuelen</code>.</p>
<p>One may check the current queue size by running the Linux command <code>ip link show can0</code>. It should report a bunch of text including the snippet <code>qlen 128</code>. If one sees something like <code>qlen 10</code> then it indicates the CAN device has not been properly configured.</p>
<p>It is not recommended to use a <code>txqueuelen</code> significantly larger than 128. A CAN bus running at a frequency of 1000000 will typically take around 120us to transmit a CAN packet. Thus a queue of 128 packets is likely to take around 15-20ms to drain. A substantially larger queue could cause excessive spikes in message round-trip-time which could lead to unrecoverable errors. Said another way, Klipper's application retransmit system is more robust if it does not have to wait for Linux to drain an excessively large queue of possibly stale data. This is analogous to the problem of <a href="https://en.wikipedia.org/wiki/Bufferbloat">bufferbloat</a> on internet routers.</p>
<p>Under normal circumstances Klipper may utilize ~25 queue slots per MCU - typically only utilizing more slots during retransmits. (Specifically, the Klipper host may transmit up to 192 bytes to each Klipper MCU before receiving an acknowledgment from that MCU.) If a single CAN bus has 5 or more Klipper MCUs on it, then it might be necessary to increase the <code>txqueuelen</code> above the recommended value of 128. However, as above, care should be taken when selecting a new value to avoid excessive round-trip-time latency.</p>
<h2 id="obtaining-candump-logs">Obtaining candump logs<a class="headerlink" href="#obtaining-candump-logs" title="Permanent link">&para;</a></h2>
<p>The CAN bus messages sent to and from the micro-controller are handled by the Linux kernel. It is possible to capture these messages from the kernel for debugging purposes. A log of these messages may be of use in diagnostics.</p>
<p>The Linux <a href="https://github.com/linux-can/can-utils">can-utils</a> tool provides the capture software. It is typically installed on a machine by running:</p>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1356,8 +1356,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1356,8 +1356,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1371,8 +1371,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1407,8 +1407,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -490,8 +490,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1313,8 +1313,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>
@@ -1396,6 +1396,7 @@
<p>Questo documento copre le modifiche software recenti al file di configurazione che non sono compatibili con le versioni precedenti. È una buona idea rivedere questo documento durante l'aggiornamento del software Klipper.</p>
<p>Tutte le date in questo documento sono approssimative.</p>
<h2 id="cambiamenti">Cambiamenti<a class="headerlink" href="#cambiamenti" title="Permanent link">&para;</a></h2>
<p>20240415: The <code>on_error_gcode</code> parameter in the <code>[virtual_sdcard]</code> config section now has a default. If this parameter is not specified it now defaults to <code>TURN_OFF_HEATERS</code>. If the previous behavior is desired (take no default action on an error during a virtual_sdcard print) then define <code>on_error_gcode</code> with an empty value.</p>
<p>20240313: The <code>max_accel_to_decel</code> parameter in the <code>[printer]</code> config section has been deprecated. The <code>ACCEL_TO_DECEL</code> parameter of the <code>SET_VELOCITY_LIMIT</code> command has been deprecated. The <code>printer.toolhead.max_accel_to_decel</code> status has been removed. Use the <a href="Config_Reference.html#printer">minimum_cruise_ratio parameter</a> instead. The deprecated features will be removed in the near future, and using them in the interim may result in subtly different behavior.</p>
<p>20240215: Several deprecated features have been removed. Using "NTC 100K beta 3950" as a thermistor name has been removed (deprecated on 20211110). The <code>SYNC_STEPPER_TO_EXTRUDER</code> and <code>SET_EXTRUDER_STEP_DISTANCE</code> commands have been removed, and the extruder <code>shared_heater</code> config option has been removed (deprecated on 20220210). The bed_mesh <code>relative_reference_index</code> option has been removed (deprecated on 20230619).</p>
<p>20240123: The output_pin SET_PIN CYCLE_TIME parameter has been removed. Use the new <a href="Config_Reference.html#pwm_cycle_time">pwm_cycle_time</a> module if it is necessary to dynamically change a pwm pin's cycle time.</p>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1020,6 +1020,13 @@
[smart_effector]
</a>
</li>
<li class="md-nav__item">
<a href="#probe_eddy_current" class="md-nav__link">
[probe_eddy_current]
</a>
</li>
<li class="md-nav__item">
@@ -1130,6 +1137,13 @@
[temperature_sensor]
</a>
</li>
<li class="md-nav__item">
<a href="#temperature_probe" class="md-nav__link">
[temperature_probe]
</a>
</li>
</ul>
@@ -1174,8 +1188,8 @@
</li>
<li class="md-nav__item">
<a href="#sensore-di-temperatura-bmp280bme280bme680" class="md-nav__link">
Sensore di temperatura BMP280/BME280/BME680
<a href="#bmp180bmp280bme280bmp388bme680-temperature-sensor" class="md-nav__link">
BMP180/BMP280/BME280/BMP388/BME680 temperature sensor
</a>
</li>
@@ -1192,6 +1206,13 @@
Sensore HTU21D
</a>
</li>
<li class="md-nav__item">
<a href="#sht3x-sensor" class="md-nav__link">
SHT3X sensor
</a>
</li>
<li class="md-nav__item">
@@ -1630,6 +1651,53 @@
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#load-cells" class="md-nav__link">
Load Cells
</a>
<nav class="md-nav" aria-label="Load Cells">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#load_cell" class="md-nav__link">
[load_cell]
</a>
<nav class="md-nav" aria-label="[load_cell]">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#xh711" class="md-nav__link">
XH711
</a>
</li>
<li class="md-nav__item">
<a href="#hx717" class="md-nav__link">
HX717
</a>
</li>
<li class="md-nav__item">
<a href="#ads1220" class="md-nav__link">
ADS1220
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
@@ -2504,8 +2572,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>
@@ -3046,6 +3114,13 @@
[smart_effector]
</a>
</li>
<li class="md-nav__item">
<a href="#probe_eddy_current" class="md-nav__link">
[probe_eddy_current]
</a>
</li>
<li class="md-nav__item">
@@ -3156,6 +3231,13 @@
[temperature_sensor]
</a>
</li>
<li class="md-nav__item">
<a href="#temperature_probe" class="md-nav__link">
[temperature_probe]
</a>
</li>
</ul>
@@ -3200,8 +3282,8 @@
</li>
<li class="md-nav__item">
<a href="#sensore-di-temperatura-bmp280bme280bme680" class="md-nav__link">
Sensore di temperatura BMP280/BME280/BME680
<a href="#bmp180bmp280bme280bmp388bme680-temperature-sensor" class="md-nav__link">
BMP180/BMP280/BME280/BMP388/BME680 temperature sensor
</a>
</li>
@@ -3218,6 +3300,13 @@
Sensore HTU21D
</a>
</li>
<li class="md-nav__item">
<a href="#sht3x-sensor" class="md-nav__link">
SHT3X sensor
</a>
</li>
<li class="md-nav__item">
@@ -3656,6 +3745,53 @@
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#load-cells" class="md-nav__link">
Load Cells
</a>
<nav class="md-nav" aria-label="Load Cells">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#load_cell" class="md-nav__link">
[load_cell]
</a>
<nav class="md-nav" aria-label="[load_cell]">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#xh711" class="md-nav__link">
XH711
</a>
</li>
<li class="md-nav__item">
<a href="#hx717" class="md-nav__link">
HX717
</a>
</li>
<li class="md-nav__item">
<a href="#ads1220" class="md-nav__link">
ADS1220
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
@@ -4622,6 +4758,13 @@ max_temp:
#adaptive_margin:
# An optional margin (in mm) to be added around the bed area used by
# the defined print objects when generating an adaptive mesh.
#scan_overshoot:
# The maximum amount of travel (in mm) available outside of the mesh.
# For rectangular beds this applies to travel on the X axis, and for round beds
# it applies to the entire radius. The tool must be able to travel the amount
# specified outside of the mesh. This value is used to optimize the travel
# path when performing a &quot;rapid scan&quot;. The minimum value that may be specified
# is 1. The default is no overshoot.
</code></pre></div>
<h3 id="bed_tilt">[bed_tilt]<a class="headerlink" href="#bed_tilt" title="Permanent link">&para;</a></h3>
@@ -4995,15 +5138,15 @@ filename:
<p>Una scheda SD virtuale può essere utile se la macchina host non è abbastanza veloce per eseguire bene OctoPrint. Consente al software host Klipper di stampare direttamente i file gcode archiviati in una directory sull'host utilizzando i comandi G-Code standard (ad esempio, M24).</p>
<div class="highlight"><pre><span></span><code>[virtual_sdcard]
path:
# Il percorso della directory locale sulla macchina host per cercare
# i file di Gcode. Questa è una directory di sola lettura (le scritture
# di file sdcard non sono supportate). Si può indicare questo alla
# directory di caricamento di OctoPrint
# (generalmente ~/.octoprint/uploads/ ).
# Questo parametro deve essere fornito.
# The path of the local directory on the host machine to look for
# g-code files. This is a read-only directory (sdcard file writes
# are not supported). One may point this to OctoPrint&#39;s upload
# directory (generally ~/.octoprint/uploads/ ). This parameter must
# be provided.
#on_error_gcode:
# Un elenco di comandi G-Code da eseguire quando viene segnalato
# un errore.
# A list of G-Code commands to execute when an error is reported.
# See docs/Command_Templates.md for G-Code format. The default is to
# run TURN_OFF_HEATERS.
</code></pre></div>
<h3 id="sdcard_loop">[sdcard_loop]<a class="headerlink" href="#sdcard_loop" title="Permanent link">&para;</a></h3>
@@ -5424,6 +5567,38 @@ z_offset:
# Vedere la sezione &quot;probe&quot; per ulteriori informazioni sui parametri di cui sopra.
</code></pre></div>
<h3 id="probe_eddy_current">[probe_eddy_current]<a class="headerlink" href="#probe_eddy_current" title="Permanent link">&para;</a></h3>
<p>Support for eddy current inductive probes. One may define this section (instead of a probe section) to enable this probe. See the <a href="G-Codes.html#probe_eddy_current">command reference</a> for further information.</p>
<div class="highlight"><pre><span></span><code>[probe_eddy_current my_eddy_probe]
sensor_type: ldc1612
# The sensor chip used to perform eddy current measurements. This
# parameter must be provided and must be set to ldc1612.
#intb_pin:
# MCU gpio pin connected to the ldc1612 sensor&#39;s INTB pin (if
# available). The default is to not use the INTB pin.
#z_offset:
# The nominal distance (in mm) between the nozzle and bed that a
# probing attempt should stop at. This parameter must be provided.
#i2c_address:
#i2c_mcu:
#i2c_bus:
#i2c_software_scl_pin:
#i2c_software_sda_pin:
#i2c_speed:
# The i2c settings for the sensor chip. See the &quot;common I2C
# settings&quot; section for a description of the above parameters.
#x_offset:
#y_offset:
#speed:
#lift_speed:
#samples:
#sample_retract_dist:
#samples_result:
#samples_tolerance:
#samples_tolerance_retries:
# See the &quot;probe&quot; section for information on these parameters.
</code></pre></div>
<h3 id="axis_twist_compensation">[axis_twist_compensation]<a class="headerlink" href="#axis_twist_compensation" title="Permanent link">&para;</a></h3>
<p>Uno strumento per compensare letture imprecise della sonda dovute alla torsione nel portale X. Consultare la <a href="Axis_Twist_Compensation.html">Guida alla compensazione della torsione dell'asse</a> per informazioni più dettagliate su sintomi, configurazione e impostazione.</p>
<div class="highlight"><pre><span></span><code>italiano
@@ -5656,6 +5831,59 @@ extruder:
# parametri sopra indicati.
</code></pre></div>
<h3 id="temperature_probe">[temperature_probe]<a class="headerlink" href="#temperature_probe" title="Permanent link">&para;</a></h3>
<p>Reports probe coil temperature. Includes optional thermal drift calibration for eddy current based probes. A <code>[temperature_probe]</code> section may be linked to a <code>[probe_eddy_current]</code> by using the same postfix for both sections.</p>
<div class="highlight"><pre><span></span><code>[temperature_probe my_probe]
#sensor_type:
#sensor_pin:
#min_temp:
#max_temp:
# Temperature sensor configuration.
# See the &quot;extruder&quot; section for the definition of the above
# parameters.
#smooth_time:
# A time value (in seconds) over which temperature measurements will
# be smoothed to reduce the impact of measurement noise. The default
# is 2.0 seconds.
#gcode_id:
# See the &quot;heater_generic&quot; section for the definition of this
# parameter.
#speed:
# The travel speed [mm/s] for xy moves during calibration. Default
# is the speed defined by the probe.
#horizontal_move_z:
# The z distance [mm] from the bed at which xy moves will occur
# during calibration. Default is 2mm.
#resting_z:
# The z distance [mm] from the bed at which the tool will rest
# to heat the probe coil during calibration. Default is .4mm
#calibration_position:
# The X, Y, Z position where the tool should be moved when
# probe drift calibration initializes. This is the location
# where the first manual probe will occur. If omitted, the
# default behavior is not to move the tool prior to the first
# manual probe.
#calibration_bed_temp:
# The maximum safe bed temperature (in C) used to heat the probe
# during probe drift calibration. When set, the calibration
# procedure will turn on the bed after the first sample is
# taken. When the calibration procedure is complete the bed
# temperature will be set to zero. When omitted the default
# behavior is not to set the bed temperature.
#calibration_extruder_temp:
# The extruder temperature (in C) set probe during drift calibration.
# When this option is supplied the procedure will wait for until the
# specified temperature is reached before requesting the first manual
# probe. When the calibration procedure is complete the extruder
# temperature will be set to 0. When omitted the default behavior is
# not to set the extruder temperature.
#extruder_heating_z: 50.
# The Z location where extruder heating will occur if the
# &quot;calibration_extruder_temp&quot; option is set. Its recommended to heat
# the extruder some distance from the bed to minimize its impact on
# the probe coil temperature. The default is 50.
</code></pre></div>
<h2 id="sensori-di-temperatura">Sensori di temperatura<a class="headerlink" href="#sensori-di-temperatura" title="Permanent link">&para;</a></h2>
<p>Klipper include definizioni per molti tipi di sensori di temperatura. Questi sensori possono essere utilizzati in qualsiasi sezione di configurazione che richieda un sensore di temperatura (come una sezione <code>[extruder]</code> o <code>[heater_bed]</code>).</p>
<h3 id="termistori-comuni">Termistori comuni<a class="headerlink" href="#termistori-comuni" title="Permanent link">&para;</a></h3>
@@ -5734,12 +5962,12 @@ sensor_pin:
# accanto al nome del parametro nell&#39;elenco precedente.
</code></pre></div>
<h3 id="sensore-di-temperatura-bmp280bme280bme680">Sensore di temperatura BMP280/BME280/BME680<a class="headerlink" href="#sensore-di-temperatura-bmp280bme280bme680" title="Permanent link">&para;</a></h3>
<p>Sensori ambientali BMP280/BME280/BME680 con interfaccia I2C. Si noti che questi sensori non sono destinati all'uso con estrusori e letti riscaldanti, ma piuttosto per il monitoraggio della temperatura ambiente (C), della pressione (hPa), dell'umidità relativa (%)e di livello del gas per il BME680. Vedere <a href="https://github.com/Klipper3d/klipper/blob/master/config/sample-macros.cfg">sample-macros.cfg</a> per una gcode_macro che può essere utilizzata per riportare la pressione e l'umidità oltre alla temperatura.</p>
<h3 id="bmp180bmp280bme280bmp388bme680-temperature-sensor">BMP180/BMP280/BME280/BMP388/BME680 temperature sensor<a class="headerlink" href="#bmp180bmp280bme280bmp388bme680-temperature-sensor" title="Permanent link">&para;</a></h3>
<p>BMP180/BMP280/BME280/BMP388/BME680 two wire interface (I2C) environmental sensors. Note that these sensors are not intended for use with extruders and heater beds, but rather for monitoring ambient temperature (C), pressure (hPa), relative humidity and in case of the BME680 gas level. See <a href="https://github.com/Klipper3d/klipper/blob/master/config/sample-macros.cfg">sample-macros.cfg</a> for a gcode_macro that may be used to report pressure and humidity in addition to temperature.</p>
<div class="highlight"><pre><span></span><code>sensor_type: BME280
#i2c_address:
# Default is 118 (0x76). Some BME280 sensors have an address of 119
# (0x77).
# Default is 118 (0x76). The BMP180, BMP388 and some BME280 sensors
# have an address of 119 (0x77).
#i2c_mcu:
#i2c_bus:
#i2c_software_scl_pin:
@@ -5794,6 +6022,20 @@ sensor_pin:
# Interval in seconds between readings. Default is 30
</code></pre></div>
<h3 id="sht3x-sensor">SHT3X sensor<a class="headerlink" href="#sht3x-sensor" title="Permanent link">&para;</a></h3>
<p>SHT3X family two wire interface (I2C) environmental sensor. These sensors have a range of -55~125 C, so are usable for e.g. chamber temperature monitoring. They can also function as simple fan/heater controllers.</p>
<div class="highlight"><pre><span></span><code>sensor_type: SHT3X
#i2c_address:
# Default is 68 (0x44).
#i2c_mcu:
#i2c_bus:
#i2c_software_scl_pin:
#i2c_software_sda_pin:
#i2c_speed:
# See the &quot;common I2C settings&quot; section for a description of the
# above parameters.
</code></pre></div>
<h3 id="sensore-di-temperatura-lm75">Sensore di temperatura LM75<a class="headerlink" href="#sensore-di-temperatura-lm75" title="Permanent link">&para;</a></h3>
<p>Sensori di temperatura (I2C) LM75/LM75A. Questi sensori hanno una gamma di -55~125 C, quindi sono utilizzabili ad es. monitoraggio della temperatura della camera. Possono anche funzionare come semplici controller per ventole/riscaldatori.</p>
<div class="highlight"><pre><span></span><code>sensor_type: LM75
@@ -6391,6 +6633,18 @@ run_current:
# set, &quot;stealthChop&quot; mode will be enabled if the stepper motor
# velocity is below this value. The default is 0, which disables
# &quot;stealthChop&quot; mode.
#coolstep_threshold:
# The velocity (in mm/s) to set the TMC driver internal &quot;CoolStep&quot;
# threshold to. If set, the coolstep feature will be enabled when
# the stepper motor velocity is near or above this value. Important
# - if coolstep_threshold is set and &quot;sensorless homing&quot; is used,
# then one must ensure that the homing speed is above the coolstep
# threshold! The default is to not enable the coolstep feature.
#high_velocity_threshold:
# The velocity (in mm/s) to set the TMC driver internal &quot;high
# velocity&quot; threshold (THIGH) to. This is typically used to disable
# the &quot;CoolStep&quot; feature at high speeds. The default is to not set a
# TMC &quot;high velocity&quot; threshold.
#driver_MSLUT0: 2863314260
#driver_MSLUT1: 1251300522
#driver_MSLUT2: 608774441
@@ -6421,11 +6675,19 @@ run_current:
#driver_TOFF: 4
#driver_HEND: 7
#driver_HSTRT: 0
#driver_VHIGHFS: 0
#driver_VHIGHCHM: 0
#driver_PWM_AUTOSCALE: True
#driver_PWM_FREQ: 1
#driver_PWM_GRAD: 4
#driver_PWM_AMPL: 128
#driver_SGT: 0
#driver_SEMIN: 0
#driver_SEUP: 0
#driver_SEMAX: 0
#driver_SEDN: 0
#driver_SEIMIN: 0
#driver_SFILT: 0
# Set the given register during the configuration of the TMC2130
# chip. This may be used to set custom motor parameters. The
# defaults for each parameter are next to the parameter name in the
@@ -6510,6 +6772,13 @@ run_current:
#sense_resistor: 0.110
#stealthchop_threshold: 0
# See the &quot;tmc2208&quot; section for the definition of these parameters.
#coolstep_threshold:
# The velocity (in mm/s) to set the TMC driver internal &quot;CoolStep&quot;
# threshold to. If set, the coolstep feature will be enabled when
# the stepper motor velocity is near or above this value. Important
# - if coolstep_threshold is set and &quot;sensorless homing&quot; is used,
# then one must ensure that the homing speed is above the coolstep
# threshold! The default is to not enable the coolstep feature.
#uart_address:
# The address of the TMC2209 chip for UART messages (an integer
# between 0 and 3). This is typically used when multiple TMC2209
@@ -6529,6 +6798,11 @@ run_current:
#driver_PWM_GRAD: 14
#driver_PWM_OFS: 36
#driver_SGTHRS: 0
#driver_SEMIN: 0
#driver_SEUP: 0
#driver_SEMAX: 0
#driver_SEDN: 0
#driver_SEIMIN: 0
# Set the given register during the configuration of the TMC2209
# chip. This may be used to set custom motor parameters. The
# defaults for each parameter are next to the parameter name in the
@@ -6652,6 +6926,18 @@ run_current:
# set, &quot;stealthChop&quot; mode will be enabled if the stepper motor
# velocity is below this value. The default is 0, which disables
# &quot;stealthChop&quot; mode.
#coolstep_threshold:
# The velocity (in mm/s) to set the TMC driver internal &quot;CoolStep&quot;
# threshold to. If set, the coolstep feature will be enabled when
# the stepper motor velocity is near or above this value. Important
# - if coolstep_threshold is set and &quot;sensorless homing&quot; is used,
# then one must ensure that the homing speed is above the coolstep
# threshold! The default is to not enable the coolstep feature.
#high_velocity_threshold:
# The velocity (in mm/s) to set the TMC driver internal &quot;high
# velocity&quot; threshold (THIGH) to. This is typically used to disable
# the &quot;CoolStep&quot; feature at high speeds. The default is to not set a
# TMC &quot;high velocity&quot; threshold.
#driver_MSLUT0: 2863314260
#driver_MSLUT1: 1251300522
#driver_MSLUT2: 608774441
@@ -6767,6 +7053,18 @@ run_current:
# set, &quot;stealthChop&quot; mode will be enabled if the stepper motor
# velocity is below this value. The default is 0, which disables
# &quot;stealthChop&quot; mode.
#coolstep_threshold:
# The velocity (in mm/s) to set the TMC driver internal &quot;CoolStep&quot;
# threshold to. If set, the coolstep feature will be enabled when
# the stepper motor velocity is near or above this value. Important
# - if coolstep_threshold is set and &quot;sensorless homing&quot; is used,
# then one must ensure that the homing speed is above the coolstep
# threshold! The default is to not enable the coolstep feature.
#high_velocity_threshold:
# The velocity (in mm/s) to set the TMC driver internal &quot;high
# velocity&quot; threshold (THIGH) to. This is typically used to disable
# the &quot;CoolStep&quot; feature at high speeds. The default is to not set a
# TMC &quot;high velocity&quot; threshold.
#driver_MSLUT0: 2863314260
#driver_MSLUT1: 1251300522
#driver_MSLUT2: 608774441
@@ -7450,6 +7748,86 @@ L&#39;impostazione predefinita è disabilitare.
# descrizione dei parametri di cui sopra.
</code></pre></div>
<h2 id="load-cells">Load Cells<a class="headerlink" href="#load-cells" title="Permanent link">&para;</a></h2>
<h3 id="load_cell">[load_cell]<a class="headerlink" href="#load_cell" title="Permanent link">&para;</a></h3>
<p>Load Cell. Uses an ADC sensor attached to a load cell to create a digital scale.</p>
<div class="highlight"><pre><span></span><code>[load_cell]
sensor_type:
# This must be one of the supported sensor types, see below.
</code></pre></div>
<h4 id="xh711">XH711<a class="headerlink" href="#xh711" title="Permanent link">&para;</a></h4>
<p>This is a 24 bit low sample rate chip using "bit-bang" communications. It is suitable for filament scales.</p>
<div class="highlight"><pre><span></span><code>[load_cell]
sensor_type: hx711
sclk_pin:
# The pin connected to the HX711 clock line. This parameter must be provided.
dout_pin:
# The pin connected to the HX711 data output line. This parameter must be
# provided.
#gain: A-128
# Valid values for gain are: A-128, A-64, B-32. The default is A-128.
# &#39;A&#39; denotes the input channel and the number denotes the gain. Only the 3
# listed combinations are supported by the chip. Note that changing the gain
# setting also selects the channel being read.
#sample_rate: 80
# Valid values for sample_rate are 80 or 10. The default value is 80.
# This must match the wiring of the chip. The sample rate cannot be changed
# in software.
</code></pre></div>
<h4 id="hx717">HX717<a class="headerlink" href="#hx717" title="Permanent link">&para;</a></h4>
<p>This is the 4x higher sample rate version of the HX711, suitable for probing.</p>
<div class="highlight"><pre><span></span><code>[load_cell]
sensor_type: hx717
sclk_pin:
# The pin connected to the HX717 clock line. This parameter must be provided.
dout_pin:
# The pin connected to the HX717 data output line. This parameter must be
# provided.
#gain: A-128
# Valid values for gain are A-128, B-64, A-64, B-8.
# &#39;A&#39; denotes the input channel and the number denotes the gain setting.
# Only the 4 listed combinations are supported by the chip. Note that
# changing the gain setting also selects the channel being read.
#sample_rate: 320
# Valid values for sample_rate are: 10, 20, 80, 320. The default is 320.
# This must match the wiring of the chip. The sample rate cannot be changed
# in software.
</code></pre></div>
<h4 id="ads1220">ADS1220<a class="headerlink" href="#ads1220" title="Permanent link">&para;</a></h4>
<p>The ADS1220 is a 24 bit ADC supporting up to a 2Khz sample rate configurable in software.</p>
<div class="highlight"><pre><span></span><code>[load_cell]
sensor_type: ads1220
cs_pin:
# The pin connected to the ADS1220 chip select line. This parameter must
# be provided.
#spi_speed: 512000
# This chip supports 2 speeds: 256000 or 512000. The faster speed is only
# enabled when one of the Turbo sample rates is used. The correct spi_speed
# is selected based on the sample rate.
#spi_bus:
#spi_software_sclk_pin:
#spi_software_mosi_pin:
#spi_software_miso_pin:
# See the &quot;common SPI settings&quot; section for a description of the
# above parameters.
data_ready_pin:
# Pin connected to the ADS1220 data ready line. This parameter must be
# provided.
#gain: 128
# Valid gain values are 128, 64, 32, 16, 8, 4, 2, 1
# The default is 128
#sample_rate: 660
# This chip supports two ranges of sample rates, Normal and Turbo. In turbo
# mode the chips c internal clock runs twice as fast and the SPI communication
# speed is also doubled.
# Normal sample rates: 20, 45, 90, 175, 330, 600, 1000
# Turbo sample rates: 40, 90, 180, 350, 660, 1200, 2000
# The default is 660
</code></pre></div>
<h2 id="supporto-hardware-per-specifica-scheda">Supporto hardware per specifica scheda<a class="headerlink" href="#supporto-hardware-per-specifica-scheda" title="Permanent link">&para;</a></h2>
<h3 id="sx1509">[sx1509]<a class="headerlink" href="#sx1509" title="Permanent link">&para;</a></h3>
<p>Configurare un'espansione SX1509 da I2C a GPIO. A causa del ritardo dovuto alla comunicazione I2C, NON utilizzare i pin SX1509 come abilitazione stepper, pin step o dir o qualsiasi altro pin che richieda un bit banging veloce. Sono utilizzati al meglio come uscite digitali statiche o controllate da gcode o pin hardware-pwm per es. fan. Si può definire un numero qualsiasi di sezioni con un prefisso "sx1509". Ogni espansione fornisce un set di 16 pin (da sx1509_my_sx1509:PIN_0 a sx1509_my_sx1509:PIN_15) che possono essere utilizzati nella configurazione della stampante.</p>
@@ -7684,7 +8062,7 @@ cs_pin:
<nav class="md-footer__inner md-grid" aria-label="Piede">
<a href="Installation.html" class="md-footer__link md-footer__link--prev" aria-label="Precedente: Installazione" rel="prev">
<a href="OctoPrint.html" class="md-footer__link md-footer__link--prev" aria-label="Precedente: OctoPrint for Klipper" rel="prev">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
</div>
@@ -7693,7 +8071,7 @@ cs_pin:
<span class="md-footer__direction">
Precedente
</span>
Installazione
OctoPrint for Klipper
</div>
</div>
</a>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1371,8 +1371,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -539,8 +539,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1362,8 +1362,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1370,8 +1370,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1351,8 +1351,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

1519
it/Eddy_Probe.html Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1330,8 +1330,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1315,8 +1315,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1342,8 +1342,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -651,8 +651,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1474,8 +1474,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -497,8 +497,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1320,8 +1320,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1911,6 +1911,33 @@
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#probe_eddy_current" class="md-nav__link">
[probe_eddy_current]
</a>
<nav class="md-nav" aria-label="[probe_eddy_current]">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#probe_eddy_current_calibrate" class="md-nav__link">
PROBE_EDDY_CURRENT_CALIBRATE
</a>
</li>
<li class="md-nav__item">
<a href="#ldc_calibrate_drive_current" class="md-nav__link">
LDC_CALIBRATE_DRIVE_CURRENT
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
@@ -2375,6 +2402,54 @@
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#temperature_probe" class="md-nav__link">
[temperature_probe]
</a>
<nav class="md-nav" aria-label="[temperature_probe]">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#temperature_probe_calibrate" class="md-nav__link">
TEMPERATURE_PROBE_CALIBRATE
</a>
</li>
<li class="md-nav__item">
<a href="#temperature_probe_next" class="md-nav__link">
TEMPERATURE_PROBE_NEXT
</a>
</li>
<li class="md-nav__item">
<a href="#temperature_probe_complete" class="md-nav__link">
TEMPERATURE_PROBE_COMPLETE:
</a>
</li>
<li class="md-nav__item">
<a href="#abort" class="md-nav__link">
ABORT
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#temperature_probe_enable" class="md-nav__link">
TEMPERATURE_PROBE_ENABLE
</a>
</li>
</ul>
@@ -2890,8 +2965,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>
@@ -4056,6 +4131,33 @@
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#probe_eddy_current" class="md-nav__link">
[probe_eddy_current]
</a>
<nav class="md-nav" aria-label="[probe_eddy_current]">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#probe_eddy_current_calibrate" class="md-nav__link">
PROBE_EDDY_CURRENT_CALIBRATE
</a>
</li>
<li class="md-nav__item">
<a href="#ldc_calibrate_drive_current" class="md-nav__link">
LDC_CALIBRATE_DRIVE_CURRENT
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
@@ -4520,6 +4622,54 @@
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#temperature_probe" class="md-nav__link">
[temperature_probe]
</a>
<nav class="md-nav" aria-label="[temperature_probe]">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#temperature_probe_calibrate" class="md-nav__link">
TEMPERATURE_PROBE_CALIBRATE
</a>
</li>
<li class="md-nav__item">
<a href="#temperature_probe_next" class="md-nav__link">
TEMPERATURE_PROBE_NEXT
</a>
</li>
<li class="md-nav__item">
<a href="#temperature_probe_complete" class="md-nav__link">
TEMPERATURE_PROBE_COMPLETE:
</a>
</li>
<li class="md-nav__item">
<a href="#abort" class="md-nav__link">
ABORT
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#temperature_probe_enable" class="md-nav__link">
TEMPERATURE_PROBE_ENABLE
</a>
</li>
</ul>
@@ -4877,6 +5027,12 @@ section</a> is enabled.</p>
<p><code>PROBE_CALIBRATE [SPEED=&lt;speed&gt;] [&lt;probe_parameter&gt;=&lt;value&gt;]</code>: Eseguire uno script di aiuto utile per calibrare l'offset z della sonda. Vedere il comando PROBE per i dettagli sui parametri opzionali della sonda. Vedere il comando MANUAL_PROBE per i dettagli del parametro SPEED e sui comandi aggiuntivi disponibili mentre lo strumento è attivo. Nota che il comando PROBE_CALIBRATE utilizza la variabile di velocità per spostarsi in direzione XY e Z.</p>
<h4 id="z_offset_apply_probe">Z_OFFSET_APPLY_PROBE<a class="headerlink" href="#z_offset_apply_probe" title="Permanent link">&para;</a></h4>
<p><code>Z_OFFSET_APPLY_PROBE</code>: prende l'offset Z Gcode corrente (aka, babystepping) e lo sottrae dallo z_offset della sonda. Questo per prendere un valore di babystep utilizzato di frequente e "renderlo permanente". Richiede un <code>SAVE_CONFIG</code> per avere effetto.</p>
<h3 id="probe_eddy_current">[probe_eddy_current]<a class="headerlink" href="#probe_eddy_current" title="Permanent link">&para;</a></h3>
<p>The following commands are available when a <a href="Config_Reference.html#probe_eddy_current">probe_eddy_current config section</a> is enabled.</p>
<h4 id="probe_eddy_current_calibrate">PROBE_EDDY_CURRENT_CALIBRATE<a class="headerlink" href="#probe_eddy_current_calibrate" title="Permanent link">&para;</a></h4>
<p><code>PROBE_EDDY_CURRENT_CALIBRATE CHIP=&lt;config_name&gt;</code>: This starts a tool that calibrates the sensor resonance frequencies to corresponding Z heights. The tool will take a couple of minutes to complete. After completion, use the SAVE_CONFIG command to store the results in the printer.cfg file.</p>
<h4 id="ldc_calibrate_drive_current">LDC_CALIBRATE_DRIVE_CURRENT<a class="headerlink" href="#ldc_calibrate_drive_current" title="Permanent link">&para;</a></h4>
<p><code>LDC_CALIBRATE_DRIVE_CURRENT CHIP=&lt;config_name&gt;</code> This tool will calibrate the ldc1612 DRIVE_CURRENT0 register. Prior to using this tool, move the sensor so that it is near the center of the bed and about 20mm above the bed surface. Run this command to determine an appropriate DRIVE_CURRENT for the sensor. After running this command use the SAVE_CONFIG command to store that new setting in the printer.cfg config file.</p>
<h3 id="pwm_cycle_time">[pwm_cycle_time]<a class="headerlink" href="#pwm_cycle_time" title="Permanent link">&para;</a></h3>
<p>The following command is available when a <a href="Config_Reference.html#pwm_cycle_time">pwm_cycle_time config section</a> is enabled.</p>
<h4 id="set_pin_1">SET_PIN<a class="headerlink" href="#set_pin_1" title="Permanent link">&para;</a></h4>
@@ -5006,6 +5162,18 @@ section</a> is enabled.</p>
<p>I seguenti comandi sono disponibili quando la <a href="Config_Reference.html#z_tilt">sezione z_tilt config</a> è abilitata.</p>
<h4 id="z_tilt_adjust">Z_TILT_ADJUST<a class="headerlink" href="#z_tilt_adjust" title="Permanent link">&para;</a></h4>
<p><code>Z_TILT_ADJUST [HORIZONTAL_MOVE_Z=&lt;value&gt;] [&lt;probe_parameter&gt;=&lt;value&gt;]</code>: questo comando sonda i punti specificati nella configurazione e quindi apporta regolazioni indipendenti a ciascun stepper Z per compensare l'inclinazione. Vedere il comando PROBE per i dettagli sui parametri opzionali della sonda. Il valore opzionale <code>HORIZONTAL_MOVE_Z</code> sovrascrive l'opzione <code>horizontal_move_z</code> specificata nel file di configurazione.</p>
<h3 id="temperature_probe">[temperature_probe]<a class="headerlink" href="#temperature_probe" title="Permanent link">&para;</a></h3>
<p>The following commands are available when a <a href="Config_Reference.html#temperature_probe">temperature_probe config section</a> is enabled.</p>
<h4 id="temperature_probe_calibrate">TEMPERATURE_PROBE_CALIBRATE<a class="headerlink" href="#temperature_probe_calibrate" title="Permanent link">&para;</a></h4>
<p><code>TEMPERATURE_PROBE_CALIBRATE [PROBE=&lt;probe name&gt;] [TARGET=&lt;value&gt;] [STEP=&lt;value&gt;]</code>: Initiates probe drift calibration for eddy current based probes. The <code>TARGET</code> is a target temperature for the last sample. When the temperature recorded during a sample exceeds the <code>TARGET</code> calibration will complete. The <code>STEP</code> parameter sets temperature delta (in C) between samples. After a sample has been taken, this delta is used to schedule a call to <code>TEMPERATURE_PROBE_NEXT</code>. The default <code>STEP</code> is 2.</p>
<h4 id="temperature_probe_next">TEMPERATURE_PROBE_NEXT<a class="headerlink" href="#temperature_probe_next" title="Permanent link">&para;</a></h4>
<p><code>TEMPERATURE_PROBE_NEXT</code>: After calibration has started this command is run to take the next sample. It is automatically scheduled to run when the delta specified by <code>STEP</code> has been reached, however its also possible to manually run this command to force a new sample. This command is only available during calibration.</p>
<h4 id="temperature_probe_complete">TEMPERATURE_PROBE_COMPLETE:<a class="headerlink" href="#temperature_probe_complete" title="Permanent link">&para;</a></h4>
<p><code>TEMPERATURE_PROBE_COMPLETE</code>: Can be used to end calibration and save the current result before the <code>TARGET</code> temperature is reached. This command is only available during calibration.</p>
<h4 id="abort">ABORT<a class="headerlink" href="#abort" title="Permanent link">&para;</a></h4>
<p><code>ABORT</code>: Aborts the calibration process, discarding the current results. This command is only available during drift calibration.</p>
<h3 id="temperature_probe_enable">TEMPERATURE_PROBE_ENABLE<a class="headerlink" href="#temperature_probe_enable" title="Permanent link">&para;</a></h3>
<p><code>TEMPERATURE_PROBE_ENABLE ENABLE=[0|1]</code>: Sets temperature drift compensation on or off. If ENABLE is set to 0, drift compensation will be disabled, if set to 1 it is enabled.</p>
</article>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1343,8 +1343,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>
@@ -1518,13 +1518,13 @@ index: 1
<a href="Sponsors.html" class="md-footer__link md-footer__link--next" aria-label="Prossimo: Sponsors" rel="next">
<a href="Eddy_Probe.html" class="md-footer__link md-footer__link--next" aria-label="Prossimo: Eddy Current Inductive probe" rel="next">
<div class="md-footer__title">
<div class="md-ellipsis">
<span class="md-footer__direction">
Prossimo
</span>
Sponsors
Eddy Current Inductive probe
</div>
</div>
<div class="md-footer__button md-icon">

View File

@@ -480,8 +480,22 @@
</li>
<li class="md-nav__item">
<a href="#preparazione-dellimmagine-del-sistema-operativo" class="md-nav__link">
Preparazione dell'immagine del sistema operativo
<a href="#interacting-with-klipper" class="md-nav__link">
Interacting with Klipper
</a>
</li>
<li class="md-nav__item">
<a href="#obtaining-an-os-image-for-sbcs" class="md-nav__link">
Obtaining an OS image for SBC's
</a>
</li>
<li class="md-nav__item">
<a href="#installing-via-kiauh" class="md-nav__link">
Installing via KIAUH
</a>
</li>
@@ -491,13 +505,6 @@
Compilare il firmware e flashare il microcontrollore
</a>
</li>
<li class="md-nav__item">
<a href="#configurare-octoprint-per-usare-klipper" class="md-nav__link">
Configurare OctoPrint per usare Klipper
</a>
</li>
<li class="md-nav__item">
@@ -522,8 +529,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1345,8 +1352,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>
@@ -1408,8 +1415,22 @@
</li>
<li class="md-nav__item">
<a href="#preparazione-dellimmagine-del-sistema-operativo" class="md-nav__link">
Preparazione dell'immagine del sistema operativo
<a href="#interacting-with-klipper" class="md-nav__link">
Interacting with Klipper
</a>
</li>
<li class="md-nav__item">
<a href="#obtaining-an-os-image-for-sbcs" class="md-nav__link">
Obtaining an OS image for SBC's
</a>
</li>
<li class="md-nav__item">
<a href="#installing-via-kiauh" class="md-nav__link">
Installing via KIAUH
</a>
</li>
@@ -1419,13 +1440,6 @@
Compilare il firmware e flashare il microcontrollore
</a>
</li>
<li class="md-nav__item">
<a href="#configurare-octoprint-per-usare-klipper" class="md-nav__link">
Configurare OctoPrint per usare Klipper
</a>
</li>
<li class="md-nav__item">
@@ -1453,22 +1467,27 @@
<h1 id="installazione">Installazione<a class="headerlink" href="#installazione" title="Permanent link">&para;</a></h1>
<p>Queste istruzioni partono dal presupposto che Klipper girerà su un Raspberry Pi con OctoPrint. È consigliato l'utilizzo di un Raspberry Pi 2, 3 o 4 (vedi la <a href="FAQ.html#can-i-run-klipper-on-something-other-than-a-raspberry-pi-3">FAQ</a> per utilizzare un hardware diverso).</p>
<p>These instructions assume the software will run on a linux based host running a Klipper compatible front end. It is recommended that a SBC(Small Board Computer) such as a Raspberry Pi or Debian based Linux device be used as the host machine (see the <a href="FAQ.html#can-i-run-klipper-on-something-other-than-a-raspberry-pi-3">FAQ</a> for other options).</p>
<p>For the purposes of these instructions host relates to the Linux device and mcu relates to the printboard. SBC relates to the term Small Board Computer such as the Raspberry Pi.</p>
<h2 id="ottenere-un-file-di-configurazione-di-klipper">Ottenere un file di configurazione di Klipper<a class="headerlink" href="#ottenere-un-file-di-configurazione-di-klipper" title="Permanent link">&para;</a></h2>
<p>La maggior parte delle impostazioni di Klipper sono determinate da un "file di configurazione della stampante" che verrà archiviato sul Raspberry Pi. Un file di configurazione appropriato può spesso essere trovato cercando in Klipper <a href="https://github.com/Klipper3d/klipper/blob/master/config/">directory config</a> un file che inizia con un prefisso "printer-" che corrisponde alla stampante di destinazione. Il file di configurazione di Klipper contiene informazioni tecniche sulla stampante che saranno necessarie durante l'installazione.</p>
<p>Most Klipper settings are determined by a "printer configuration file" printer.cfg, that will be stored on the host. An appropriate configuration file can often be found by looking in the Klipper <a href="https://github.com/Klipper3d/klipper/blob/master/config/">config directory</a> for a file starting with a "printer-" prefix that corresponds to the target printer. The Klipper configuration file contains technical information about the printer that will be needed during the installation.</p>
<p>Se non c'è un file di configurazione della stampante appropriato nella directory di configurazione di Klipper, prova a cercare nel sito web del produttore della stampante per vedere se hanno un file di configurazione di Klipper appropriato.</p>
<p>Se non è possibile trovare alcun file di configurazione per la stampante, ma si conosce il tipo di scheda di controllo della stampante, cercare un <a href="https://github.com/Klipper3d/klipper/blob/master/config/">file di configurazione</a> appropriato che inizi con un prefisso "generico-". Questi file di esempio della scheda della stampante dovrebbero consentire di completare correttamente l'installazione iniziale, ma richiederanno alcune personalizzazioni per ottenere la funzionalità completa della stampante.</p>
<p>È anche possibile definire da zero una nuova configurazione della stampante. Tuttavia, ciò richiede una conoscenza tecnica significativa sulla stampante e la sua elettronica. Si consiglia alla maggior parte degli utenti di iniziare con un file di configurazione appropriato. Se si crea un nuovo file di configurazione della stampante personalizzato, iniziare con l'esempio più vicino <a href="https://github.com/Klipper3d/klipper/blob/master/config/">file di configurazione</a> e utilizzare Klipper <a href="Config_Reference.html">riferimento alla configurazione</a> per ulteriori informazioni.</p>
<h2 id="preparazione-dellimmagine-del-sistema-operativo">Preparazione dell'immagine del sistema operativo<a class="headerlink" href="#preparazione-dellimmagine-del-sistema-operativo" title="Permanent link">&para;</a></h2>
<p>Iniziate installando <a href="https://github.com/guysoft/OctoPi">OctoPi</a> sul computer Raspberry Pi. Usa OctoPi v0.17.0 o successivo - vedi <a href="https://github.com/guysoft/OctoPi/releases">OctoPi releases</a> per informazioni sulla versione. Si dovrebbe verificare che OctoPi si avvii e che il server web OctoPrint funzioni. Dopo essersi collegati alla pagina web OctoPrint, segui la richiesta di aggiornare OctoPrint alla v1.4.2 o successiva.</p>
<p>Dopo aver installato OctoPi ed aver aggiornato OctoPrint all'ultima versione sarà necessario loggarsi via ssh sul Raspberry (o altra macchina scelta per far girare klipper) per eseguire una manciata di comandi. Se stai utilizzando un sistema Linux o MacOS desktop, il programma "ssh" potrebbe già essere installato sul tuo sistema. Esistono vari client ssh disponibili (ad esempio <a href="https://www.chiark.greenend.org.uk/~sgtatham/putty/">PuTTY</a>). Usa il programma ssh per connetterti al Raspberry Pi (ssh pi@octopi -- la password è "raspberry") ed esegui questi comandi:</p>
<div class="highlight"><pre><span></span><code>git clone https://github.com/Klipper3d/klipper
./klipper/scripts/install-octopi.sh
</code></pre></div>
<p>Questo scaricherà Klipper, installerà alcune dipendenze, imposterà Klipper per essere eseguito all'avvio del sistema e avvierò il programma host Klipper. Sarà necessario che il Raspberry abbia accesso ad internet e richederà alcuni minuti.</p>
<h2 id="interacting-with-klipper">Interacting with Klipper<a class="headerlink" href="#interacting-with-klipper" title="Permanent link">&para;</a></h2>
<p>Klipper is a 3d printer firmware, so it needs some way for the user to interact with it.</p>
<p>Currently the best choices are front ends that retrieve information through the <a href="https://moonraker.readthedocs.io/">Moonraker web API</a> and there is also the option to use <a href="https://octoprint.org/">Octoprint</a> to control Klipper.</p>
<p>The choice is up to the user on what to use, but the underlying Klipper is the same in all cases. We encourage users to research the options available and make an informed decision.</p>
<h2 id="obtaining-an-os-image-for-sbcs">Obtaining an OS image for SBC's<a class="headerlink" href="#obtaining-an-os-image-for-sbcs" title="Permanent link">&para;</a></h2>
<p>There are many ways to obtain an OS image for Klipper for SBC use, most depend on what front end you wish to use. Some manafactures of these SBC boards also provide their own Klipper-centric images.</p>
<p>The two main Moonraker based front ends are <a href="https://docs.fluidd.xyz/">Fluidd</a> and <a href="https://docs.mainsail.xyz/">Mainsail</a>, the latter of which has a premade install image <a href="http://docs.mainsailOS.xyz">"MainsailOS"</a>, this has the option for Raspberry Pi and some OrangePi varianta.</p>
<p>Fluidd can be installed via KIAUH(Klipper Install And Update Helper), which is explained below and is a 3rd party installer for all things Klipper.</p>
<p>OctoPrint can be installed via the popular OctoPi image or via KIAUH, this process is explained in <OctoPrint.md></p>
<h2 id="installing-via-kiauh">Installing via KIAUH<a class="headerlink" href="#installing-via-kiauh" title="Permanent link">&para;</a></h2>
<p>Normally you would start with a base image for your SBC, RPiOS Lite for example, or in the case of a x86 Linux device, Ubuntu Server. Please note that Desktop variants are not recommended due to certain helper programs that can stop some Klipper functions working and even mask access to some print boards.</p>
<p>KIAUH can be used to install Klipper and its associated programs on a variety of Linux based systems that run a form of Debian. More information can be found at <a href="https://github.com/dw-0/kiauh">https://github.com/dw-0/kiauh</a></p>
<h2 id="compilare-il-firmware-e-flashare-il-microcontrollore">Compilare il firmware e flashare il microcontrollore<a class="headerlink" href="#compilare-il-firmware-e-flashare-il-microcontrollore" title="Permanent link">&para;</a></h2>
<p>Per compilare il firmware per il microcontrollore, iniziamo lanciando questi comandi sul Raspberry:</p>
<p>To compile the micro-controller code, start by running these commands on your host device:</p>
<div class="highlight"><pre><span></span><code>cd ~/klipper/
make menuconfig
</code></pre></div>
@@ -1486,26 +1505,28 @@ make menuconfig
<div class="highlight"><pre><span></span><code>/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
</code></pre></div>
<p>È abbastanza comune che ogni stampante 3D abbia il suo nome univoco elencato come porta seriale. Questo nome sarà utilizzato quando flasheremo il microcontrollore. È possibile che ci possano essere più righe nell'elenco sopraccitato, se è così seleziona la riga cosrrispondente al microcontrollore (vedi le <a href="FAQ.html#wheres-my-serial-port">FAQ</a> per maggiori informazioni).</p>
<p>Per i microcontrollori più comuni, il firmware può essere flashato con comandi tipo:</p>
<p>It's common for each printer to have its own unique serial port name. This unique name will be used when flashing the micro-controller. It's possible there may be multiple lines in the above output - if so, choose the line corresponding to the micro-controller. If many items are listed and the choice is ambiguous, unplug the board and run the command again, the missing item will be your print board(see the <a href="FAQ.html#wheres-my-serial-port">FAQ</a> for more information).</p>
<p>For common micro-controllers with STM32 or clone chips, LPC chips and others it is usual that these need an initial Klipper flash via SD card.</p>
<p>When flashing with this method, it is important to make sure that the print board is not connected with USB to the host, due to some boards being able to feed power back to the board and stopping a flash from occuring.</p>
<p>For common micro-controllers using Atmega chips, for example the 2560, the code can be flashed with something similar to:</p>
<div class="highlight"><pre><span></span><code>sudo service klipper stop
make flash FLASH_DEVICE=/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
sudo service klipper start
</code></pre></div>
<p>Assicurati di mettere al posto di FLASH_DEVICE il nome della porta seriale associato alla stampante.</p>
<p>Quando flashi il firmware per la prima volta verifica che OctoPrint non sia connesso alla stampante (dall'interfaccia di OctoPrint, nella sezione "Connection", clicca "Disconnect").</p>
<h2 id="configurare-octoprint-per-usare-klipper">Configurare OctoPrint per usare Klipper<a class="headerlink" href="#configurare-octoprint-per-usare-klipper" title="Permanent link">&para;</a></h2>
<p>Il sistema OctoPrint deve essere configurato per comunicare con il sistema Klipper. Loggati su OctoPrint e confogura queste parti:</p>
<p>Naviga nella scheda Impostazioni (la chiave inglese in cima alla pagina). Dentro "Serial Connection", "Additional serial ports" aggiungi "/tmp/printer". Poi fai "Save".</p>
<p>Vai nella scheda Impostazioni e sotto "Serial Connection" cambia la "Serial Port" in "/tmp/printer".</p>
<p>Nella scheda Impostazioni, vai in "Behavior" e seleziona l'opzione "Cancel any ongoing prints but stay connected to the printer", poi "Save".</p>
<p>Dalla pagina principale, nella sezione "Connection" in alto a sinistra, verifica che il campo "Serial Port" sia "/tmp/printer" e clicca "Connect". Se l'opzione /tmp/printer non è visualizzata prova a ricaricare la pagina.</p>
<p>Una volta connesso, vai nella scheda "Terminal" e scrivi il comando "status" (senza virgolette) nella casella per i comandi e clicca "Send". La finestra del terminare probabilmente mostrerà un messaggio di errore sull'apertura del file config, questo significa che OctoPrint sta comunicando correttamente con Klipper. Possiamo proseguire.</p>
<p>For common micro-controllers using RP2040 chips, the code can be flashed with something similar to:</p>
<div class="highlight"><pre><span></span><code>sudo service klipper stop
make flash FLASH_DEVICE=first
sudo service klipper start
</code></pre></div>
<p>It is important to note that RP2040 chips may need to be put into Boot mode before this operation.</p>
<h2 id="configurare-klipper">Configurare Klipper<a class="headerlink" href="#configurare-klipper" title="Permanent link">&para;</a></h2>
<p>Il passaggio successivo consiste nel copiare il <a href="#obtain-a-klipper-configuration-file">file di configurazione della stampante</a> sul Raspberry Pi.</p>
<p>Probabilmente il modo più semplice per impostare il file di configurazione di Klipper è utilizzare un editor desktop che supporti la modifica dei file sui protocolli "scp" e/o "sftp". Ci sono strumenti disponibili gratuitamente che supportano questo (ad esempio, Notepad++, WinSCP e Cyberduck). Caricare il file di configurazione della stampante nell'editor e quindi salvarlo come file denominato "printer.cfg" nella directory home dell'utente pi (ad esempio, /home/pi/printer.cfg).</p>
<p>In alternativa, si può anche copiare e modificare il file direttamente sul Raspberry Pi tramite ssh. Potrebbe essere simile al seguente (assicurati di aggiornare il comando per utilizzare il nome file di configurazione della stampante appropriato):</p>
<p>The next step is to copy the <a href="#obtain-a-klipper-configuration-file">printer configuration file</a> to the host.</p>
<p>Arguably the easiest way to set the Klipper configuration file is using the built in editors in Mainsail or Fluidd. These will allow the user to open the configuration examples and save them to be printer.cfg.</p>
<p>Another option is to use a desktop editor that supports editing files over the "scp" and/or "sftp" protocols. There are freely available tools that support this (eg, Notepad++, WinSCP, and Cyberduck). Load the printer config file in the editor and then save it as a file named "printer.cfg" in the home directory of the pi user (ie, /home/pi/printer.cfg).</p>
<p>Alternatively, one can also copy and edit the file directly on the host via ssh. That may look something like the following (be sure to update the command to use the appropriate printer config filename):</p>
<div class="highlight"><pre><span></span><code>cp ~/klipper/config/example-cartesian.cfg ~/printer.cfg
nano ~/printer.cfg
</code></pre></div>
@@ -1523,9 +1544,9 @@ nano ~/printer.cfg
serial: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
</code></pre></div>
<p>Dopo aver creato e modificato il file sarà necessario emettere un comando di "restart" nel terminale web di OctoPrint per caricare il file config. Un comando "status" segnalerà che la stampante è pronta se il file di configurazione di Klipper viene letto correttamente e il microcontrollore è stato trovato e configurato correttamente.</p>
<p>After creating and editing the file it will be necessary to issue a "restart" command in the command console to load the config. A "status" command will report the printer is ready if the Klipper config file is successfully read and the micro-controller is successfully found and configured.</p>
<p>Quando si personalizza il file di configurazione della stampante, non è raro che Klipper segnali un errore di configurazione. Se si verifica un errore, apportare le correzioni necessarie al file di configurazione della stampante ed eseguire il "restart" finché "status" non segnala che la stampante è pronta.</p>
<p>Klipper riferisce i messaggi di errore tramite il terminale di OctoPrint. Il comando "status" può essere usato per visualizzare nuovamente eventuali messaggi di errore. Lo script di startup di default di Klipper genererà un log sotto <strong>/tmp/klippy.log</strong>, questo fornirà informazioni più dettagliate.</p>
<p>Klipper reports error messages via the command console and via pop up in Fluidd and Mainsail. The "status" command can be used to re-report error messages. A log is available and usually located in ~/printer_data/logs this is named klippy.log</p>
<p>Dopo che Klipper ha segnalato che la stampante è pronta, vai al <a href="Config_checks.html">config check document</a> per eseguire alcuni controlli di base sulle definizioni nel file di configurazione. Vedere i<a href="Overview.html">documentation reference</a> per altre informazioni.</p>
@@ -1561,13 +1582,13 @@ serial: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
<a href="Config_Reference.html" class="md-footer__link md-footer__link--next" aria-label="Prossimo: Riferimenti configurazione" rel="next">
<a href="OctoPrint.html" class="md-footer__link md-footer__link--next" aria-label="Prossimo: OctoPrint for Klipper" rel="next">
<div class="md-footer__title">
<div class="md-ellipsis">
<span class="md-footer__direction">
Prossimo
</span>
Riferimenti configurazione
OctoPrint for Klipper
</div>
</div>
<div class="md-footer__button md-icon">

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1397,8 +1397,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1369,8 +1369,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1344,8 +1344,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1574,8 +1574,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>
@@ -2354,7 +2354,7 @@ probe_points: ...
<div class="highlight"><pre><span></span><code>TEST_RESONANCES AXIS=Y
</code></pre></div>
<p>Questo genererà 2 file CSV (<code>/tmp/resonances_x_*.csv</code> e <code>/tmp/resonances_y_*.csv</code>). Questi file possono essere elaborati con lo script autonomo su un Raspberry Pi. Per farlo, esegui i seguenti comandi:</p>
<p>This will generate 2 CSV files (<code>/tmp/resonances_x_*.csv</code> and <code>/tmp/resonances_y_*.csv</code>). These files can be processed with the stand-alone script on a Raspberry Pi. This script is intended to be run with a single CSV file for each axis measured, although it can be used with multiple CSV files if you desire to average the results. Averaging results can be useful, for example, if resonance tests were done at multiple test points. Delete the extra CSV files if you do not desire to average them.</p>
<div class="highlight"><pre><span></span><code>~/klipper/scripts/calibrate_shaper.py /tmp/resonances_x_*.csv -o /tmp/shaper_calibrate_x.png
~/klipper/scripts/calibrate_shaper.py /tmp/resonances_y_*.csv -o /tmp/shaper_calibrate_y.png
</code></pre></div>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1284,8 +1284,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -444,8 +444,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1267,8 +1267,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

1537
it/OctoPrint.html Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -511,8 +511,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1334,8 +1334,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>
@@ -1446,7 +1446,10 @@
</ul>
<h2 id="installazione-e-configurazione">Installazione e configurazione<a class="headerlink" href="#installazione-e-configurazione" title="Permanent link">&para;</a></h2>
<ul>
<li><a href="Installation.html">Installazione</a>: Guida all'installazione di Klipper.</li>
<li><a href="Installation.html">Installazione</a>: Guida all'installazione di Klipper.<ul>
<li><a href="OctoPrint.html">Octoprint</a>: Guide to installing Octoprint with Klipper.</li>
</ul>
</li>
<li><a href="Config_Reference.html">Riferimento di configurazione</a>: Descrizione dei parametri di configurazione.<ul>
<li><a href="Rotation_Distance.html">Distanza di rotazione</a>: Calcolo del parametro stepper rotation_distance.</li>
</ul>
@@ -1506,6 +1509,7 @@
</li>
<li><a href="TSL1401CL_Filament_Width_Sensor.html">Sensore larghezza filamento TSL1401CL</a></li>
<li><a href="HallFilamentWidthSensor.md">Sensore di larghezza del filamento Hall</a></li>
<li><a href="Eddy_Probe.html">Eddy Current Inductive probe</a></li>
</ul>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1336,8 +1336,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1322,8 +1322,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1345,8 +1345,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1423,8 +1423,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1364,8 +1364,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -566,8 +566,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1389,8 +1389,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1440,8 +1440,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>
@@ -1663,7 +1663,7 @@
<p>Innanzitutto, misura la <strong>frequenza di ringing</strong>.</p>
<ol>
<li>Se il parametro <code>square_corner_velocity</code> è stato modificato, ripristinalo a 5.0 . Non è consigliabile aumentarlo quando si utilizza l'input shaper perché può causare un maggiore smussamento smoothing delle parti: è invece meglio utilizzare un valore di accelerazione più elevato.</li>
<li>Disable the <code>miminum_cruise_ratio</code> feature by issuing the following command: <code>SET_VELOCITY_LIMIT MINIMUM_CRUISE_RATIO=0</code></li>
<li>Disable the <code>minimum_cruise_ratio</code> feature by issuing the following command: <code>SET_VELOCITY_LIMIT MINIMUM_CRUISE_RATIO=0</code></li>
<li>Disabilita la Pressure Advance: <code>SET_PRESSURE_ADVANCE ADVANCE=0</code></li>
<li>Se hai già aggiunto la sezione <code>[input_shaper]</code> a printer.cfg, esegui il comando <code>SET_INPUT_SHAPER SHAPER_FREQ_X=0 SHAPER_FREQ_Y=0</code>. Se ricevi l'errore "Comando sconosciuto- Unknown command", puoi tranquillamente ignorarlo a questo punto e continuare con le misurazioni.</li>
<li>Eseguire il comando: <code>TUNING_TOWER COMMAND=SET_VELOCITY_LIMIT PARAMETER=ACCEL START=1500 STEP_DELTA=500 STEP_HEIGHT=5</code> Fondamentalmente, cerchiamo di rendere più pronunciato il ringing impostando diversi valori elevati per l'accelerazione. Questo comando aumenterà l'accelerazione ogni 5 mm a partire da 1500 mm/sec^2: 1500 mm/sec^2, 2000 mm/sec^2, 2500 mm/sec^2 e così via fino a 7000 mm/sec^2 per l'ultima fascia.</li>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1365,8 +1365,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1370,8 +1370,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1343,8 +1343,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1364,8 +1364,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1272,8 +1272,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>
@@ -1513,7 +1513,7 @@
<nav class="md-footer__inner md-grid" aria-label="Piede">
<a href="Hall_Filament_Width_Sensor.html" class="md-footer__link md-footer__link--prev" aria-label="Precedente: Sensore di Hall per larghezza del filamento" rel="prev">
<a href="Eddy_Probe.html" class="md-footer__link md-footer__link--prev" aria-label="Precedente: Eddy Current Inductive probe" rel="prev">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
</div>
@@ -1522,7 +1522,7 @@
<span class="md-footer__direction">
Precedente
</span>
Sensore di Hall per larghezza del filamento
Eddy Current Inductive probe
</div>
</div>
</a>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1625,8 +1625,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>
@@ -2276,10 +2276,10 @@
</ul>
<h2 id="sensori-di-temperatura">sensori di temperatura<a class="headerlink" href="#sensori-di-temperatura" title="Permanent link">&para;</a></h2>
<p>Le seguenti informazioni sono disponibili in</p>
<p><a href="Config_Reference.html#bmp280bme280bme680-temperature-sensor">bme280 config_section_name</a>, <a href="Config_Reference.html#htu21d-sensor">htu21d config_section_name</a>, <a href="Config_Reference.html#lm75-temperature-sensor">lm75 config_section_name</a>, <a href="Config_Reference.html#host-temperature-sensor">temperature_host config_section_name</a> and <a href="Config_Reference.html#combined-temperature-sensor">temperature_combined config_section_name</a> objects:</p>
<p><a href="Config_Reference.html#bmp280bme280bme680-temperature-sensor">bme280 config_section_name</a>, <a href="Config_Reference.html#htu21d-sensor">htu21d config_section_name</a>, <a href="Config_Reference.html#sht31-sensor">sht3x config_section_name</a>, <a href="Config_Reference.html#lm75-temperature-sensor">lm75 config_section_name</a>, <a href="Config_Reference.html#host-temperature-sensor">temperature_host config_section_name</a> and <a href="Config_Reference.html#combined-temperature-sensor">temperature_combined config_section_name</a> objects:</p>
<ul>
<li><code>temperature</code>: l'ultima temperatura letta dal sensore.</li>
<li><code>humidity</code>, <code>pressure</code>, <code>gas</code>: gli ultimi valori letti dal sensore (solo sui sensori bme280, htu21d e lm75).</li>
<li><code>humidity</code>, <code>pressure</code>, <code>gas</code>: The last read values from the sensor (only on bme280, htu21d, sht3x and lm75 sensors).</li>
</ul>
<h2 id="temperature_fan">temperature_fan<a class="headerlink" href="#temperature_fan" title="Permanent link">&para;</a></h2>
<p>Le seguenti informazioni sono disponibili negli oggetti <a href="Config_Reference.html#temperature_fan">temperature_fan some_name</a>:</p>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1521,8 +1521,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -449,8 +449,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1322,8 +1322,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -451,8 +451,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1336,8 +1336,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

View File

@@ -446,8 +446,8 @@
<li class="md-nav__item">
<a href="OctoPrint.md" class="md-nav__link">
None
<a href="OctoPrint.html" class="md-nav__link">
OctoPrint for Klipper
</a>
</li>
@@ -1269,8 +1269,8 @@
<li class="md-nav__item">
<a href="Eddy_Probe.md" class="md-nav__link">
None
<a href="Eddy_Probe.html" class="md-nav__link">
Eddy Current Inductive probe
</a>
</li>

File diff suppressed because one or more lines are too long

View File

@@ -2,267 +2,277 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-05</lastmod>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-09-06</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>

Binary file not shown.