mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-10-02 16:44:33 -04:00
docs: publish channels: main api
This commit is contained in:
1 parent
79ff4df002
commit
e8301f3ba1
16 files changed
+32
-32
No files matched your search
@@ -95,7 +95,7 @@
|
||||
<h1 class="cover"><span>Robolectric</span><wbr><span>Ble</span><wbr><span><span>Bonding</span></span></h1>
|
||||
<div class="platform-hinted with-platform-tabs" data-platform-hinted="data-platform-hinted">
|
||||
<div class="platform-bookmarks-row" data-toggle-list="data-toggle-list"><button class="platform-bookmark" data-filterable-current=":core:testing/androidMain" data-filterable-set=":core:testing/androidMain" data-active="" data-toggle=":core:testing/androidMain">android</button></div>
|
||||
<div class="content sourceset-dependent-content" data-active="" data-togglable=":core:testing/androidMain"><div class="symbol monospace"><span class="token keyword">object </span><a href="index.html">RobolectricBleBonding</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/core/testing/src/androidMain/kotlin/org/meshtastic/core/testing/RobolectricBleBonding.kt#L44">source</a>)</span></span></div><p class="paragraph">Reusable Robolectric helpers for driving Android Bluetooth bonding logic in <code class="lang-kotlin">androidHostTest</code> source sets.</p><p class="paragraph">These let a unit test exercise the real <code class="lang-kotlin">AndroidBluetoothRepository.bond()</code> (and any future BLE bonding code) without an emulator and without a production seam. They rely on two Robolectric behaviors (verified against Robolectric 4.16.x):</p><ul><li><p class="paragraph"><a href="https://developer.android.com/reference/kotlin/android/bluetooth/BluetoothAdapter.html#getremotedevice">android.bluetooth.BluetoothAdapter.getRemoteDevice</a> caches the returned <a href="https://developer.android.com/reference/kotlin/android/bluetooth/BluetoothDevice.html">BluetoothDevice</a> by address in a static map, so the shadow configured here is the <i>same</i> instance production code reads when it calls <code class="lang-kotlin">getRemoteDevice(mac)</code> internally.</p></li><li><p class="paragraph"><span data-unresolved-link="org.robolectric.shadows/ShadowBluetoothDevice/createBond/#/PointingToDeclaration/">ShadowBluetoothDevice.createBond</span> calls <code class="lang-kotlin">checkForBluetoothConnectPermission()</code> first, so tests must call <a href="grant-bluetooth-connect-permission.html">grantBluetoothConnectPermission</a> or <code class="lang-kotlin">createBond()</code> throws <a href="https://developer.android.com/reference/kotlin/java/lang/SecurityException.html">SecurityException</a> instead of returning a value.</p></li></ul><p class="paragraph">Isolation note: because the device cache is static and survives across tests in the same JVM, give each test a distinct MAC so bond-state cannot bleed between tests.</p></div> </div>
|
||||
<div class="content sourceset-dependent-content" data-active="" data-togglable=":core:testing/androidMain"><div class="symbol monospace"><span class="token keyword">object </span><a href="index.html">RobolectricBleBonding</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/core/testing/src/androidMain/kotlin/org/meshtastic/core/testing/RobolectricBleBonding.kt#L44">source</a>)</span></span></div><p class="paragraph">Reusable Robolectric helpers for driving Android Bluetooth bonding logic in <code class="lang-kotlin">androidHostTest</code> source sets.</p><p class="paragraph">These let a unit test exercise the real <code class="lang-kotlin">AndroidBluetoothRepository.bond()</code> (and any future BLE bonding code) without an emulator and without a production seam. They rely on two Robolectric behaviors (verified against Robolectric 4.16.x):</p><ul><li><p class="paragraph"><a href="https://developer.android.com/reference/kotlin/android/bluetooth/BluetoothAdapter.html#getRemoteDevice(kotlin.ByteArray)">android.bluetooth.BluetoothAdapter.getRemoteDevice</a> caches the returned <a href="https://developer.android.com/reference/kotlin/android/bluetooth/BluetoothDevice.html">BluetoothDevice</a> by address in a static map, so the shadow configured here is the <i>same</i> instance production code reads when it calls <code class="lang-kotlin">getRemoteDevice(mac)</code> internally.</p></li><li><p class="paragraph"><span data-unresolved-link="org.robolectric.shadows/ShadowBluetoothDevice/createBond/#/PointingToDeclaration/">ShadowBluetoothDevice.createBond</span> calls <code class="lang-kotlin">checkForBluetoothConnectPermission()</code> first, so tests must call <a href="grant-bluetooth-connect-permission.html">grantBluetoothConnectPermission</a> or <code class="lang-kotlin">createBond()</code> throws <a href="https://developer.android.com/reference/kotlin/java/lang/SecurityException.html">SecurityException</a> instead of returning a value.</p></li></ul><p class="paragraph">Isolation note: because the device cache is static and survives across tests in the same JVM, give each test a distinct MAC so bond-state cannot bleed between tests.</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>
|
||||
|
||||
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.
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.
@@ -73,7 +73,7 @@ Soil probe and water-quality sonde chemistry (pH, conductivity, salinity, NPK, d
|
||||
|
||||
### Weather and Other Readings
|
||||
|
||||
| Метрични | Unit | Where it appears |
|
||||
| Метрични | Единица | Where it appears |
|
||||
| ------------------------------------------------------ | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Wind speed | km/h or mph | Card and chart. Sensors report meters per second; the app converts to match your unit setting, and the chart uses the same unit as the card |
|
||||
| Wind direction, gust, and lull | degrees, km/h or mph | Listed with each reading on the Environment Metrics screen; not charted |
|
||||
@@ -122,12 +122,12 @@ hand-tune them for mesh size. Lengthen them deliberately only to save battery.
|
||||
|
||||
Nodes with particulate matter or CO₂ sensors report air quality data:
|
||||
|
||||
| Метрични | Unit | Описание |
|
||||
| --------------------- | ----- | ---------------------------- |
|
||||
| PM1.0 | µg/m³ | Ultrafine particulate matter |
|
||||
| PM2.5 | µg/m³ | Fine particulate matter |
|
||||
| PM10 | µg/m³ | Coarse particulate matter |
|
||||
| CO₂ | ppm | Carbon dioxide concentration |
|
||||
| Метрични | Единица | Описание |
|
||||
| --------------------- | ------- | ---------------------------- |
|
||||
| PM1.0 | µg/m³ | Ultrafine particulate matter |
|
||||
| PM2.5 | µg/m³ | Fine particulate matter |
|
||||
| PM10 | µg/m³ | Coarse particulate matter |
|
||||
| CO₂ | ppm | Carbon dioxide concentration |
|
||||
|
||||
CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long.
@@ -66,7 +66,7 @@ The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived
|
||||
|
||||
Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
|
||||
|
||||
Метрични | Unit | Описание |
|
||||
Метрични | Единица | Описание |
|
||||
--------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
PM1.0 | µg/m³ | Particulate matter up to 1.0 micron |
|
||||
PM2.5 | µg/m³ | Particulate matter up to 2.5 microns |
|
||||
|
||||
@@ -332,7 +332,7 @@ appears only when your own node is selected. It is grouped rather than flat:
|
||||
|
||||
**Appearance**
|
||||
|
||||
- **Units** — metric, imperial, or follow the system. This is the entry
|
||||
- **Мерни единици** — метрични, имперски или според системата. This is the entry
|
||||
[Units & Locale](units-and-locale) sends you to.
|
||||
- **Theme** and **Language**.
|
||||
- **Show full message timestamps**.
|
||||
|
||||
@@ -71,7 +71,7 @@ Soil probe and water-quality sonde chemistry (pH, conductivity, salinity, NPK, d
|
||||
|
||||
### Weather and Other Readings
|
||||
|
||||
Метрични | Unit | Where it appears |
|
||||
Метрични | Единица | Where it appears |
|
||||
------------------------------------------------------ | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
Wind speed | km/h or mph | Card and chart. Sensors report meters per second; the app converts to match your unit setting, and the chart uses the same unit as the card |
|
||||
Wind direction, gust, and lull | degrees, km/h or mph | Listed with each reading on the Environment Metrics screen; not charted |
|
||||
@@ -120,12 +120,12 @@ hand-tune them for mesh size. Lengthen them deliberately only to save battery.
|
||||
|
||||
Nodes with particulate matter or CO₂ sensors report air quality data:
|
||||
|
||||
Метрични | Unit | Описание |
|
||||
--------------------- | ----- | ---------------------------- |
|
||||
PM1.0 | µg/m³ | Ultrafine particulate matter |
|
||||
PM2.5 | µg/m³ | Fine particulate matter |
|
||||
PM10 | µg/m³ | Coarse particulate matter |
|
||||
CO₂ | ppm | Carbon dioxide concentration |
|
||||
Метрични | Единица | Описание |
|
||||
--------------------- | ------- | ---------------------------- |
|
||||
PM1.0 | µg/m³ | Ultrafine particulate matter |
|
||||
PM2.5 | µg/m³ | Fine particulate matter |
|
||||
PM10 | µg/m³ | Coarse particulate matter |
|
||||
CO₂ | ppm | Carbon dioxide concentration |
|
||||
|
||||
CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
|
||||
|
||||
|
||||
@@ -104,11 +104,11 @@ Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and
|
||||
|
||||
Some units are international standards and are displayed the same way regardless of your locale:
|
||||
|
||||
Measurement | Unit | Why |
|
||||
Measurement | Единица | Why |
|
||||
-------------------------------- | ------------------------------ | ------------------------------------- |
|
||||
Barometric pressure | hPa | International meteorological standard |
|
||||
Heading / bearing | ° (degrees) | Universal navigation convention |
|
||||
Радиация | µR/h | Standard dosimetry unit |
|
||||
Радиация | µR/h | Стандартна дозиметрична единица |
|
||||
GPS coordinates | decimal degrees | Universal geographic standard |
|
||||
Humidity, battery, soil moisture | % | Universal |
|
||||
|
||||
|
||||
+2
-2
@@ -86,11 +86,11 @@
|
||||
{"id":"node-metrics","title":"Node Metrics","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "viewing", "air", "quality", "signal", "reference", "reading", "traceroute", "results", "neighbor", "info", "host", "pax"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":12770},
|
||||
{"id":"nodes","title":"Възли","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/nodes.html","navOrder":4,"keywords":["node", "list", "choosing", "what", "the", "shows", "status", "indicators", "roles", "role", "security", "quick", "actions", "sharing", "contact", "filtering", "sorting", "text", "search", "filter", "toggles", "nodes", "not", "heard", "your", "current", "settings", "sort", "options", "per"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":23378},
|
||||
{"id":"onboarding","title":"Първи стъпки","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/onboarding.html","navOrder":1,"keywords":["first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "reviewing", "later", "after", "setup"],"aliases":["first-launch", "setup", "intro"],"charCount":8480},
|
||||
{"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "mqtt", "module", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "status", "mesh", "beacon", "tak", "device"],"aliases":["modules", "module-config", "administration"],"charCount":33988},
|
||||
{"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "mqtt", "module", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "status", "mesh", "beacon", "tak", "device"],"aliases":["modules", "module-config", "administration"],"charCount":33997},
|
||||
{"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "how", "these", "screens", "work", "profile", "applying", "changes", "lora", "modem", "presets", "bluetooth", "related", "topics"],"aliases":["настройки", "radio-config", "user-config", "lora"],"charCount":42651},
|
||||
{"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "rssi", "and", "snr", "decoding", "below", "noise", "floor", "rating", "quality", "diagnosing", "local", "interference", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5297},
|
||||
{"id":"tak","title":"TAK Integration","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/tak.html","navOrder":10,"keywords":["tak", "integration", "setup", "prerequisites", "local", "server", "roles", "cot", "cursor", "target", "format", "wire", "usage", "with", "atak", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":10741},
|
||||
{"id":"telemetry-and-sensors","title":"Telemetry and sensors","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/telemetry-and-sensors.html","navOrder":999,"keywords":["telemetry", "and", "sensors", "device", "weather", "other", "readings", "configuring", "choosing", "interval", "air", "quality", "metrics", "viewing", "related", "topics"],"aliases":[],"charCount":12674},
|
||||
{"id":"telemetry-and-sensors","title":"Telemetry and sensors","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/telemetry-and-sensors.html","navOrder":999,"keywords":["telemetry", "and", "sensors", "device", "weather", "other", "readings", "configuring", "choosing", "interval", "air", "quality", "metrics", "viewing", "related", "topics"],"aliases":[],"charCount":12686},
|
||||
{"id":"translate","title":"Преведете приложението","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/translate.html","navOrder":17,"keywords":["what", "gets", "translated", "translation", "guidelines"],"aliases":["translate", "crowdin", "localization"],"charCount":5560},
|
||||
{"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "the", "radio", "own", "screen", "separate", "distance", "altitude", "where", "these", "appear", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "overriding", "app"],"aliases":["measurement", "units", "locale", "metric", "imperial"],"charCount":9919},
|
||||
{"id":"widget","title":"Home Screen Widget","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":2646},
|
||||
|
||||
Reference in new issue
Block a user