Deploying to gh-pages from @ Klipper3d/klipper@d3c4ba4839 🚀

This commit is contained in:
KevinOConnor
2022-06-27 00:03:35 +00:00
parent 633d167c75
commit 1c4d97e5ba
165 changed files with 5839 additions and 678 deletions

View File

@@ -818,8 +818,8 @@
<li class="md-nav__item">
<a href="/Exclude_Object.md" class="md-nav__link">
None
<a href="/Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -823,8 +823,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -917,8 +917,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -823,8 +823,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -882,8 +882,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -984,8 +984,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -823,8 +823,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -823,8 +823,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -823,8 +823,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -823,8 +823,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -823,8 +823,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -823,8 +823,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>
@@ -1389,7 +1389,7 @@
<h2 id="_3">微处理器的代码流<a class="headerlink" href="#_3" title="Permanent link">&para;</a></h2>
<p>微控制器的代码从对应架构的代码(即<strong>src/avr/main.c</strong>)开始执行,前述代码会持续调用<strong>src/sched.c</strong>中的 sched_main() 函数。sched_main() 代码会先运行经 DECL_INIT() 宏标注的所有函数。之后它将不断重复运行由 DECL_TASK() 宏所标注的函数。</p>
<p>其中一个主要的任务函数为<strong>src/command.c</strong> 中的command_dispatch()。上述函数经由微处理器特定的 输入/输出 代码调用(即<strong>src/avr/serial.c</strong>, <strong>src/generic/serial_irq.c</strong>),并执行输入流中的命令所对应的命令函数。命令函数通过 DECL_COMMAND() 宏进行定义 (详情参照<a href="Protocol.html">协议</a> 文档)。</p>
<p>任务、初始化和命令函数总是在中断启用的情况下运行(然而,可根据需要将中断功能停用)。这些函数不应出现暂停、延迟或执行持续事件长于数微秒的任务。这些函数应由调度定时器在特定的事件进行调用。</p>
<p>Task, init, and command functions always run with interrupts enabled (however, they can temporarily disable interrupts if needed). These functions should avoid long pauses, delays, or do work that lasts a significant time. (Long delays in these "task" functions result in scheduling jitter for other "tasks" - delays over 100us may become noticeable, delays over 500us may result in command retransmissions, delays over 100ms may result in watchdog reboots.) These functions schedule work at specific times by scheduling timers.</p>
<p>定时函数通过调用sched_add_timer() (即 <strong>src/sched.c</strong>)方法进行注册。调度器会在设定的时间点对注册的函数进行调用。定时器中断会在微处理器架构特定的初始化处理器中处理(例如 <strong>src/avr/timer.c</strong>),该代码会调用 <strong>src/sched.c</strong>中的sched_timer_dispatch()。通过定时器中断执行注册的定时函数。定时函数总在中断禁用下运行。定时函数应总能在数微秒内完成。在定时函数结束时,该函数可对自身进行重新定时。</p>
<p>如果事件中抛出错误, 代码可调用shutdown()<strong>src/sched.c</strong>中的sched_shutdown()。调用shutdown()会导致所有标记为DECL_SHUTDOWN()宏的函数被运行。shutdown()总是在禁用中断的情况下运行。</p>
<p>微控制器的大部分功能涉及到通用输入输出引脚GPIO的操作。为了从高级任务代码中抽象出特定架构底层代码所有的GPIO事件都在特定架构的包装器中实现<strong>src/avr/gpio.c</strong>。代码使用gcc的"-flto -fwhole-program "来优化编译以实现内联函数的高性能交叉编译大多数微小的GPIO操作函数内联到它们的调用器中使用这些GPIO将没有任何运行时成本。</p>

View File

@@ -958,8 +958,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -864,8 +864,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>
@@ -1266,6 +1266,8 @@
<p>本文档涵盖了软件更新中对配置文件不向后兼容的部分。在升级 Klipper 时,最好也查看一下这份文档。</p>
<p>文档的所有日期都是大概时间。</p>
<h2 id="_2">变更<a class="headerlink" href="#_2" title="Permanent link">&para;</a></h2>
<p>20220616: It was previously possible to flash an rp2040 in bootloader mode by running <code>make flash FLASH_DEVICE=first</code>. The equivalent command is now <code>make flash FLASH_DEVICE=2e8a:0003</code>.</p>
<p>20220612: The rp2040 micro-controller now has a workaround for the "rp2040-e5" USB errata. This should make initial USB connections more reliable. However, it may result in a change in behavior for the gpio15 pin. It is unlikely the gpio15 behavior change will be noticeable.</p>
<p>20220407temperature_fan 配置分段中的 <code>pid_integral_max</code> 选项已被删除(在 20210612 时已弃用)。</p>
<p>20220407: pca9632 LED的默认色序现在是"RGBW"。在pca9632配置分段中显式加入<code>color_order:RBGW</code>设置以获得以和原来一样的行为。</p>
<p>20220330neopixel和dotstar模块的<code>printer.neopixel.color_data</code>状态信息的格式已经改变。这些信息现在被存储为一个列表中的颜色列表(而不是字典列表)。详情见<a href="Status_Reference.html#led">状态参考</a></p>

View File

