docs: publish channels: main api

This commit is contained in:
github-actions[bot] committed 2026-08-20 00:50:23 +00:00
1 parent 2ca1f0537d
commit a8f7362ef6
8 files changed
+8 -8

No files matched your search

@@ -94,7 +94,7 @@
<div class="cover ">
<h1 class="cover"><span>Secure</span><wbr><span>Dfu</span><wbr><span><span>Handler</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":feature:firmware/commonMain"><div class="symbol monospace"><span class="token keyword">constructor</span><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">firmwareRetriever<span class="token operator">: </span><a href="../../org.meshtastic.feature.firmware/-firmware-retriever/index.html">FirmwareRetriever</a><span class="token punctuation">, </span></span><span class="parameter ">firmwareFileHandler<span class="token operator">: </span><a href="../../org.meshtastic.feature.firmware/-firmware-file-handler/index.html">FirmwareFileHandler</a><span class="token punctuation">, </span></span><span class="parameter ">radioController<span class="token operator">: </span><a href="../../../../core/repository/org.meshtastic.core.repository/-radio-controller/index.html">RadioController</a><span class="token punctuation">, </span></span><span class="parameter ">bleScanner<span class="token operator">: </span><a href="../../../../core/ble/org.meshtastic.core.ble/-ble-scanner/index.html">BleScanner</a><span class="token punctuation">, </span></span><span class="parameter ">bleConnectionFactory<span class="token operator">: </span><a href="../../../../core/ble/org.meshtastic.core.ble/-ble-connection-factory/index.html">BleConnectionFactory</a><span class="token punctuation">, </span></span><span class="parameter ">dispatchers<span class="token operator">: </span><a href="../../../../core/di/org.meshtastic.core.di/-coroutine-dispatchers/index.html">CoroutineDispatchers</a></span></span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/feature/firmware/src/commonMain/kotlin/org/meshtastic/feature/firmware/ota/dfu/SecureDfuHandler.kt#L440">source</a>)</span></span></div></div></div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":feature:firmware/commonMain"><div class="symbol monospace"><span class="token keyword">constructor</span><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">firmwareRetriever<span class="token operator">: </span><a href="../../org.meshtastic.feature.firmware/-firmware-retriever/index.html">FirmwareRetriever</a><span class="token punctuation">, </span></span><span class="parameter ">firmwareFileHandler<span class="token operator">: </span><a href="../../org.meshtastic.feature.firmware/-firmware-file-handler/index.html">FirmwareFileHandler</a><span class="token punctuation">, </span></span><span class="parameter ">radioController<span class="token operator">: </span><a href="../../../../core/repository/org.meshtastic.core.repository/-radio-controller/index.html">RadioController</a><span class="token punctuation">, </span></span><span class="parameter ">bleScanner<span class="token operator">: </span><a href="../../../../core/ble/org.meshtastic.core.ble/-ble-scanner/index.html">BleScanner</a><span class="token punctuation">, </span></span><span class="parameter ">bleConnectionFactory<span class="token operator">: </span><a href="../../../../core/ble/org.meshtastic.core.ble/-ble-connection-factory/index.html">BleConnectionFactory</a><span class="token punctuation">, </span></span><span class="parameter ">dispatchers<span class="token operator">: </span><a href="../../../../core/di/org.meshtastic.core.di/-coroutine-dispatchers/index.html">CoroutineDispatchers</a></span></span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/feature/firmware/src/commonMain/kotlin/org/meshtastic/feature/firmware/ota/dfu/SecureDfuHandler.kt#L442">source</a>)</span></span></div></div></div>
</div>
<div class="footer">
<div class="footer--container">
@@ -93,7 +93,7 @@
<div class="breadcrumbs"><a href="../../index.html">feature-firmware</a><span class="delimiter">/</span><a href="../index.html">org.meshtastic.feature.firmware.ota.dfu</a><span class="delimiter">/</span><span class="current">SecureDfuHandler</span></div>
<div class="cover ">
<h1 class="cover"><span>Secure</span><wbr><span>Dfu</span><wbr><span><span>Handler</span></span></h1>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":feature:firmware/commonMain"><div class="symbol monospace"><span class="token keyword">class </span><a href="index.html">SecureDfuHandler</a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">firmwareRetriever<span class="token operator">: </span><a href="../../org.meshtastic.feature.firmware/-firmware-retriever/index.html">FirmwareRetriever</a><span class="token punctuation">, </span></span><span class="parameter ">firmwareFileHandler<span class="token operator">: </span><a href="../../org.meshtastic.feature.firmware/-firmware-file-handler/index.html">FirmwareFileHandler</a><span class="token punctuation">, </span></span><span class="parameter ">radioController<span class="token operator">: </span><a href="../../../../core/repository/org.meshtastic.core.repository/-radio-controller/index.html">RadioController</a><span class="token punctuation">, </span></span><span class="parameter ">bleScanner<span class="token operator">: </span><a href="../../../../core/ble/org.meshtastic.core.ble/-ble-scanner/index.html">BleScanner</a><span class="token punctuation">, </span></span><span class="parameter ">bleConnectionFactory<span class="token operator">: </span><a href="../../../../core/ble/org.meshtastic.core.ble/-ble-connection-factory/index.html">BleConnectionFactory</a><span class="token punctuation">, </span></span><span class="parameter ">dispatchers<span class="token operator">: </span><a href="../../../../core/di/org.meshtastic.core.di/-coroutine-dispatchers/index.html">CoroutineDispatchers</a></span></span><span class="token punctuation">)</span> : <a href="../../org.meshtastic.feature.firmware/-firmware-update-handler/index.html">FirmwareUpdateHandler</a><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/feature/firmware/src/commonMain/kotlin/org/meshtastic/feature/firmware/ota/dfu/SecureDfuHandler.kt#L440">source</a>)</span></span></div><p class="paragraph">KMP <a href="../../org.meshtastic.feature.firmware/-firmware-update-handler/index.html">FirmwareUpdateHandler</a> for nRF52 devices.</p><p class="paragraph">Despite its historical name, this handler now drives <strong>both</strong> Nordic Secure DFU (service <code class="lang-kotlin">FE59</code>) and Nordic Legacy DFU / Adafruit <code class="lang-kotlin">BLEDfu</code> (service <code class="lang-kotlin">1530</code>). After triggering the buttonless reboot it sniffs which DFU service the bootloader exposes and dispatches to the matching <a href="../-dfu-upload-transport/index.html">DfuUploadTransport</a> implementation.</p><p class="paragraph">All platform I/O (zip extraction, file reading) is delegated to <a href="../../org.meshtastic.feature.firmware/-firmware-file-handler/index.html">FirmwareFileHandler</a>.</p></div></div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":feature:firmware/commonMain"><div class="symbol monospace"><span class="token keyword">class </span><a href="index.html">SecureDfuHandler</a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">firmwareRetriever<span class="token operator">: </span><a href="../../org.meshtastic.feature.firmware/-firmware-retriever/index.html">FirmwareRetriever</a><span class="token punctuation">, </span></span><span class="parameter ">firmwareFileHandler<span class="token operator">: </span><a href="../../org.meshtastic.feature.firmware/-firmware-file-handler/index.html">FirmwareFileHandler</a><span class="token punctuation">, </span></span><span class="parameter ">radioController<span class="token operator">: </span><a href="../../../../core/repository/org.meshtastic.core.repository/-radio-controller/index.html">RadioController</a><span class="token punctuation">, </span></span><span class="parameter ">bleScanner<span class="token operator">: </span><a href="../../../../core/ble/org.meshtastic.core.ble/-ble-scanner/index.html">BleScanner</a><span class="token punctuation">, </span></span><span class="parameter ">bleConnectionFactory<span class="token operator">: </span><a href="../../../../core/ble/org.meshtastic.core.ble/-ble-connection-factory/index.html">BleConnectionFactory</a><span class="token punctuation">, </span></span><span class="parameter ">dispatchers<span class="token operator">: </span><a href="../../../../core/di/org.meshtastic.core.di/-coroutine-dispatchers/index.html">CoroutineDispatchers</a></span></span><span class="token punctuation">)</span> : <a href="../../org.meshtastic.feature.firmware/-firmware-update-handler/index.html">FirmwareUpdateHandler</a><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/feature/firmware/src/commonMain/kotlin/org/meshtastic/feature/firmware/ota/dfu/SecureDfuHandler.kt#L442">source</a>)</span></span></div><p class="paragraph">KMP <a href="../../org.meshtastic.feature.firmware/-firmware-update-handler/index.html">FirmwareUpdateHandler</a> for nRF52 devices.</p><p class="paragraph">Despite its historical name, this handler now drives <strong>both</strong> Nordic Secure DFU (service <code class="lang-kotlin">FE59</code>) and Nordic Legacy DFU / Adafruit <code class="lang-kotlin">BLEDfu</code> (service <code class="lang-kotlin">1530</code>). After triggering the buttonless reboot it sniffs which DFU service the bootloader exposes and dispatches to the matching <a href="../-dfu-upload-transport/index.html">DfuUploadTransport</a> implementation.</p><p class="paragraph">All platform I/O (zip extraction, file reading) is delegated to <a href="../../org.meshtastic.feature.firmware/-firmware-file-handler/index.html">FirmwareFileHandler</a>.</p></div></div>
</div>
<div class="tabbedcontent">
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="CONSTRUCTOR,TYPE,PROPERTY,FUNCTION">Members</button></div>
@@ -94,7 +94,7 @@
<div class="cover ">
<h1 class="cover"><span>start</span><wbr><span><span>Update</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":feature:firmware/commonMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">suspend override </span><span class="token keyword">fun </span><a href="start-update.html"><span class="token function">startUpdate</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">release<span class="token operator">: </span><a href="../../../../core/database/org.meshtastic.core.database.entity/-firmware-release/index.html">FirmwareRelease</a><span class="token punctuation">, </span></span><span class="parameter ">hardware<span class="token operator">: </span><a href="../../../../core/model/org.meshtastic.core.model/-device-hardware/index.html">DeviceHardware</a><span class="token punctuation">, </span></span><span class="parameter ">target<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span></span><span class="parameter ">updateState<span class="token operator">: </span><span class="token punctuation">(</span><a href="../../org.meshtastic.feature.firmware/-firmware-update-state/index.html">FirmwareUpdateState</a><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span></span><span class="parameter ">firmwareUri<span class="token operator">: </span><a href="../../../../core/common/org.meshtastic.core.common.util/-common-uri/index.html">CommonUri</a><span class="token operator">?</span><span class="token operator"> = </span>null</span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="../../org.meshtastic.feature.firmware/-firmware-artifact/index.html">FirmwareArtifact</a><span class="token operator">?</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/feature/firmware/src/commonMain/kotlin/org/meshtastic/feature/firmware/ota/dfu/SecureDfuHandler.kt#L450">source</a>)</span></span></div><p class="paragraph">Start the firmware update process.</p><span class="kdoc-tag"><h4 class="">Return</h4><p class="paragraph">A host-owned temporary artifact when cleanup is required, or null if the update used only external input</p></span><h4 class="tableheader">Parameters</h4><div class="table"><div class="table-row table-row_content" data-filterable-current=":feature:firmware/commonMain" data-filterable-set=":feature:firmware/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>release</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The firmware release to install</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":feature:firmware/commonMain" data-filterable-set=":feature:firmware/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>hardware</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The target device hardware</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":feature:firmware/commonMain" data-filterable-set=":feature:firmware/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>target</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The target identifier (e.g., Bluetooth address, IP address, or empty for USB)</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":feature:firmware/commonMain" data-filterable-set=":feature:firmware/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>update</span><wbr><span><span>State</span></span></u></div></span></div><div><div class="title"><p class="paragraph">Callback to report back state changes</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":feature:firmware/commonMain" data-filterable-set=":feature:firmware/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>firmware</span><wbr><span><span>Uri</span></span></u></div></span></div><div><div class="title"><p class="paragraph">Optional URI for a local firmware file (bypasses download)</p></div></div></div></div></div></div></div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":feature:firmware/commonMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">suspend override </span><span class="token keyword">fun </span><a href="start-update.html"><span class="token function">startUpdate</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">release<span class="token operator">: </span><a href="../../../../core/database/org.meshtastic.core.database.entity/-firmware-release/index.html">FirmwareRelease</a><span class="token punctuation">, </span></span><span class="parameter ">hardware<span class="token operator">: </span><a href="../../../../core/model/org.meshtastic.core.model/-device-hardware/index.html">DeviceHardware</a><span class="token punctuation">, </span></span><span class="parameter ">target<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span></span><span class="parameter ">updateState<span class="token operator">: </span><span class="token punctuation">(</span><a href="../../org.meshtastic.feature.firmware/-firmware-update-state/index.html">FirmwareUpdateState</a><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span></span><span class="parameter ">firmwareUri<span class="token operator">: </span><a href="../../../../core/common/org.meshtastic.core.common.util/-common-uri/index.html">CommonUri</a><span class="token operator">?</span><span class="token operator"> = </span>null</span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="../../org.meshtastic.feature.firmware/-firmware-artifact/index.html">FirmwareArtifact</a><span class="token operator">?</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/feature/firmware/src/commonMain/kotlin/org/meshtastic/feature/firmware/ota/dfu/SecureDfuHandler.kt#L452">source</a>)</span></span></div><p class="paragraph">Start the firmware update process.</p><span class="kdoc-tag"><h4 class="">Return</h4><p class="paragraph">A host-owned temporary artifact when cleanup is required, or null if the update used only external input</p></span><h4 class="tableheader">Parameters</h4><div class="table"><div class="table-row table-row_content" data-filterable-current=":feature:firmware/commonMain" data-filterable-set=":feature:firmware/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>release</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The firmware release to install</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":feature:firmware/commonMain" data-filterable-set=":feature:firmware/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>hardware</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The target device hardware</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":feature:firmware/commonMain" data-filterable-set=":feature:firmware/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>target</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The target identifier (e.g., Bluetooth address, IP address, or empty for USB)</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":feature:firmware/commonMain" data-filterable-set=":feature:firmware/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>update</span><wbr><span><span>State</span></span></u></div></span></div><div><div class="title"><p class="paragraph">Callback to report back state changes</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":feature:firmware/commonMain" data-filterable-set=":feature:firmware/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>firmware</span><wbr><span><span>Uri</span></span></u></div></span></div><div><div class="title"><p class="paragraph">Optional URI for a local firmware file (bypasses download)</p></div></div></div></div></div></div></div>
</div>
<div class="footer">
<div class="footer--container">
File diff suppressed because one or more lines are too long.
File diff suppressed because one or more lines are too long.
File diff suppressed because one or more lines are too long.
File diff suppressed because one or more lines are too long.
File diff suppressed because one or more lines are too long.