<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Приклад on Sovol на mainline Klipper</title><link>https://sovol.lexfrei.dev/ru/zero/application/</link><description>Recent content in Приклад on Sovol на mainline Klipper</description><generator>Hugo</generator><language>ru-ru</language><atom:link href="https://sovol.lexfrei.dev/ru/zero/application/index.xml" rel="self" type="application/rss+xml"/><item><title>Стек KIAUH</title><link>https://sovol.lexfrei.dev/ru/zero/application/kiauh/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sovol.lexfrei.dev/ru/zero/application/kiauh/</guid><description>&lt;h1 id="стек-прикладного-слоя-через-kiauh"&gt;Стек прикладного слоя через KIAUH&lt;a class="anchor" href="#%d1%81%d1%82%d0%b5%d0%ba-%d0%bf%d1%80%d0%b8%d0%ba%d0%bb%d0%b0%d0%b4%d0%bd%d0%be%d0%b3%d0%be-%d1%81%d0%bb%d0%be%d1%8f-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-kiauh"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Всё выше Klipper — Moonraker, Mainsail, Crowsnest — уже сток upstream, так что самая быстрая чистая установка — это &lt;a href="https://github.com/dw-0/kiauh"&gt;dw-0/kiauh&lt;/a&gt;. Склонируй его и ставь по порядку: &lt;strong&gt;Klipper, Moonraker, Mainsail, Mainsail-Config, Crowsnest.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Наведи хост Klipper на тот же чекаут &lt;code&gt;master&lt;/code&gt;, из которого собраны твои MCU, с venv из его &lt;code&gt;requirements.txt&lt;/code&gt;, и выстави &lt;code&gt;[update_manager klipper] channel: dev&lt;/code&gt; в &lt;code&gt;moonraker.conf&lt;/code&gt;, чтобы он трекал &lt;code&gt;master&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="два-постустановочных-фикса"&gt;Два постустановочных фикса&lt;a class="anchor" href="#%d0%b4%d0%b2%d0%b0-%d0%bf%d0%be%d1%81%d1%82%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%be%d1%87%d0%bd%d1%8b%d1%85-%d1%84%d0%b8%d0%ba%d1%81%d0%b0"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Оба из опыта на этой плате:&lt;/p&gt;</description></item><item><title>Конфиг Klipper</title><link>https://sovol.lexfrei.dev/ru/zero/application/klipper-config/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sovol.lexfrei.dev/ru/zero/application/klipper-config/</guid><description>&lt;h1 id="перевод-конфига-на-mainline"&gt;Перевод конфига на mainline&lt;a class="anchor" href="#%d0%bf%d0%b5%d1%80%d0%b5%d0%b2%d0%be%d0%b4-%d0%ba%d0%be%d0%bd%d1%84%d0%b8%d0%b3%d0%b0-%d0%bd%d0%b0-mainline"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Вендорский &lt;code&gt;printer.cfg&lt;/code&gt; как есть на upstream Klipper не заводится — несколько секций завязаны на поведение, которое есть только в вендорской прошивке. Переведи их с вендорского конфига; остальное переносится как есть.&lt;/p&gt;
&lt;h2 id="eddy-на-software-i2c"&gt;Eddy на software I2C&lt;a class="anchor" href="#eddy-%d0%bd%d0%b0-software-i2c"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Вендор гонял LDC1612 по аппаратному &lt;code&gt;i2c2&lt;/code&gt;, но только потому, что его F103-прошивка тащит обходы errata аппаратного I2C у STM32F1, которых на mainline нет; на mainline аппаратный &lt;code&gt;i2c2&lt;/code&gt; кидает &lt;code&gt;START_NACK&lt;/code&gt; → shutdown. Используй bitbang:&lt;/p&gt;</description></item><item><title>Плагины</title><link>https://sovol.lexfrei.dev/ru/zero/application/plugins/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sovol.lexfrei.dev/ru/zero/application/plugins/</guid><description>&lt;h1 id="плагины-и-допы-venv"&gt;Плагины и допы venv&lt;a class="anchor" href="#%d0%bf%d0%bb%d0%b0%d0%b3%d0%b8%d0%bd%d1%8b-%d0%b8-%d0%b4%d0%be%d0%bf%d1%8b-venv"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Дополнения, которые эта машина реально гоняет поверх стокового стека KIAUH.&lt;/p&gt;
&lt;h2 id="scipy--нужен-eddy-пробе"&gt;scipy — нужен eddy-пробе&lt;a class="anchor" href="#scipy--%d0%bd%d1%83%d0%b6%d0%b5%d0%bd-eddy-%d0%bf%d1%80%d0%be%d0%b1%d0%b5"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Поставь &lt;code&gt;scipy&lt;/code&gt; в venv Klipper:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;~/klippy-env/bin/pip install scipy&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Без него калибровка eddy-пробы падает. Если PyPI виснет при скачивании с платы, подсунь колёса вручную — смотри &lt;a href="https://sovol.lexfrei.dev/ru/zero/troubleshooting/"&gt;troubleshooting&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="sovol_codes--коды-экрана-крутилки"&gt;sovol_codes — коды экрана-крутилки&lt;a class="anchor" href="#sovol_codes--%d0%ba%d0%be%d0%b4%d1%8b-%d1%8d%d0%ba%d1%80%d0%b0%d0%bd%d0%b0-%d0%ba%d1%80%d1%83%d1%82%d0%b8%d0%bb%d0%ba%d0%b8"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Вендорская прошивка показывает числовые коды на экране-крутилке (&lt;code&gt;101&lt;/code&gt;/&lt;code&gt;103&lt;/code&gt;, диапазон shutdown &lt;code&gt;60+&lt;/code&gt;); mainline показывает человекочитаемые сообщения. Чтобы сохранить коды на upstream Klipper, поставь опциональный плагин &lt;code&gt;sovol_codes.py&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Калибровка</title><link>https://sovol.lexfrei.dev/ru/zero/application/calibration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sovol.lexfrei.dev/ru/zero/application/calibration/</guid><description>&lt;h1 id="откалибруй-и-проверь"&gt;Откалибруй и проверь&lt;a class="anchor" href="#%d0%be%d1%82%d0%ba%d0%b0%d0%bb%d0%b8%d0%b1%d1%80%d1%83%d0%b9-%d0%b8-%d0%bf%d1%80%d0%be%d0%b2%d0%b5%d1%80%d1%8c"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Оба MCU на mainline, конфиг переведён, плагины на месте — теперь откалибруй eddy-пробу и движение, а потом докажи это пластиком.&lt;/p&gt;
&lt;h2 id="eddy-и-tap"&gt;Eddy и tap&lt;a class="anchor" href="#eddy-%d0%b8-tap"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Гоняй по порядку, &lt;code&gt;SAVE_CONFIG&lt;/code&gt; после каждого:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;LDC_CALIBRATE_DRIVE_CURRENT&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PROBE_EDDY_CURRENT_CALIBRATE&lt;/code&gt; — строит таблицу частота→высота&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PROBE_EDDY_CURRENT_TAP_CALIBRATE&lt;/code&gt; — задаёт &lt;code&gt;tap_threshold&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="натяжение-ремня"&gt;Натяжение ремня&lt;a class="anchor" href="#%d0%bd%d0%b0%d1%82%d1%8f%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-%d1%80%d0%b5%d0%bc%d0%bd%d1%8f"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Цель — ~110 Гц при щипке XY-ремней на их 150-мм пролёте. (Z-ремень с завода ~137 Гц, но это пролёт 21.5 см — другая длина, так что два числа не сравнивай.) Туже — только вылизывает графики шейпера на бумаге и добавляет ringing. Клипперовский тест &lt;em&gt;схожести&lt;/em&gt; ремней тут ненадёжен — акселерометр на голове шумит на standstill от гудения тока удержания, так что показания скачут от прогона к прогону. Проверяй натяжение на слух или тюнером в телефоне (Android годится; шумодав iPhone портит показание).&lt;/p&gt;</description></item><item><title>Допы</title><link>https://sovol.lexfrei.dev/ru/zero/application/extras/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sovol.lexfrei.dev/ru/zero/application/extras/</guid><description>&lt;h1 id="допы--опциональное-железо-и-практики"&gt;Допы — опциональное железо и практики&lt;a class="anchor" href="#%d0%b4%d0%be%d0%bf%d1%8b--%d0%be%d0%bf%d1%86%d0%b8%d0%be%d0%bd%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b5-%d0%b6%d0%b5%d0%bb%d0%b5%d0%b7%d0%be-%d0%b8-%d0%bf%d1%80%d0%b0%d0%ba%d1%82%d0%b8%d0%ba%d0%b8"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Дополнения, которые не входят в ядро миграции, но заслужили своё место на реальной машине.&lt;/p&gt;
&lt;h2 id="usb-wifi-dongle-when-the-onboard-radio-dies"&gt;USB WiFi-донгл (когда встроенный радиомодуль умирает)&lt;a class="anchor" href="#usb-wifi-dongle-when-the-onboard-radio-dies"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Встроенный RTL8189FTV — известная единая точка отказа: на этом юните он умер по вине БП (&lt;code&gt;mmc: error -110 whilst initialising SDIO card&lt;/code&gt; на каждой загрузке, в том числе на стоковой прошивке, через ~21 попытку на двух стеках ядра; программное оживление — передёргивание питания чипа через его GPIO, более длинный &lt;code&gt;post-power-on-delay-ms&lt;/code&gt;, более низкая частота SDIO — ничего не меняет). Если видишь эту сигнатуру, прекращай дебажить и втыкай донгл в один из портов USB-A на плате.&lt;/p&gt;</description></item></channel></rss>