@@ -824,6 +824,13 @@
[respond]
</a>
</li>
<li class="md-nav__item">
<a href="#exclude_object" class="md-nav__link">
[exclude_object]
</a>
</li>
</ul>
@@ -851,6 +858,13 @@
[adxl345]
</a>
</li>
<li class="md-nav__item">
<a href="#mpu9250" class="md-nav__link">
[mpu9250]
</a>
</li>
<li class="md-nav__item">
@@ -1978,8 +1992,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>
@@ -2702,6 +2716,13 @@
[respond]
</a>
</li>
<li class="md-nav__item">
<a href="#exclude_object" class="md-nav__link">
[exclude_object]
</a>
</li>
</ul>
@@ -2729,6 +2750,13 @@
[adxl345]
</a>
</li>
<li class="md-nav__item">
<a href="#mpu9250" class="md-nav__link">
[mpu9250]
</a>
</li>
<li class="md-nav__item">
@@ -4425,9 +4453,9 @@ home_xy_position:
# than z_hop, then this will lift the head to a height of z_hop. If
# the Z axis is not already homed the head is lifted by z_hop.
# The default is to not implement Z hop.
#z_hop_speed: 20.0
#z_hop_speed: 15.0
# Speed (in mm/s) at which the Z axis is lifted prior to homing. The
# default is 20mm/s.
# default is 15 mm/s.
#move_to_previous: False
# When set to True, the X and Y axes are reset to their previous
# positions after Z axis homing. The default is False.
@@ -4549,6 +4577,8 @@ path:
# are not supported). One may point this to OctoPrint&#39;s upload
# directory (generally ~/.octoprint/uploads/ ). This parameter must
# be provided.
#on_error_gcode:
# A list of G-Code commands to execute when an error is reported.
</code></pre></div>
<h3 id="sdcard_loop">[sdcard_loop]<a class="headerlink" href="#sdcard_loop" title="Permanent link">&para;</a></h3>
@@ -4616,6 +4646,12 @@ path:
# override the &quot;default_type&quot;.
</code></pre></div>
<h3 id="exclude_object">[exclude_object]<a class="headerlink" href="#exclude_object" title="Permanent link">&para;</a></h3>
<p>Enables support to exclude or cancel individual objects during the printing process.</p>
<p>See the <a href="Exclude_Object.html">exclude objects guide</a> and <a href="G-Codes.html#excludeobject">command reference</a> for additional information. See the <a href="https://github.com/Klipper3d/klipper/blob/master/config/sample-macros.cfg">sample-macros.cfg</a> file for a Marlin/RepRapFirmware compatible M486 G-Code macro.</p>
<div class="highlight"><pre><span></span><code>[exclude_object]
</code></pre></div>
<h2 id="_13">共振补偿<a class="headerlink" href="#_13" title="Permanent link">&para;</a></h2>
<h3 id="input_shaper">[input_shaper]<a class="headerlink" href="#input_shaper" title="Permanent link">&para;</a></h3>
<p>启用 <a href="Resonance_Compensation.html">共振补偿</a>。 另请参阅 <a href="G-Codes.html#input_shaper">命令参考</a></p>
@@ -4675,6 +4711,20 @@ cs_pin:
# 共振测量的质量。
</code></pre></div>
<h3 id="mpu9250">[mpu9250]<a class="headerlink" href="#mpu9250" title="Permanent link">&para;</a></h3>
<p>Support for mpu9250 and mpu6050 accelerometers (one may define any number of sections with an "mpu9250" prefix).</p>
<div class="highlight"><pre><span></span><code>[mpu9250 my_accelerometer]
#i2c_address:
# Default is 104 (0x68).
#i2c_mcu:
#i2c_bus:
#i2c_speed: 400000
# See the &quot;common I2C settings&quot; section for a description of the
# above parameters. The default &quot;i2c_speed&quot; is 400000.
#axes_map: x, y, z
# See the &quot;adxl345&quot; section for information on this parameter.
</code></pre></div>
<h3 id="resonance_tester">[resonance_tester]<a class="headerlink" href="#resonance_tester" title="Permanent link">&para;</a></h3>
<p>Support for resonance testing and automatic input shaper calibration. In order to use most of the functionality of this module, additional software dependencies must be installed; refer to <a href="Measuring_Resonances.html">Measuring Resonances</a> and the <a href="G-Codes.html#resonance_tester">command reference</a> for more information. See the <a href="Measuring_Resonances.html#max-smoothing">Max smoothing</a> section of the measuring resonances guide for more information on <code>max_smoothing</code> parameter and its use.</p>
<div class="highlight"><pre><span></span><code>[resonance_tester]
@@ -6792,19 +6842,23 @@ cs_pin:
<h3 id="i2c">常见的I2C设置<a class="headerlink" href="#i2c" title="Permanent link">&para;</a></h3>
<p>以下参数一般适用于使用I2C总线的设备。</p>
<p>Note that Klipper's current micro-controller support for i2c is generally not tolerant to line noise. Unexpected errors on the i2c wires may result in Klipper raising a run-time error. Klipper's support for error recovery varies between each micro-controller type. It is generally recommended to only use i2c devices that are on the same printed circuit board as the micro-controller.</p>
<p>Most Klipper micro-controller implementations only support an <code>i2c_speed</code> of 100000. The Klipper "linux" micro-controller supports a 400000 speed, but it must be <a href="RPi_microcontroller.html#optional-enabling-i2c">set in the operating system</a> and the <code>i2c_speed</code> parameter is otherwise ignored. The Klipper "rp2040" micro-controller supports a rate of 400000 via the <code>i2c_speed</code> parameter. All other Klipper micro-controllers use a 100000 rate and ignore the <code>i2c_speed</code> parameter.</p>
<div class="highlight"><pre><span></span><code>#i2c_address:
# 设备的 I2C 地址。必须是一个十进制数字(而不是十六进制)。
# 默认值取决于设备的类型。
# The i2c address of the device. This must specified as a decimal
# number (not in hex). The default depends on the type of device.
#i2c_mcu:
# 芯片所连接的微控制器的名称。
# 默认为&quot;mcu&quot;
# The name of the micro-controller that the chip is connected to.
# The default is &quot;mcu&quot;.
#i2c_bus:
# 如果微控制器支持多个 I2C 总线,可以指定微控制器的总线名称。
# 默认值取决于微控制器的类型。
# If the micro-controller supports multiple I2C busses then one may
# specify the micro-controller bus name here. The default depends on
# the type of micro-controller.
#i2c_speed:
# 与设备通信时使用的I2C速度Hz。在某些微控制器上
# 该数值无效。
# 默认值是默认为100000。
# The I2C speed (in Hz) to use when communicating with the device.
# The Klipper implementation on most micro-controllers is hard-coded
# to 100000 and changing this value has no effect. The default is
# 100000.
</code></pre></div>

View File

@@ -922,8 +922,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -906,8 +906,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -823,8 +823,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -902,8 +902,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -881,8 +881,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -823,8 +823,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

