qmk_firmware/assets/feature_converters.md.nbsy9vmL.js

16 lines
19 KiB
JavaScript
Raw Normal View History

import { _ as _export_sfc, c as createElementBlock, o as openBlock, a8 as createStaticVNode } from "./chunks/framework.B9AX-CPi.js";
const __pageData = JSON.parse('{"title":"Converters","description":"","frontmatter":{},"headers":[],"relativePath":"feature_converters.md","filePath":"feature_converters.md"}');
const _sfc_main = { name: "feature_converters.md" };
const _hoisted_1 = /* @__PURE__ */ createStaticVNode('<h1 id="converters" tabindex="-1">Converters <a class="header-anchor" href="#converters" aria-label="Permalink to &quot;Converters&quot;"></a></h1><p>This page documents the automated process for converting keyboards to use drop-in replacement controllers. This process is designed to be easy to use and can be completed in a few simple steps.</p><h2 id="supported-converters" tabindex="-1">Supported Converters <a class="header-anchor" href="#supported-converters" aria-label="Permalink to &quot;Supported Converters&quot;"></a></h2><p>The following converters are available at this time:</p><table><thead><tr><th>From</th><th>To</th></tr></thead><tbody><tr><td><code>promicro</code></td><td><code>proton_c</code></td></tr><tr><td><code>promicro</code></td><td><code>kb2040</code></td></tr><tr><td><code>promicro</code></td><td><code>sparkfun_pm2040</code></td></tr><tr><td><code>promicro</code></td><td><code>blok</code></td></tr><tr><td><code>promicro</code></td><td><code>bit_c_pro</code></td></tr><tr><td><code>promicro</code></td><td><code>stemcell</code></td></tr><tr><td><code>promicro</code></td><td><code>bonsai_c4</code></td></tr><tr><td><code>promicro</code></td><td><code>rp2040_ce</code></td></tr><tr><td><code>promicro</code></td><td><code>elite_pi</code></td></tr><tr><td><code>promicro</code></td><td><code>helios</code></td></tr><tr><td><code>promicro</code></td><td><code>liatris</code></td></tr><tr><td><code>promicro</code></td><td><code>imera</code></td></tr><tr><td><code>promicro</code></td><td><code>michi</code></td></tr><tr><td><code>elite_c</code></td><td><code>stemcell</code></td></tr><tr><td><code>elite_c</code></td><td><code>rp2040_ce</code></td></tr><tr><td><code>elite_c</code></td><td><code>elite_pi</code></td></tr><tr><td><code>elite_c</code></td><td><code>helios</code></td></tr><tr><td><code>elite_c</code></td><td><code>liatris</code></td></tr></tbody></table><h2 id="overview" tabindex="-1">Overview <a class="header-anchor" href="#overview" aria-label="Permalink to &quot;Overview&quot;"></a></h2><p>Each converter category is broken down by its declared <code>pin compatibility</code>. This ensures that only valid combinations are attempted. You can generate the firmware by appending <code>-e CONVERT_TO=&lt;target&gt;</code> to your compile/flash command. For example:</p><div class="language-sh vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">qmk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> flash</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -c</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -kb</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> keebio/bdn9/rev1</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -km</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> default</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> CONVERT_TO=proton_c</span></span></code></pre></div><p>You can also add the same <code>CONVERT_TO=&lt;target&gt;</code> to your keymap&#39;s <code>rules.mk</code>, which will accomplish the same thing.</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>If you get errors about <code>PORTB/DDRB</code>, etc not being defined, you&#39;ll need to convert the keyboard&#39;s code to use the <a href="./drivers/gpio">GPIO Controls</a> that will work for both ARM and AVR. This shouldn&#39;t affect the AVR builds at all.</p></div><h3 id="conditional-configuration" tabindex="-1">Conditional Configuration <a class="header-anchor" href="#conditional-configuration" aria-label="Permalink to &quot;Conditional Configuration&quot;"></a></h3><p>Once a converter is enabled, it exposes the <code>CONVERT_TO_&lt;target_uppercase&gt;</code> flag that you can use in
const _hoisted_53 = [
_hoisted_1
];
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return openBlock(), createElementBlock("div", null, _hoisted_53);
}
const feature_converters = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
export {
__pageData,
feature_converters as default
};