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

This commit is contained in:
KevinOConnor
2024-02-22 00:03:57 +00:00
parent 4ce4b4ceec
commit 41c61d1cb4
75 changed files with 851 additions and 851 deletions

View File

@@ -13,7 +13,7 @@
<title>Bootloader Entry - Klipper 文档</title>
<title>引导加载程序条目 - Klipper 文档</title>
@@ -74,7 +74,7 @@
<div data-md-component="skip">
<a href="#bootloader-entry" class="md-skip">
<a href="#_1" class="md-skip">
跳转至
</a>
@@ -106,7 +106,7 @@
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Bootloader Entry
引导加载程序条目
</span>
</div>
@@ -623,7 +623,7 @@
<li class="md-nav__item">
<a href="Axis_Twist_Compensation.html" class="md-nav__link">
Axis Twist Compensation
轴扭曲补偿
</a>
</li>
@@ -1167,12 +1167,12 @@
<label class="md-nav__link md-nav__link--active" for="__toc">
Bootloader Entry
引导加载程序条目
<span class="md-nav__icon md-icon"></span>
</label>
<a href="Bootloader_Entry.html" class="md-nav__link md-nav__link--active">
Bootloader Entry
引导加载程序条目
</a>
@@ -1191,19 +1191,19 @@
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#requesting-the-bootloader" class="md-nav__link">
Requesting the bootloader
<a href="#_2" class="md-nav__link">
请求引导加载程序
</a>
<nav class="md-nav" aria-label="Requesting the bootloader">
<nav class="md-nav" aria-label="请求引导加载程序">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#virtual-serial" class="md-nav__link">
Virtual Serial
<a href="#_3" class="md-nav__link">
虚拟串口
</a>
<nav class="md-nav" aria-label="Virtual Serial">
<nav class="md-nav" aria-label="虚拟串口">
<ul class="md-nav__list">
<li class="md-nav__item">
@@ -1226,11 +1226,11 @@
</li>
<li class="md-nav__item">
<a href="#physical-serial" class="md-nav__link">
Physical serial
<a href="#_4" class="md-nav__link">
物理序列
</a>
<nav class="md-nav" aria-label="Physical serial">
<nav class="md-nav" aria-label="物理序列">
<ul class="md-nav__list">
<li class="md-nav__item">
@@ -1271,23 +1271,23 @@
</li>
<li class="md-nav__item">
<a href="#entering-the-bootloader" class="md-nav__link">
Entering the bootloader
<a href="#_5" class="md-nav__link">
进入引导加载程序
</a>
</li>
<li class="md-nav__item">
<a href="#notes" class="md-nav__link">
Notes
<a href="#_6" class="md-nav__link">
笔记
</a>
<nav class="md-nav" aria-label="Notes">
<nav class="md-nav" aria-label="笔记">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#stm32-dfu-warning" class="md-nav__link">
STM32 DFU Warning
<a href="#stm32-dfu" class="md-nav__link">
STM32 DFU警告
</a>
</li>
@@ -1327,7 +1327,7 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
CanBus故障排除
</a>
</li>
@@ -1410,19 +1410,19 @@
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#requesting-the-bootloader" class="md-nav__link">
Requesting the bootloader
<a href="#_2" class="md-nav__link">
请求引导加载程序
</a>
<nav class="md-nav" aria-label="Requesting the bootloader">
<nav class="md-nav" aria-label="请求引导加载程序">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#virtual-serial" class="md-nav__link">
Virtual Serial
<a href="#_3" class="md-nav__link">
虚拟串口
</a>
<nav class="md-nav" aria-label="Virtual Serial">
<nav class="md-nav" aria-label="虚拟串口">
<ul class="md-nav__list">
<li class="md-nav__item">
@@ -1445,11 +1445,11 @@
</li>
<li class="md-nav__item">
<a href="#physical-serial" class="md-nav__link">
Physical serial
<a href="#_4" class="md-nav__link">
物理序列
</a>
<nav class="md-nav" aria-label="Physical serial">
<nav class="md-nav" aria-label="物理序列">
<ul class="md-nav__list">
<li class="md-nav__item">
@@ -1490,23 +1490,23 @@
</li>
<li class="md-nav__item">
<a href="#entering-the-bootloader" class="md-nav__link">
Entering the bootloader
<a href="#_5" class="md-nav__link">
进入引导加载程序
</a>
</li>
<li class="md-nav__item">
<a href="#notes" class="md-nav__link">
Notes
<a href="#_6" class="md-nav__link">
笔记
</a>
<nav class="md-nav" aria-label="Notes">
<nav class="md-nav" aria-label="笔记">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#stm32-dfu-warning" class="md-nav__link">
STM32 DFU Warning
<a href="#stm32-dfu" class="md-nav__link">
STM32 DFU警告
</a>
</li>
@@ -1533,59 +1533,59 @@
</a>
<h1 id="bootloader-entry">Bootloader Entry<a class="headerlink" href="#bootloader-entry" title="Permanent link">&para;</a></h1>
<p>Klipper can be instructed to reboot into a <a href="Bootloaders.html">Bootloader</a> in one of the following ways:</p>
<h2 id="requesting-the-bootloader">Requesting the bootloader<a class="headerlink" href="#requesting-the-bootloader" title="Permanent link">&para;</a></h2>
<h3 id="virtual-serial">Virtual Serial<a class="headerlink" href="#virtual-serial" title="Permanent link">&para;</a></h3>
<p>If a virtual (USB-ACM) serial port is in use, pulsing DTR while at 1200 baud will request the bootloader.</p>
<h1 id="_1">引导加载程序条目<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h1>
<p>可以通过以下方式之一指示Klipper重新启动到<a href="Bootloaders.html">BootLoader</a></p>
<h2 id="_2">请求引导加载程序<a class="headerlink" href="#_2" title="Permanent link">&para;</a></h2>
<h3 id="_3">虚拟串口<a class="headerlink" href="#_3" title="Permanent link">&para;</a></h3>
<p>如果正在使用虚拟(USB-ACM)串口则在波特率为1200的情况下使用脉冲DTR将请求引导加载程序。</p>
<h4 id="python-with-flash_usb">Python (with <code>flash_usb</code>)<a class="headerlink" href="#python-with-flash_usb" title="Permanent link">&para;</a></h4>
<p>To enter the bootloader using python (using <code>flash_usb</code>):</p>
<div class="highlight"><pre><span></span><code>&gt;<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>klipper/scripts
<p>要使用python进入引导加载程序(使用<code>flash_usb</code>)</p>
<div class="highlight"><pre><span></span><code>&gt;CD<span class="w"> </span>Klipper/scripts
&gt;<span class="w"> </span>python3<span class="w"> </span>-c<span class="w"> </span><span class="s1">&#39;import flash_usb as u; u.enter_bootloader(&quot;&lt;DEVICE&gt;&quot;)&#39;</span>
Entering<span class="w"> </span>bootloader<span class="w"> </span>on<span class="w"> </span>&lt;DEVICE&gt;
正在进入&lt;设备&gt;上的引导加载程序
</code></pre></div>
<p>Where <code>&lt;DEVICE&gt;</code> is your serial device, such as <code>/dev/serial.by-id/usb-Klipper[...]</code> or <code>/dev/ttyACM0</code></p>
<p>Note that if this fails, no output will be printed, success is indicated by printing <code>Entering bootloader on &lt;DEVICE&gt;</code>.</p>
<p>其中<code>&lt;Device&gt;</code>为您的串口设备,如<code>/dev/seral.by-id/usb-klipper[...]</code><code>/dev/ttyACM0</code></p>
<p>请注意,如果失败,则不会打印任何输出,并通过打印<code>Enting BootLoader on&lt;Device&gt;</code>来表示成功。</p>
<h4 id="picocom">Picocom<a class="headerlink" href="#picocom" title="Permanent link">&para;</a></h4>
<div class="highlight"><pre><span></span><code>picocom<span class="w"> </span>-b<span class="w"> </span><span class="m">1200</span><span class="w"> </span>&lt;DEVICE&gt;
&lt;Ctrl-A&gt;&lt;Ctrl-P&gt;
</code></pre></div>
<p>Where <code>&lt;DEVICE&gt;</code> is your serial device, such as <code>/dev/serial.by-id/usb-Klipper[...]</code> or <code>/dev/ttyACM0</code></p>
<p><code>&lt;Ctrl-A&gt;&lt;Ctrl-P&gt;</code> means holding <code>Ctrl</code>, pressing and releasing <code>a</code>, pressing and releasing <code>p</code>, then releasing <code>Ctrl</code></p>
<h3 id="physical-serial">Physical serial<a class="headerlink" href="#physical-serial" title="Permanent link">&para;</a></h3>
<p>If a physical serial port is being used on the MCU (even if a USB serial adapter is being used to connect to it), sending the string <code>&lt;SPACE&gt;&lt;FS&gt;&lt;SPACE&gt;Request Serial Bootloader!!&lt;SPACE&gt;~</code>.</p>
<p><code>&lt;SPACE&gt;</code> is an ASCII literal space, 0x20.</p>
<p><code>&lt;FS&gt;</code> is the ASCII File Separator, 0x1c.</p>
<p>Note that this is not a valid message as per the <a href="Protocol.html#micro-controller-interface">MCU Protocol</a>, but sync characters(<code>~</code>) are still respected.</p>
<p>Because this message must be the only thing in the "block" it is received in, prefixing an extra sync character can increase reliability if other tools were previously accessing the serial port.</p>
<p>其中<code>&lt;Device&gt;</code>为您的串口设备,如<code>/dev/seral.by-id/usb-klipper[...]</code><code>/dev/ttyACM0</code></p>
<p><code>&lt;Ctrl-A&gt;&lt;Ctrl-P&gt;</code>表示按住<code>Ctrl</code>,按住并松开<code>a</code>,按住并松开<code>p</code>,然后松开<code>Ctrl</code></p>
<h3 id="_4">物理序列<a class="headerlink" href="#_4" title="Permanent link">&para;</a></h3>
<p>如果MCU上正在使用物理串口(即使使用USB串口适配器连接),则发送字符串<code>&lt;space&gt;&lt;FS&gt;&lt;space&gt;RequestSerial BootLoader&lt;space&gt;~</code></p>
<p><code>&lt;space&gt;</code>是ASCII文字空格0x20</p>
<p><code>&lt;FS&gt;</code>是ASCII文件分隔符0x1c</p>
<p>请注意,根据<a href="Protocol.html#micro-controller-interface">MCU Protocol</a>,,这不是一个有效的消息,但仍然尊重同步字符(<code>~</code>)</p>
<p>由于该消息必须是接收该消息的“块”中的唯一内容,如果其他工具先前正在访问该串口,则添加额外的同步字符前缀可以提高可靠性。</p>
<h4 id="shell">Shell<a class="headerlink" href="#shell" title="Permanent link">&para;</a></h4>
<div class="highlight"><pre><span></span><code>stty<span class="w"> </span>&lt;BAUD&gt;<span class="w"> </span>&lt;<span class="w"> </span>/dev/&lt;DEVICE&gt;
<span class="nb">echo</span><span class="w"> </span><span class="s1">$&#39;~ \x1c Request Serial Bootloader!! ~&#39;</span><span class="w"> </span>&gt;&gt;<span class="w"> </span>/dev/&lt;DEVICE&gt;
<span class="nb">echo</span><span class="w"> </span><span class="s1">$&#39;~ \x1c请求串行引导加载器!! ~&#39;</span><span class="w"> </span>&gt;&gt;<span class="w"> </span>/dev/&lt;DEVICE&gt;
</code></pre></div>
<p>Where <code>&lt;DEVICE&gt;</code> is your serial port, such as <code>/dev/ttyS0</code>, or <code>/dev/serial/by-id/gpio-serial2</code>, and</p>
<p><code>&lt;BAUD&gt;</code> is the baud rate of the serial port, such as <code>115200</code>.</p>
<p>其中<code>&lt;Device&gt;</code>为您的串口,如<code>/dev/ttyS0</code><code>/dev/Serial/by-id/gpio-Serial2</code>,以及</p>
<p><code>&lt;波特&gt;</code>为串口的波特率,如<code>115200</code></p>
<h3 id="can">CAN 总线<a class="headerlink" href="#can" title="Permanent link">&para;</a></h3>
<p>If CANBUS is in use, a special <a href="CANBUS_protocol.html#admin-messages">admin message</a> will request the bootloader. This message will be respected even if the device already has a nodeid, and will also be processed if the mcu is shutdown.</p>
<p>This method also applies to devices operating in <a href="CANBUS.html#usb-to-can-bus-bridge-mode">CANBridge</a> mode.</p>
<p>如果正在使用CanBus则会有一个特殊的<a href="canbus_Protocol.md#admin-Messages">管理消息</a>请求引导加载程序。即使设备已经具有节点ID也会考虑此消息并且如果MCU关闭也会处理此消息。</p>
<p>此方法也适用于在<a href="CANBUS.html#usb-to-can-bus-bridge-mode">CANBridge</a>模式下运行的设备。</p>
<h4 id="katapults-flashtoolpy">Katapult's flashtool.py<a class="headerlink" href="#katapults-flashtoolpy" title="Permanent link">&para;</a></h4>
<div class="highlight"><pre><span></span><code>python3<span class="w"> </span>./katapult/scripts/flashtool.py<span class="w"> </span>-i<span class="w"> </span>&lt;CAN_IFACE&gt;<span class="w"> </span>-u<span class="w"> </span>&lt;UUID&gt;<span class="w"> </span>-r
</code></pre></div>
<p>Where <code>&lt;CAN_IFACE&gt;</code> is the can interface to use. If using <code>can0</code>, both the <code>-i</code> and <code>&lt;CAN_IFACE&gt;</code> may be omitted.</p>
<p><code>&lt;UUID&gt;</code> is the UUID of your CAN device.</p>
<p>See the <a href="CANBUS.html#finding-the-canbus_uuid-for-new-micro-controllers">CANBUS Documentation</a> for information on finding the CAN UUID of your devices.</p>
<h2 id="entering-the-bootloader">Entering the bootloader<a class="headerlink" href="#entering-the-bootloader" title="Permanent link">&para;</a></h2>
<p>When klipper receives one of the above bootloader requests:</p>
<p>If Katapult (formerly known as CANBoot) is available, klipper will request that Katapult stay active on the next boot, then reset the MCU (therefore entering Katapult).</p>
<p>If Katapult is not available, klipper will then try to enter a platform-specific bootloader, such as STM32's DFU mode(<a href="#stm32-dfu-warning">see note</a>).</p>
<p>In short, Klipper will reboot to Katapult if installed, then a hardware specific bootloader if available.</p>
<p>For details about the specific bootloaders on various platforms see <a href="Bootloaders.html">Bootloaders</a></p>
<h2 id="notes">Notes<a class="headerlink" href="#notes" title="Permanent link">&para;</a></h2>
<h3 id="stm32-dfu-warning">STM32 DFU Warning<a class="headerlink" href="#stm32-dfu-warning" title="Permanent link">&para;</a></h3>
<p>Note that on some boards, like the Octopus Pro v1, entering DFU mode can cause undesired actions (such as powering the heater while in DFU mode). It is recommended to disconnect heaters, and otherwise prevent undesired operations when using DFU mode. Consult the documentation for your board for more details.</p>
<p>其中<code>&lt;CAN_iFace&gt;</code>是要使用的CAN接口。如果使用<code>can0</code>,则可以省略<code>-i</code><code>&lt;can_iFace&gt;</code></p>
<p><code>&lt;uuid&gt;</code>是您的CAN设备的uuid。</p>
<p>有关查找设备的CAN UUID的信息请参阅<a href="CANBUS.html#finding-the-canbus_uuid-for-new-micro-controllers">CAN Bus Documentation</a></p>
<h2 id="_5">进入引导加载程序<a class="headerlink" href="#_5" title="Permanent link">&para;</a></h2>
<p>当Klipper收到上述引导加载程序请求之一时</p>
<p>如果Katapult(以前称为CANBoot)可用Klipper将请求Katapult在下一次启动时保持活动状态然后重置MCU(因此进入Katapult)</p>
<p>如果Katapult不可用Klipper将尝试进入特定于平台的引导加载程序例如STM32的S DFU模式(<a href="#stm32-dfu-warning">参见备注</a>)</p>
<p>简而言之Klipper将重新引导到Katapult(如果已安装),然后重新引导到特定于硬件的引导程序(如果可用)。</p>
<p>关于各种平台上的具体BootLoader的详细信息,请参阅<a href="Bootloaders.html">BootLoader</a></p>
<h2 id="_6">笔记<a class="headerlink" href="#_6" title="Permanent link">&para;</a></h2>
<h3 id="stm32-dfu">STM32 DFU警告<a class="headerlink" href="#stm32-dfu" title="Permanent link">&para;</a></h3>
<p>请注意在某些主板上如Octopus Pro v1进入DFU模式可能会导致不必要的操作(如在DFU模式下为加热器供电)。建议在使用DFU模式时断开加热器否则将防止不必要的操作。有关更多详细信息请参阅您的主板文档。</p>
</article>