1435
zh/Exclude_Object.html Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1025,8 +1025,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -871,8 +871,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -1071,6 +1071,47 @@
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#exclude_object" class="md-nav__link">
[exclude_object]
</a>
<nav class="md-nav" aria-label="[exclude_object]">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#exclude_object_1" class="md-nav__link">
EXCLUDE_OBJECT
</a>
</li>
<li class="md-nav__item">
<a href="#exclude_object_define" class="md-nav__link">
EXCLUDE_OBJECT_DEFINE
</a>
</li>
<li class="md-nav__item">
<a href="#exclude_object_start" class="md-nav__link">
EXCLUDE_OBJECT_START
</a>
</li>
<li class="md-nav__item">
<a href="#exclude_object_end" class="md-nav__link">
EXCLUDE_OBJECT_END
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
@@ -2300,8 +2341,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>
@@ -3018,6 +3059,47 @@
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#exclude_object" class="md-nav__link">
[exclude_object]
</a>
<nav class="md-nav" aria-label="[exclude_object]">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#exclude_object_1" class="md-nav__link">
EXCLUDE_OBJECT
</a>
</li>
<li class="md-nav__item">
<a href="#exclude_object_define" class="md-nav__link">
EXCLUDE_OBJECT_DEFINE
</a>
</li>
<li class="md-nav__item">
<a href="#exclude_object_start" class="md-nav__link">
EXCLUDE_OBJECT_START
</a>
</li>
<li class="md-nav__item">
<a href="#exclude_object_end" class="md-nav__link">
EXCLUDE_OBJECT_END
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
@@ -4252,16 +4334,37 @@
<p>The following commands are available when an <a href="Config_Reference.html#endstop_phase">endstop_phase config section</a> is enabled (also see the <a href="Endstop_Phase.html">endstop phase guide</a>).</p>
<h4 id="endstop_phase_calibrate">ENDSTOP_PHASE_CALIBRATE<a class="headerlink" href="#endstop_phase_calibrate" title="Permanent link">&para;</a></h4>
<p><code>ENDSTOP_PHASE_CALIBRATE [STEPPER=&lt;config_name&gt;]</code> 。如果没有提供STEPPER参数那么该命令将报告在过去的归位操作中对端停步进相的统计。当提供STEPPER参数时它会安排将给定的终点站相位设置写入配置文件中与SAVE_CONFIG命令一起使用</p>
<h3 id="exclude_object">[exclude_object]<a class="headerlink" href="#exclude_object" title="Permanent link">&para;</a></h3>
<p>The following commands are available when an <a href="Config_Reference.html#exclude_object">exclude_object config section</a> is enabled (also see the <a href="Exclude_Object.html">exclude object guide</a>):</p>
<h4 id="exclude_object_1"><code>EXCLUDE_OBJECT</code><a class="headerlink" href="#exclude_object_1" title="Permanent link">&para;</a></h4>
<p><code>EXCLUDE_OBJECT [NAME=object_name] [CURRENT=1] [RESET=1]</code>: With no parameters, this will return a list of all currently excluded objects.</p>
<p>When the <code>NAME</code> parameter is given, the named object will be excluded from printing.</p>
<p>When the <code>CURRENT</code> parameter is given, the current object will be excluded from printing.</p>
<p>When the <code>RESET</code> parameter is given, the list of excluded objects will be cleared. Additionally including <code>NAME</code> will only reset the named object. This <strong>can</strong> cause print failures, if layers were already skipped.</p>
<h4 id="exclude_object_define"><code>EXCLUDE_OBJECT_DEFINE</code><a class="headerlink" href="#exclude_object_define" title="Permanent link">&para;</a></h4>
<p><code>EXCLUDE_OBJECT_DEFINE [NAME=object_name [CENTER=X,Y] [POLYGON=[[x,y],...]] [RESET=1] [JSON=1]</code>: Provides a summary of an object in the file.</p>
<p>With no parameters provided, this will list the defined objects known to Klipper. Returns a list of strings, unless the <code>JSON</code> parameter is given, when it will return object details in json format.</p>
<p>When the <code>NAME</code> parameter is included, this defines an object to be excluded.</p>
<ul>
<li><code>NAME</code>: This parameter is required. It is the identifier used by other commands in this module.</li>
<li><code>CENTER</code>: An X,Y coordinate for the object.</li>
<li><code>POLYGON</code>: An array of X,Y coordinates that provide an outline for the object.</li>
</ul>
<p>When the <code>RESET</code> parameter is provided, all defined objects will be cleared, and the <code>[exclude_object]</code> module will be reset.</p>
<h4 id="exclude_object_start"><code>EXCLUDE_OBJECT_START</code><a class="headerlink" href="#exclude_object_start" title="Permanent link">&para;</a></h4>
<p><code>EXCLUDE_OBJECT_START NAME=object_name</code>: This command takes a <code>NAME</code> parameter and denotes the start of the gcode for an object on the current layer.</p>
<h4 id="exclude_object_end"><code>EXCLUDE_OBJECT_END</code><a class="headerlink" href="#exclude_object_end" title="Permanent link">&para;</a></h4>
<p><code>EXCLUDE_OBJECT_END [NAME=object_name]</code>: Denotes the end of the object's gcode for the layer. It is paired with <code>EXCLUDE_OBJECT_START</code>. A <code>NAME</code> parameter is optional, and will only warn when the provided name does not match the current object.</p>
<h3 id="extruder">[extruder]<a class="headerlink" href="#extruder" title="Permanent link">&para;</a></h3>
<p>The following commands are available if an <a href="Config_Reference.html#extruder">extruder config section</a> is enabled:</p>
<h4 id="activate_extruder">ACTIVATE_EXTRUDER<a class="headerlink" href="#activate_extruder" title="Permanent link">&para;</a></h4>
<p><code>ACTIVATE_EXTRUDER EXTRUDER=&lt;配置名&gt;</code>:在有多个<a href="Config_Reference.html#extruder">extruder</a>配置分段的打印机中,该命令会改变活跃的热端。</p>
<h4 id="set_pressure_advance">SET_PRESSURE_ADVANCE<a class="headerlink" href="#set_pressure_advance" title="Permanent link">&para;</a></h4>
<p><code>SET_PRESSURE_ADVANCE [EXTRUDER=&lt;config_name&gt;] [ADVANCE=&lt;pressure_advance&gt;] [SMOOTH_TIME=&lt;pressure_advance_smooth_time&gt;]</code>: Set pressure advance parameters of an extruder stepper (as defined in an <a href="Config_Reference#extruder">extruder</a> or <a href="Config_Reference#extruder_stepper">extruder_stepper</a> config section). If EXTRUDER is not specified, it defaults to the stepper defined in the active hotend.</p>
<p><code>SET_PRESSURE_ADVANCE [EXTRUDER=&lt;config_name&gt;] [ADVANCE=&lt;pressure_advance&gt;] [SMOOTH_TIME=&lt;pressure_advance_smooth_time&gt;]</code>: Set pressure advance parameters of an extruder stepper (as defined in an <a href="Config_Reference.html#extruder">extruder</a> or <a href="Config_Reference.html#extruder_stepper">extruder_stepper</a> config section). If EXTRUDER is not specified, it defaults to the stepper defined in the active hotend.</p>
<h4 id="set_extruder_rotation_distance">SET_EXTRUDER_ROTATION_DISTANCE<a class="headerlink" href="#set_extruder_rotation_distance" title="Permanent link">&para;</a></h4>
<p><code>SET_EXTRUDER_ROTATION_DISTANCE EXTRUDER=&lt;config_name&gt; [DISTANCE=&lt;distance&gt;]</code>: Set a new value for the provided extruder stepper's "rotation distance" (as defined in an <a href="Config_Reference#extruder">extruder</a> or <a href="Config_Reference#extruder_stepper">extruder_stepper</a> config section). If the rotation distance is a negative number then the stepper motion will be inverted (relative to the stepper direction specified in the config file). Changed settings are not retained on Klipper reset. Use with caution as small changes can result in excessive pressure between extruder and hotend. Do proper calibration with filament before use. If 'DISTANCE' value is not provided then this command will return the current rotation distance.</p>
<p><code>SET_EXTRUDER_ROTATION_DISTANCE EXTRUDER=&lt;config_name&gt; [DISTANCE=&lt;distance&gt;]</code>: Set a new value for the provided extruder stepper's "rotation distance" (as defined in an <a href="Config_Reference.html#extruder">extruder</a> or <a href="Config_Reference.html#extruder_stepper">extruder_stepper</a> config section). If the rotation distance is a negative number then the stepper motion will be inverted (relative to the stepper direction specified in the config file). Changed settings are not retained on Klipper reset. Use with caution as small changes can result in excessive pressure between extruder and hotend. Do proper calibration with filament before use. If 'DISTANCE' value is not provided then this command will return the current rotation distance.</p>
<h4 id="sync_extruder_motion">SYNC_EXTRUDER_MOTION<a class="headerlink" href="#sync_extruder_motion" title="Permanent link">&para;</a></h4>
<p><code>SYNC_EXTRUDER_MOTION EXTRUDER=&lt;name&gt; MOTION_QUEUE=&lt;name&gt;</code>: This command will cause the stepper specified by EXTRUDER (as defined in an <a href="Config_Reference#extruder">extruder</a> or <a href="Config_Reference#extruder_stepper">extruder_stepper</a> config section) to become synchronized to the movement of an extruder specified by MOTION_QUEUE (as defined in an <a href="Config_Reference#extruder">extruder</a> config section). If MOTION_QUEUE is an empty string then the stepper will be desynchronized from all extruder movement.</p>
<p><code>SYNC_EXTRUDER_MOTION EXTRUDER=&lt;name&gt; MOTION_QUEUE=&lt;name&gt;</code>: This command will cause the stepper specified by EXTRUDER (as defined in an <a href="Config_Reference.html#extruder">extruder</a> or <a href="Config_Reference.html#extruder_stepper">extruder_stepper</a> config section) to become synchronized to the movement of an extruder specified by MOTION_QUEUE (as defined in an <a href="Config_Reference.html#extruder">extruder</a> config section). If MOTION_QUEUE is an empty string then the stepper will be desynchronized from all extruder movement.</p>
<h4 id="set_extruder_step_distance">SET_EXTRUDER_STEP_DISTANCE<a class="headerlink" href="#set_extruder_step_distance" title="Permanent link">&para;</a></h4>
<p>This command is deprecated and will be removed in the near future.</p>
<h4 id="sync_stepper_to_extruder">SYNC_STEPPER_TO_EXTRUDER<a class="headerlink" href="#sync_stepper_to_extruder" title="Permanent link">&para;</a></h4>
@@ -4288,7 +4391,7 @@
<h4 id="get_retraction">GET_RETRACTION<a class="headerlink" href="#get_retraction" title="Permanent link">&para;</a></h4>
<p><code>GET_RETRACTION</code>:查询当前固件回抽所使用的参数并在终端显示。</p>
<h3 id="force_move">[force_move]<a class="headerlink" href="#force_move" title="Permanent link">&para;</a></h3>
<p>The force_move module is automatically loaded, however some commands require setting <code>enable_force_move</code> in the <a href="Config_Reference#force_move">printer config</a>.</p>
<p>The force_move module is automatically loaded, however some commands require setting <code>enable_force_move</code> in the <a href="Config_Reference.html#force_move">printer config</a>.</p>
<h4 id="stepper_buzz">STEPPER_BUZZ<a class="headerlink" href="#stepper_buzz" title="Permanent link">&para;</a></h4>
<p><code>STEPPER_BUZZ STEPPER=&lt;配置名&gt;</code>移动指定的步进电机前后运动一毫米重复的10次。这是一个用于验证步进电机接线的工具</p>
<h4 id="force_move_1">FORCE_MOVE<a class="headerlink" href="#force_move_1" title="Permanent link">&para;</a></h4>
@@ -4442,7 +4545,7 @@
<h4 id="measure_axes_noise">MEASURE_AXES_NOISE<a class="headerlink" href="#measure_axes_noise" title="Permanent link">&para;</a></h4>
<p><code>MEASURE_AXES_NOISE</code>:测量并输出所有启用的加速度计芯片的所有轴的噪声。</p>
<h4 id="test_resonances">TEST_RESONANCES<a class="headerlink" href="#test_resonances" title="Permanent link">&para;</a></h4>
<p><code>TEST_RESONANCES AXIS=&lt;&gt; OUTPUT=&lt;resonanceraw_data&gt; [NAME=&lt;名称&gt;] [FREQ_START=&lt;开始频率&gt;] [FREQ_END=&lt;结束频率&gt;] [HZ_PER_SEC=&lt;hz每秒&gt;] [INPUT_SHAPING=[&lt;0:1&gt;]]</code>:在指定“轴”所有配置的探测点上运行谐振测试,并使用为相应轴配置的加速度计芯片测量加速度。“轴”可以是 X 或 Y也可以将任意方向指定为 <code>AXIS=dxdy</code>,其中 dx dy 是定义方向矢量的浮点数(例如 <code>AXIS=X</code><code>AXIS=Y</code> <code>AXIS=1-1</code> 来定义对角线方向)。请注意,<code>AXIS=dxdy</code> <code>AXIS=-dx-dy</code> 是等效的。如果 <code>INPUT_SHAPING=0</code> 或未设置(默认),则禁用谐振测试的输入整形,因为在启用输入整形器的情况下运行谐振测试是无效的。<code>OUTPUT</code> 参数是一个以逗号分隔的列表,其中将写入输出。如果请求 <code>raw_data</code>,则原始加速度计数据将写入一个文件或一系列文件 <code>/tmp/raw_data_&lt;&gt;_[&lt;测试点&gt;_]&lt;名称&gt;.csv</code> 且 (文件名中的<code>&lt;测试点&gt;_</code> 部分仅在配置了 1 个以上的探测点时生成)。如果指定了 <code>resonance</code>,则计算频率响应(在所有探测点上),并将其写入 <code>/tmp/resonances_&lt;&gt;_&lt;名称&gt;.csv</code> 文件中。如果未设置,则 OUTPUT 默认为 <code>resonance</code>NAME 默认为“YYYYMMDD_HHMMSS”格式的当前时间。</p>
<p><code>TEST_RESONANCES AXIS=&lt;axis&gt; OUTPUT=&lt;resonances,raw_data&gt; [NAME=&lt;name&gt;] [FREQ_START=&lt;min_freq&gt;] [FREQ_END=&lt;max_freq&gt;] [HZ_PER_SEC=&lt;hz_per_sec&gt;] [CHIPS=&lt;adxl345_chip_name&gt;] [POINT=x,y,z] [INPUT_SHAPING=[&lt;0:1&gt;]]</code>: Runs the resonance test in all configured probe points for the requested "axis" and measures the acceleration using the accelerometer chips configured for the respective axis. "axis" can either be X or Y, or specify an arbitrary direction as <code>AXIS=dx,dy</code>, where dx and dy are floating point numbers defining a direction vector (e.g. <code>AXIS=X</code>, <code>AXIS=Y</code>, or <code>AXIS=1,-1</code> to define a diagonal direction). Note that <code>AXIS=dx,dy</code> and <code>AXIS=-dx,-dy</code> is equivalent. <code>adxl345_chip_name</code> can be one or more configured adxl345 chip,delimited with comma, for example <code>CHIPS="adxl345, adxl345 rpi"</code>. Note that <code>adxl345</code> can be omitted from named adxl345 chips. If POINT is specified it will override the point(s) configured in <code>[resonance_tester]</code>. If <code>INPUT_SHAPING=0</code> or not set(default), disables input shaping for the resonance testing, because it is not valid to run the resonance testing with the input shaper enabled. <code>OUTPUT</code> parameter is a comma-separated list of which outputs will be written. If <code>raw_data</code> is requested, then the raw accelerometer data is written into a file or a series of files <code>/tmp/raw_data_&lt;axis&gt;_[&lt;chip_name&gt;_][&lt;point&gt;_]&lt;name&gt;.csv</code> with (<code>&lt;point&gt;_</code> part of the name generated only if more than 1 probe point is configured or POINT is specified). If <code>resonances</code> is specified, the frequency response is calculated (across all probe points) and written into <code>/tmp/resonances_&lt;axis&gt;_&lt;name&gt;.csv</code> file. If unset, OUTPUT defaults to <code>resonances</code>, and NAME defaults to the current time in "YYYYMMDD_HHMMSS" format.</p>
<h4 id="shaper_calibrate">SHAPER_CALIBRATE<a class="headerlink" href="#shaper_calibrate" title="Permanent link">&para;</a></h4>
<p><code>SHAPER_CALIBRATE [AXIS=&lt;&gt;] [NAME=&lt;名称&gt;] [FREQ_START=&lt;最小频率&gt;] [FREQ_END=&lt;最大频率&gt;] [HZ_PER_SEC=&lt;hz_per_sec&gt;] [MAX_SMOOTHING=&lt;max_smoothing&gt;]</code>:类似<code>TEST_RESONANCES</code>,该命令按配置运行共振测试并尝试寻找给定轴最佳的输入整形参数。如果没有选择<code>AXIS</code>则测量X和Y轴。如果没有选择 <code>MAX_SMOOTHING</code> ,会使用 <code>[resonance_tester]</code> 的默认参数。有关该特性的使用方法,详见共振量测量指南中的 <a href="Measuring_Resonances.html#max-smoothing">最大平滑</a>章节。测试结果会被输出到终端,而频响和不同输入整形器的参数将被写入到一个或多个 CSV 文件中。它们的名称是<code>/tmp/calibration_data_&lt;&gt;_&lt;名称&gt;.csv</code>。如果没有指定名称默认为“YYYYMMDD_HHMMSS”格式的当前时间。注意可以通过请求 <code>SAVE_CONFIG</code> 命令将推荐的输入整形器参数直接保存到配置文件中。</p>
<h3 id="respond">[respond]<a class="headerlink" href="#respond" title="Permanent link">&para;</a></h3>
@@ -4466,7 +4569,7 @@
<h3 id="screws_tilt_adjust">[screws_tilt_adjust]<a class="headerlink" href="#screws_tilt_adjust" title="Permanent link">&para;</a></h3>
<p>The following commands are available when the <a href="Config_Reference.html#screws_tilt_adjust">screws_tilt_adjust config section</a> is enabled (also see the <a href="Manual_Level.html#adjusting-bed-leveling-screws-using-the-bed-probe">manual level guide</a>).</p>
<h4 id="screws_tilt_calculate">SCREWS_TILT_CALCULATE<a class="headerlink" href="#screws_tilt_calculate" title="Permanent link">&para;</a></h4>
<p><code>SCREWS_TILT_CALCULATE [DIRECTION=CW|CCW] [&lt;probe_parameter&gt;=&lt;value&gt;]</code>该命令将调用热床丝杆调整工具。它将命令喷嘴到不同的位置如配置文件中定义的探测z高度并计算出调整床面水平的旋钮旋转次数。如果指定了DIRECTION旋钮的转动方向都是一样的顺时针CW或逆时针CCW。有关可选探头参数的详细信息请参见PROBE命令。重要的是在使用这个命令之前你必须先做一个G28。</p>
<p><code>SCREWS_TILT_CALCULATE [DIRECTION=CW|CCW] [MAX_DEVIATION=&lt;value&gt;] [&lt;probe_parameter&gt;=&lt;value&gt;]</code>: This command will invoke the bed screws adjustment tool. It will command the nozzle to different locations (as defined in the config file) probing the z height and calculate the number of knob turns to adjust the bed level. If DIRECTION is specified, the knob turns will all be in the same direction, clockwise (CW) or counterclockwise (CCW). See the PROBE command for details on the optional probe parameters. IMPORTANT: You MUST always do a G28 before using this command. If MAX_DEVIATION is specified, the command will raise a gcode error if any difference in the screw height relative to the base screw height is greater than the value provided.</p>
<h3 id="sdcard_loop">[sdcard_loop]<a class="headerlink" href="#sdcard_loop" title="Permanent link">&para;</a></h3>
<p>When the <a href="Config_Reference.html#sdcard_loop">sdcard_loop config section</a> is enabled, the following extended commands are available.</p>
<h4 id="sdcard_loop_begin">SDCARD_LOOP_BEGIN<a class="headerlink" href="#sdcard_loop_begin" title="Permanent link">&para;</a></h4>

View File

@@ -823,8 +823,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -432,6 +432,13 @@
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#obtain-a-klipper-configuration-file" class="md-nav__link">
Obtain a Klipper Configuration File
</a>
</li>
<li class="md-nav__item">
<a href="#_2" class="md-nav__link">
准备操作系统镜像
@@ -458,13 +465,6 @@
配置 Klipper
</a>
</li>
<li class="md-nav__item">
<a href="#_4" class="md-nav__link">
联系开发者
</a>
</li>
</ul>
@@ -894,8 +894,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>
@@ -1268,6 +1268,13 @@
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#obtain-a-klipper-configuration-file" class="md-nav__link">
Obtain a Klipper Configuration File
</a>
</li>
<li class="md-nav__item">
<a href="#_2" class="md-nav__link">
准备操作系统镜像
@@ -1294,13 +1301,6 @@
配置 Klipper
</a>
</li>
<li class="md-nav__item">
<a href="#_4" class="md-nav__link">
联系开发者
</a>
</li>
</ul>
@@ -1322,7 +1322,11 @@
<h1 id="_1">安装<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h1>
<p>本教程假定软件将会在树莓派上和 Octoprint 一起运行。推荐使用树莓派2/3/4作为主机关于其他设备请见<a href="FAQ.html#我可以在-Raspberry-Pi-3-以外的其他设备上运行-Klipper-吗?">常见问题</a>)。</p>
<p>Klipper 目前支持多种基于 Atmel ATmega 微控制器、<a href="Features.html#step-benchmarks">基于 ARM 微控制器</a> 和基于 <a href="Beaglebone.html">Beaglebone 可编程实时单元</a> 的打印机。</p>
<h2 id="obtain-a-klipper-configuration-file">Obtain a Klipper Configuration File<a class="headerlink" href="#obtain-a-klipper-configuration-file" title="Permanent link">&para;</a></h2>
<p>Most Klipper settings are determined by a "printer configuration file" that will be stored on the Raspberry Pi. 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>If there isn't an appropriate printer configuration file in the Klipper config directory then try searching the printer manufacturer's website to see if they have an appropriate Klipper configuration file.</p>
<p>If no configuration file for the printer can be found, but the type of printer control board is known, then look for an appropriate <a href="https://github.com/Klipper3d/klipper/blob/master/config/">config file</a> starting with a "generic-" prefix. These example printer board files should allow one to successfully complete the initial installation, but will require some customization to obtain full printer functionality.</p>
<p>It is also possible to define a new printer configuration from scratch. However, this requires significant technical knowledge about the printer and its electronics. It is recommended that most users start with an appropriate configuration file. If creating a new custom printer configuration file, then start with the closest example <a href="https://github.com/Klipper3d/klipper/blob/master/config/">config file</a> and use the Klipper <a href="Config_Reference.html">config reference</a> for further information.</p>
<h2 id="_2">准备操作系统镜像<a class="headerlink" href="#_2" title="Permanent link">&para;</a></h2>
<p>先在树莓派上安装 <a href="https://github.com/guysoft/OctoPi">OctoPi</a>。请使用OctoPi v0.17.0或更高版本,查看 <a href="https://github.com/guysoft/OctoPi/releases">Octopi 发行版</a>来获取最新发布版本。安装完系统后,请先验证 OctoPi 能正常启动,并且 OctoPrint 网络服务器正常运行。连接到 OctoPrint 网页后,按照提示将 OctoPrint 更新到v1.4.2或更高版本。</p>
<p>在安装 OctoPi 和升级 OctoPrint 后,用 ssh 连接目标设备以运行少量的系统命令。如果使用Linux或MacOS系统那么 "ssh"软件应该已经预装在系统上。有一些免费的ssh客户端可用于其他操作系统例如<a href="https://www.chiark.greenend.org.uk/~sgtatham/putty/">PuTTY</a>。使用ssh工具连接到Raspberry Pissh pi@octopi --密码是 "raspberry"),并运行以下命令:</p>
@@ -1337,11 +1341,12 @@
make menuconfig
</code></pre></div>
<p>选择恰当的微控制器并复查提供的其他选项。配置好后,运行:</p>
<p>The comments at the top of the <a href="#obtain-a-klipper-configuration-file">printer configuration file</a> should describe the settings that need to be set during "make menuconfig". Open the file in a web browser or text editor and look for these instructions near the top of the file. Once the appropriate "menuconfig" settings have been configured, press "Q" to exit, and then "Y" to save. Then run:</p>
<div class="highlight"><pre><span></span><code>make
</code></pre></div>
<p>必须先确定连接到微控制器的串行端口。对于通过 USB 连接的微控制器,运行以下命令:</p>
<p>If the comments at the top of the <a href="#obtain-a-klipper-configuration-file">printer configuration file</a> describe custom steps for "flashing" the final image to the printer control board then follow those steps and then proceed to <a href="#configuring-octoprint-to-use-klipper">configuring OctoPrint</a>.</p>
<p>Otherwise, the following steps are often used to "flash" the printer control board. First, it is necessary to determine the serial port connected to the micro-controller. Run the following:</p>
<div class="highlight"><pre><span></span><code>ls /dev/serial/by-id/*
</code></pre></div>
@@ -1366,25 +1371,30 @@ sudo service klipper start
<p>在主页上,在 "连接 "部分(在页面的左上方),确保 "串行端口 "被设置为"/tmp/printer",然后点击 "连接"。(如果"/tmp/printer "不是一个可用的选择,那么试着重新加载页面)</p>
<p>连接后,导航到 "终端 "选项卡,在命令输入框中输入 "status"(不带引号),然后点击 "发送"。终端窗口可能会报告在打开配置文件时出现了错误--这意味着 OctoPrint 与 Klipper 成功地进行了通信。继续下一部分。</p>
<h2 id="klipper">配置 Klipper<a class="headerlink" href="#klipper" title="Permanent link">&para;</a></h2>
<p>Klipper 配置保存在树莓派上的一个文本文件中。请查看在<a href="https://github.com/Klipper3d/klipper/blob/master/config/">config文件夹</a>中的配置示例。<a href="Config_Reference.html">配置参考</a>中有配置参数的文档。</p>
<p>可以说更新Klipper configuration 文件的最简单方法是使用一个支持通过 "scp "或 "sftp "协议编辑文件的桌面编辑器。有一些免费的工具支持这个功能(例如,Notepad++WinSCPCyberduck。使用其中一个配置文件的例子作为起点并将其保存为pi用户的主目录中名为 "printer.cfg "的文件(例如,/home/pi/printer.cfg)。</p>
<p>另外也可以通过ssh在Raspberry Pi上直接复制和编辑该文件。比如说</p>
<p>The next step is to copy the <a href="#obtain-a-klipper-configuration-file">printer configuration file</a> to the Raspberry Pi.</p>
<p>Arguably the easiest way to set the Klipper configuration file 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 Raspberry Pi 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>
<p>确保你检查和更新每一个设置并且与硬件相符合。</p>
<p>通常每台打印机都有自己独特的微控制器名称。刷写Klipper后这个名字可能会改变所以重新运行<code>ls /dev/serial/by-id/*</code>命令,然后用这个唯一的名字更新配置文件。例如,更新"[mcu]"部分,看起来类似于:</p>
<p>It's common for each printer to have its own unique name for the micro-controller. The name may change after flashing Klipper, so rerun these steps again even if they were already done when flashing. Run:</p>
<div class="highlight"><pre><span></span><code>ls /dev/serial/by-id/*
</code></pre></div>
<p>它应该报告类似以下的内容:</p>
<div class="highlight"><pre><span></span><code>/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
</code></pre></div>
<p>Then update the config file with the unique name. For example, update the <code>[mcu]</code> section to look something similar to:</p>
<div class="highlight"><pre><span></span><code>[mcu]
serial: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
</code></pre></div>
<p>在创建和编辑该文件后有必要在OctoPrint网络终端发出 "restart"命令去重新加载config"status" 命令将报告打印机已准备就绪。在初始设置期间出现配置错误是很正常的。更新打印机配置文件并发出 "restart"命令,直到 "状态 "报告打印机已准备就绪。</p>
<p>After creating and editing the file it will be necessary to issue a "restart" command in the OctoPrint web terminal 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>When customizing the printer config file, it is not uncommon for Klipper to report a configuration error. If an error occurs, make any necessary corrections to the printer config file and issue "restart" until "status" reports the printer is ready.</p>
<p>Klipper通过OctoPrint终端标签报告错误信息。可以使用 "status "命令来重新报告错误信息。默认的Klipper启动脚本也在<strong>/tmp/klippy.log</strong>中放置一个日志,提供更详细的信息。</p>
<p>除此之外常见的g-code命令之外Klipper还支持一些扩展命令"status "和 "restart "就是这些命令的例子。使用 "help "命令可以获得其他扩展命令的列表。</p>
<p>在Klipper反馈打印机已经准备好后进入<a href="Config_checks.html">配置检查文档</a>对配置文件中的引脚定义进行一些基本检查。</p>
<h2 id="_4">联系开发者<a class="headerlink" href="#_4" title="Permanent link">&para;</a></h2>
<p>请务必查看<a href="FAQ.html">FAQ</a>,了解一些常见问题的答案。请参阅<a href="Contact.html">联系页面</a>来报告一个错误或联系开发者。</p>
<p>After Klipper reports that the printer is ready, proceed to the <a href="Config_checks.html">config check document</a> to perform some basic checks on the definitions in the config file. See the main <a href="Overview.html">documentation reference</a> for other information.</p>
</article>

View File

@@ -823,8 +823,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -823,8 +823,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -895,8 +895,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -977,8 +977,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>
@@ -1531,6 +1531,38 @@
</tr>
</tbody>
</table>
<p>An alternative to the ADXL345 is the MPU-9250 (or MPU-6050). This accelerometer has been tested to work over I2C on the RPi at 400kbaud. Recommended connection scheme for I2C:</p>
<table>
<thead>
<tr>
<th align="center">MPU-9250 pin</th>
<th align="center">树莓派引脚</th>
<th align="center">树莓派引脚名称</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">3V3 或 VCC</td>
<td align="center">01</td>
<td align="center">3.3v 直流DC电源</td>
</tr>
<tr>
<td align="center">GND</td>
<td align="center">09</td>
<td align="center">GND</td>
</tr>
<tr>
<td align="center">SDA</td>
<td align="center">03</td>
<td align="center">GPIO02 (SDA1)</td>
</tr>
<tr>
<td align="center">SCL</td>
<td align="center">05</td>
<td align="center">GPIO03 (SCL1)</td>
</tr>
</tbody>
</table>
<p>部分ADXL345开发板的Fritzing接线图如下</p>
<p><img alt="ADXL345-树莓派" src="img/adxl345-fritzing.png" /></p>
<p>为避免损害树莓派或加速度传感器,请再三确认接线正确再对树莓派上电。</p>
@@ -1541,19 +1573,19 @@
<p>注意,滑床式打印机需要设计两个固定件:一个安装于打印头,另一个用于热床,并进行两次测量。详见 <a href="#bed-slinger-printers">对应分节</a></p>
<p><strong>注意</strong>:务必确保加速度传感器和任何螺丝都不应该接触到打印机的金属部分。紧固件必须设计成在加速度传感器和打印机框体间形成电气绝缘。错误的设计可能会形成短路,从而损毁电气元件。</p>
<h3 id="_5">软件设置<a class="headerlink" href="#_5" title="Permanent link">&para;</a></h3>
<p>共振测量和自动整形校正需要额外的依赖项这些依赖在Klipper安装时未作部署因此需要在树莓派上运行下面的命令</p>
<p>Note that resonance measurements and shaper auto-calibration require additional software dependencies not installed by default. First, run on your Raspberry Pi the following commands:</p>
<div class="highlight"><pre><span></span><code>sudo apt update
sudo apt install python3-numpy python3-matplotlib libatlas-base-dev
</code></pre></div>
<p>Next, in order to install NumPy in the Klipper environment, run the command:</p>
<div class="highlight"><pre><span></span><code>~/klippy-env/bin/pip install -v numpy
</code></pre></div>
<p>安装<code>numpy</code>包。numpy需要在安装时进行编译。编译时间据主机的CPU算力而异需要<em>耗费大量时间</em>最大可至半小时PiZero请耐心等待编译安装完成。少部分情况下主机的RAM不足会导致安装失败需要开启swap功能以实现安装。</p>
<p>Next, run the following commands to install the additional dependencies:</p>
<div class="highlight"><pre><span></span><code>sudo apt update
sudo apt install python3-numpy python3-matplotlib
</code></pre></div>
<p>Note that, depending on the performance of the CPU, it may take <em>a lot</em> of time, up to 10-20 minutes. Be patient and wait for the completion of the installation. On some occasions, if the board has too little RAM the installation may fail and you will need to enable swap.</p>
<p>之后,参考<a href="RPi_microcontroller.html">树莓派作为微控制器文档</a>的指引完成“LINUX微处理器”的设置。</p>
<p>通过运行<code>sudo raspi-config</code> 后的 "Interfacing options"菜单中启用 SPI 以确保Linux SPI 驱动已启用。</p>
<p>printer.cfg中添加以下内容:</p>
<p>For the ADXL345, add the following to the printer.cfg file:</p>
<div class="highlight"><pre><span></span><code>[mcu rpi]
serial: /tmp/klipper_host_mcu
@@ -1567,6 +1599,20 @@ probe_points:
</code></pre></div>
<p>建议在测试开始前,用探针在热床中央进行一次探测,触发后稍微上移。</p>
<p>For the MPU-9250, make sure the Linux I2C driver is enabled and the baud rate is set to 400000 (see <a href="RPi_microcontroller.html#optional-enabling-i2c">Enabling I2C</a> section for more details). Then, add the following to the printer.cfg:</p>
<div class="highlight"><pre><span></span><code>[mcu rpi]
serial: /tmp/klipper_host_mcu
[mpu9250]
i2c_mcu: rpi
i2c_bus: i2c.1
[resonance_tester]
accel_chip: mpu9250
probe_points:
100, 100, 20 # an example
</code></pre></div>
<p>通过<code>RESTART</code>命令重启Klipper。</p>
<h2 id="_6">测量共振值<a class="headerlink" href="#_6" title="Permanent link">&para;</a></h2>
<h3 id="_7">检查设置<a class="headerlink" href="#_7" title="Permanent link">&para;</a></h3>

View File

@@ -835,8 +835,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -818,8 +818,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -885,8 +885,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>
@@ -1346,6 +1346,7 @@
<li><a href="Slicers.html">切片</a>:为 Klipper 配置切片软件。</li>
<li><a href="Skew_Correction.html">偏斜校正</a>:调整不完全垂直的轴(不完美的方形)。</li>
<li><a href="Using_PWM_Tools.html">PWM 工具</a>:关于如何使用 PWM 控制的工具,例如激光器或电钻头。</li>
<li><a href="Exclude_Object.html">Exclude Object</a>: The guide to the Exclude Objecs implementation.</li>
</ul>
<h2 id="_4">开发者文档<a class="headerlink" href="#_4" title="Permanent link">&para;</a></h2>
<ul>

View File

@@ -823,8 +823,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -873,8 +873,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -896,8 +896,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -823,8 +823,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -823,8 +823,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>
@@ -1155,6 +1155,13 @@
可选:启用 SPI
</a>
</li>
<li class="md-nav__item">
<a href="#optional-enabling-i2c" class="md-nav__link">
Optional: Enabling I2C
</a>
</li>
<li class="md-nav__item">
@@ -1315,6 +1322,13 @@
可选:启用 SPI
</a>
</li>
<li class="md-nav__item">
<a href="#optional-enabling-i2c" class="md-nav__link">
Optional: Enabling I2C
</a>
</li>
<li class="md-nav__item">
@@ -1382,6 +1396,8 @@ sudo service klipper start
<p>按照<a href="https://github.com/Klipper3d/klipper/blob/master/config/sample-raspberry-pi.cfg">RaspberryPi 参考配置</a><a href="https://github.com/Klipper3d/klipper/blob/master/config/sample-multi-mcu.cfg">多微控制器参考配置</a>中的说明配置Klipper 二级微控制器来完成安装。</p>
<h2 id="spi">可选:启用 SPI<a class="headerlink" href="#spi" title="Permanent link">&para;</a></h2>
<p>通过运行<code>sudo raspi-config</code> 后的 "Interfacing options"菜单中启用 SPI 以确保Linux SPI 驱动已启用。</p>
<h2 id="optional-enabling-i2c">Optional: Enabling I2C<a class="headerlink" href="#optional-enabling-i2c" title="Permanent link">&para;</a></h2>
<p>Make sure the Linux I2C driver is enabled by running <code>sudo raspi-config</code> and enabling I2C under the "Interfacing options" menu. If planning to use I2C for the MPU accelerometer, it is also required to set the baud rate to 400000 by: adding/uncommenting <code>dtparam=i2c_arm=on,i2c_arm_baudrate=400000</code> in <code>/boot/config.txt</code> (or <code>/boot/firmware/config.txt</code> in some distros).</p>
<h2 id="gpiochip">可选步骤:识别正确的 gpiochip<a class="headerlink" href="#gpiochip" title="Permanent link">&para;</a></h2>
<p>在Raspberry Pi和许多类似的单板电脑上暴露在 GPIO 上的引脚属于第一个gpiochip。因此它们可以在klipper上使用只需用<code>gpio0...n</code>的名字来引用它们。然而在有些情况下暴露的引脚属于第一个以外的gpiochips。例如在一些OrangePi型号或者如果使用了一个端口扩展器的情况下需要使用命令访问<em>Linux GPIO character device</em>来验证配置是有用的。</p>
<p>要在基于 Debian 的发行版(如 OctoPi上安装 <em>Linux GPIO character device - binary</em>,请运行:</p>

View File

@@ -933,8 +933,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -991,8 +991,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -916,8 +916,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -823,8 +823,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -894,8 +894,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>
@@ -1399,13 +1399,13 @@ Length AD = 99.8
<a href="Using_PWM_Tools.html" class="md-footer__link md-footer__link--next" aria-label="下一页: 使用 PWM 工具" rel="next">
<a href="Exclude_Object.html" class="md-footer__link md-footer__link--next" aria-label="下一页: Exclude Objects" rel="next">
<div class="md-footer__title">
<div class="md-ellipsis">
<span class="md-footer__direction">
下一页
</span>
使用 PWM 工具
Exclude Objects
</div>
</div>
<div class="md-footer__button md-icon">

View File

@@ -908,8 +908,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -816,6 +816,13 @@
endstop_phase
</a>
</li>
<li class="md-nav__item">
<a href="#exclude_object" class="md-nav__link">
exclude_object
</a>
</li>
<li class="md-nav__item">
@@ -1113,8 +1120,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>
@@ -1520,6 +1527,13 @@
endstop_phase
</a>
</li>
<li class="md-nav__item">
<a href="#exclude_object" class="md-nav__link">
exclude_object
</a>
</li>
<li class="md-nav__item">
@@ -1776,6 +1790,7 @@
<li><code>settings.&lt;分段&gt;.&lt;选项&gt;</code>:返回最后一次软件启动或重启时给定的配置文件设置(或默认值)。(不会反映运行时的修改。)</li>
<li><code>config.&lt;分段&gt;.&lt;选项&gt;</code>返回Klipper在上次软件启动或重启时读取的原始配置文件设置。(不会反映运行时的修改。)所有值都以字符串形式返回。</li>
<li><code>save_config_pending</code>:如果存在可以通过 <code>SAVE_CONFIG</code> 命令保存到配置文件的更新,则返回 True。</li>
<li><code>save_config_pending_items</code>: Contains the sections and options that were changed and would be persisted by a <code>SAVE_CONFIG</code>.</li>
<li><code>warnings</code>:有关配置选项的警告列表。列表中的每个条目都将是一个 dictionary其中包含 <code>type</code><code>message</code> 字段(都是字符串)。根据警告类型,可能还有其他可用字段。</li>
</ul>
<h2 id="display_status">display_status<a class="headerlink" href="#display_status" title="Permanent link">&para;</a></h2>
@@ -1791,6 +1806,39 @@
<li><code>last_home.&lt;步进电机名称&gt;.phase</code>:步进电机上可用的总相数。</li>
<li><code>last_home.&lt;步进电机名称&gt;.mcu_position</code>:步进电机在上次归位尝试结束时的位置(由微控制器跟踪)。该位置是自微控制器最后一次重启以来,向前走的总步数减去反向走的总步数。</li>
</ul>
<h2 id="exclude_object">exclude_object<a class="headerlink" href="#exclude_object" title="Permanent link">&para;</a></h2>
<p>The following information is available in the <a href="Exclude_Object.html">exclude_object</a> object:</p>
<ul>
<li><code>objects</code>: An array of the known objects as provided by the <code>EXCLUDE_OBJECT_DEFINE</code> command. This is the same information provided by the <code>EXCLUDE_OBJECT VERBOSE=1</code> command. The <code>center</code> and <code>polygon</code> fields will only be present if provided in the original <code>EXCLUDE_OBJECT_DEFINE</code>Here is a JSON sample:</li>
</ul>
<div class="highlight"><pre><span></span><code>[
{
&quot;polygon&quot;: [
[ 156.25, 146.2511675 ],
[ 156.25, 153.7488325 ],
[ 163.75, 153.7488325 ],
[ 163.75, 146.2511675 ]
],
&quot;name&quot;: &quot;CYLINDER_2_STL_ID_2_COPY_0&quot;,
&quot;center&quot;: [ 160, 150 ]
},
{
&quot;polygon&quot;: [
[ 146.25, 146.2511675 ],
[ 146.25, 153.7488325 ],
[ 153.75, 153.7488325 ],
[ 153.75, 146.2511675 ]
],
&quot;name&quot;: &quot;CYLINDER_2_STL_ID_1_COPY_0&quot;,
&quot;center&quot;: [ 150, 150 ]
}
]
</code></pre></div>
<ul>
<li><code>excluded_objects</code>: An array of strings listing the names of excluded objects.</li>
<li><code>current_object</code>: The name of the object currently being printed.</li>
</ul>
<h2 id="fan">fan<a class="headerlink" href="#fan" title="Permanent link">&para;</a></h2>
<p><a href="Config_Reference.html#fan">fan</a><a href="Config_Reference.html#heater_fan">heater_fan some_name</a><a href="Config_Reference.html#controller_fan">controller_fan some_name</a>对象提供了以下信息:</p>
<ul>

View File

@@ -1072,8 +1072,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -823,8 +823,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

View File

@@ -825,8 +825,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>
@@ -1361,7 +1361,7 @@ LASER INTENSITY: 激光强度
<nav class="md-footer__inner md-grid" aria-label="页脚">
<a href="Skew_Correction.html" class="md-footer__link md-footer__link--prev" aria-label="上一页: 偏斜校正" rel="prev">
<a href="Exclude_Object.html" class="md-footer__link md-footer__link--prev" aria-label="上一页: Exclude Objects" 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>
@@ -1370,7 +1370,7 @@ LASER INTENSITY: 激光强度
<span class="md-footer__direction">
上一页
</span>
偏斜校正
Exclude Objects
</div>
</div>
</a>

View File

@@ -820,8 +820,8 @@
<li class="md-nav__item">
<a href="Exclude_Object.md" class="md-nav__link">
None
<a href="Exclude_Object.html" class="md-nav__link">
Exclude Objects
</a>
</li>

File diff suppressed because one or more lines are too long

View File

@@ -2,242 +2,247 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-26</lastmod>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-06-27</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>

Binary file not shown.