Merge branch 'master' into topography

This commit is contained in:
Ben Lipsey 2023-11-26 21:56:32 -08:00 committed by GitHub
commit df582f704f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
45 changed files with 2776 additions and 2125 deletions

View file

@ -21,8 +21,5 @@ jobs:
- name: Install Dependencies
run: pnpm install
- name: Trunk Check
uses: trunk-io/trunk-action@v1
- name: Build Site
run: pnpm build

View file

@ -1,27 +0,0 @@
name: Nightly
on:
schedule:
- cron: 0 8 * * 1-5
workflow_dispatch: {}
jobs:
trunk_check:
name: Trunk Check Upload
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup pnpm
uses: pnpm/action-setup@v2.2.1
with:
version: latest
- name: Install Dependencies
run: pnpm install
- name: Trunk Check
uses: trunk-io/trunk-action@v1
with:
trunk-token: ${{ secrets.TRUNK_TOKEN }}

7
.trunk/.gitignore vendored
View file

@ -1,7 +0,0 @@
*out
*logs
*actions
*notifications
plugins
user_trunk.yaml
user.yaml

View file

@ -1,10 +0,0 @@
# Autoformatter friendly markdownlint config (all formatting rules disabled)
default: true
blank_lines: false
bullet: false
html: false
indentation: false
line_length: false
spaces: false
url: false
whitespace: false

View file

@ -1,7 +0,0 @@
enable=all
source-path=SCRIPTDIR
disable=SC2154
# If you're having issues with shellcheck following source, disable the errors via:
# disable=SC1090
# disable=SC1091

View file

@ -1,23 +0,0 @@
{
"$schema": "./node_modules/rome/configuration_schema.json",
"formatter": {
"enabled": true,
"indentStyle": "space",
"indentSize": 2
},
"linter": {
"enabled": true,
"rules": {
"recommended": true
}
},
"organizeImports": {
"enabled": true
},
"files": {
"ignore": [
"node_modules",
"dist"
]
}
}

View file

@ -1,14 +0,0 @@
module.exports = {
plugins: [
{
name: "preset-default",
params: {
overrides: {
removeViewBox: false, // https://github.com/svg/svgo/issues/1128
sortAttrs: true,
removeOffCanvasPaths: true,
},
},
},
],
};

View file

@ -1,25 +0,0 @@
version: 0.1
cli:
version: 1.3.1
plugins:
sources:
- id: trunk
ref: v0.0.8
uri: https://github.com/trunk-io/plugins
lint:
disabled:
- eslint
- prettier
enabled:
- rome@12.0.0
- markdownlint@0.33.0
- actionlint@1.6.22
- gitleaks@8.15.2
- git-diff-check
- shellcheck@0.9.0
- shfmt@3.5.0
- svgo@3.0.2
runtimes:
enabled:
- go@1.18.3
- node@18.12.1

View file

@ -1,3 +1,3 @@
{
"recommendations": ["trunk.io"]
"recommendations": ["biomejs.biome"]
}

10
.vscode/settings.json vendored
View file

@ -1,10 +1,4 @@
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "trunk.io",
"files.associations": {
"*.mdx": "markdown"
},
"[typescriptreact]": {
"editor.defaultFormatter": "rome.rome"
}
"editor.defaultFormatter": "biomejs.biome",
"editor.formatOnSave": true
}

18
biome.json Normal file
View file

@ -0,0 +1,18 @@
{
"$schema": "https://biomejs.dev/schemas/1.3.3/schema.json",
"formatter": {
"enabled": true,
"indentStyle": "space",
"indentWidth": 2
},
"organizeImports": {
"enabled": true
},
"linter": {
"enabled": true,
"rules": {
"all": true
}
}
}

View file

@ -51,7 +51,6 @@ The Meshtastic App on Apple Clients require the following minimum OS versions: i
See [Apple Apps](/docs/software/apple/installation)
<!-- trunk-ignore(markdownlint/MD024) -->
### After a fresh firmware install, my node is not connecting via Bluetooth. What should I do?
Try forgetting the Bluetooth connection from the iOS/iPadOS/macOS System Settings. Re-pair and try again. This is a security measure and there is no workaround for it. It prevents apps and other accessories from spoofing an existing accessory by un-pairing and "re-pairing" themselves without the users' knowledge.
@ -112,7 +111,6 @@ Updating firmware varies with hardware. See [Flashing Firmware](/docs/getting-st
The LoRa radio on the node is still active and will wake up the CPU when the device is sleeping. If your phone is in range, the node will relay any messages your phone may have missed. If you're in range and your device is active, messages have not been lost.
<!-- trunk-ignore(markdownlint/MD026) -->
### My device has gone to sleep and I can't send any messages.
Once the node wakes up from sleep, your phone will relay any delayed messages through your node and to the mesh network. Give it a few minutes and it'll do the right thing.

View file

@ -146,11 +146,11 @@ values={[
Navigate to: Vertical Ellipsis (3 dots top right) > Radio configuration > MQTT: Turn on the slider for **MQTT enabled** and tap **Send**.
[![MQTT Settings](/img/modules/mqtt/android_mqtt_sm.png)](/img/modules/mqtt/android_mqtt.png)
[![MQTT Settings](/img/modules/mqtt/android_mqtt_encryption_sm.png)](/img/modules/mqtt/android_mqtt_encryption.png)
*Optional:* To use your phone's internet connection to send and receive packets over the web, also enable the slider for **MQTT Client Proxy** and skip the Configure Network Settings step below.
[![Client Proxy](/img/modules/mqtt/android_mqtt_proxy_sm.png)](/img/modules/mqtt/android_mqtt_proxy.png)
[![Client Proxy](/img/modules/mqtt/android_mqtt_proxy_sm.png)](/img/modules/mqtt/android_mqtt_proxy_encryption.png)
<h3>2. Enable Channel Uplink & Downlink</h3>
@ -171,12 +171,12 @@ Navigate to: Vertical Ellipsis (3 dots top right) > Radio configuration > Networ
Navigate to Settings > MQTT: Turn on the slider for MQTT enabled and tap **Save**
[![MQTT Settings 1](/img/modules/mqtt/apple_mqtt_1_sm.png)](/img/modules/mqtt/apple_mqtt_1.png)
[![MQTT Settings 1](/img/modules/mqtt/apple_mqtt_1_encryption_sm.png)](/img/modules/mqtt/apple_mqtt_1_encryption.png)
[![MQTT Settings 2](/img/modules/mqtt/apple_mqtt_2_sm.png)](/img/modules/mqtt/apple_mqtt_2.png)
*Optional:* To use your phone's internet connection to send and receive packets over the web, also enable the slider for **MQTT Client Proxy** and skip the Configure Network Settings step below.
[![Client Proxy](/img/modules/mqtt/apple_mqtt_1_proxy_sm.png)](/img/modules/mqtt/apple_mqtt_1_proxy.png)
[![Client Proxy](/img/modules/mqtt/apple_mqtt_1_proxy_sm.png)](/img/modules/mqtt/apple_mqtt_1_proxy_encryption.png)
<h3>2. Enable Channel Uplink & Downlink</h3>
@ -231,11 +231,11 @@ meshtastic --set network.wifi_enabled true --set network.wifi_ssid "your network
Navigate to Config > Module Config > MQTT - Turn on the slider for MQTT enabled - Click the **Save** icon.
[![MQTT Settings](/img/modules/mqtt/web_mqtt_sm.png)](/img/modules/mqtt/web_mqtt.png)
[![MQTT Settings](/img/modules/mqtt/web_mqtt_encryption_sm.png)](/img/modules/mqtt/web_mqtt_encryption.png)
*Optional:* To use your client's internet connection to send and receive packets over the web, also enable the slider for **Proxy to Client Enabled** and skip the Configure Network Settings step below.
[![Client Proxy](/img/modules/mqtt/web_mqtt_proxy_sm.png)](/img/modules/mqtt/web_mqtt_proxy.png)
[![Client Proxy](/img/modules/mqtt/web_mqtt_proxy_sm.png)](/img/modules/mqtt/web_mqtt_proxy_encryption.png)
:::caution

View file

@ -153,7 +153,6 @@ meshtastic --ch-set name "My Channel" --ch-set psk random --ch-set uplink_enable
:::
<!-- trunk-ignore(markdownlint/MD024) -->
### Name
```shell title="Set channel name for the PRIMARY channel"
@ -162,7 +161,7 @@ meshtastic --ch-set name MyChannel --ch-index 0
# with spaces
meshtastic --ch-set name "My Channel" --ch-index 0
```
<!-- trunk-ignore(markdownlint/MD024) -->
### PSK
If you use Meshtastic for exchanging messages you don't want other people to see, `random` is the setting you should use. Selecting `default` or any of the `simple` values from the following table will use publicly known encryption keys. They're shipped with Meshtastic source code and thus, anyone can listen to messages encrypted by them. They're great for testing and public channels.

View file

@ -21,7 +21,7 @@ ESP32 devices have the ability to connect to WiFi as a client. SoftAP mode is no
The NTP server used if IP networking is available.
Set to `0.pool.ntp.org` by default. (Max Length: 33)
Set to `0.pool.ntp.org` by default. (Max Length: 32)
### WiFi Enabled
@ -33,7 +33,7 @@ Set to `false` (Disabled) by default.
This is your WiFi Network's SSID.
Empty `""` by default. (Case Sensitive, Max Length: 33)
Empty `""` by default. (Case Sensitive, Max Length: 32)
### WiFi PSK

View file

@ -76,7 +76,7 @@ For this step you need physical access to both the nodes.
```shell
meshtastic --seturl the-url-from-step-2
```
<!-- trunk-ignore(markdownlint/MD029) -->
5. Run `meshtastic --info` and confirm that the "Complete URL" is the same for both of the nodes.
At this point you can take your remote node and install it far away. You will still be able to change any of its settings.

View file

@ -214,14 +214,12 @@ values={[
</TabItem>
<TabItem value="macos">
<!-- trunk-ignore(markdownlint/MD024) -->
#### Install
```shell title="Command"
./device-install.sh -f firmware-BOARD-VERSION.bin
```
<!-- trunk-ignore(markdownlint/MD024) -->
#### Update
```shell title="Command"
@ -231,14 +229,12 @@ values={[
</TabItem>
<TabItem value="windows">
<!-- trunk-ignore(markdownlint/MD024) -->
#### Install
```shell title="Command"
device-install.bat -f firmware-BOARD-VERSION.bin
```
<!-- trunk-ignore(markdownlint/MD024) -->
#### Update
```shell title="Command"

View file

@ -69,7 +69,6 @@ This device may have issues charging a connected battery if utilizing a USB-C to
- Dedicated 2.4 GHz metal spring antenna for WiFi/Bluetooth
- U.FL/IPEX antenna connector for LoRa
<!-- trunk-ignore(markdownlint/MD024) -->
## Features
- Built in 0.96 inch OLED display
@ -82,7 +81,6 @@ This device may have issues charging a connected battery if utilizing a USB-C to
Image Source: [Heltec](https://resource.heltec.cn/download/WiFi_LoRa32_V3/HTIT-WB32LA(F)_V3.png)
<!-- trunk-ignore(markdownlint/MD024) -->
## Resources
- Firmware file: `firmware-heltec-v3-X.X.X.xxxxxxx.bin`
@ -111,7 +109,6 @@ This device may have issues charging a connected battery if utilizing a USB-C to
- Dedicated 2.4 GHz stamped metal antenna for WiFi/Bluetooth
- U.FL/IPEX antenna connector for LoRa
<!-- trunk-ignore(markdownlint/MD024) -->
## Features
- No display.
@ -123,14 +120,12 @@ This device may have issues charging a connected battery if utilizing a USB-C to
- SCL: GPIO47
- SDA: GPIO48
<!-- trunk-ignore(markdownlint/MD024) -->
### Pin Map
![HTIT-WSL_V3_PIN_MAP](/img/hardware/HTIT-WSL_V3_PIN_MAP.png)
Image Source: [Heltec](https://resource.heltec.cn/download/Wireless_Stick_Lite_V3/HTIT-WSL_V3.png)
<!-- trunk-ignore(markdownlint/MD024) -->
## Resources
- Firmware file: `firmware-heltec-wsl-v3-X.X.X.xxxxxxx.bin`
@ -158,20 +153,17 @@ This device may have issues charging a connected battery if utilizing a USB-C to
- Dedicated 2.4 GHz metal spring antenna for WiFi/Bluetooth
- U.FL/IPEX antenna connector for LoRa and GNSS
<!-- trunk-ignore(markdownlint/MD024) -->
## Features
- Onboard 0.96-inch LCD display
- User and Reset Buttons
<!-- trunk-ignore(markdownlint/MD024) -->
## Pin Map
![HT-Tracker_V1 Pin Map](/img/hardware/HT-Tracker_V1_Pin_Map.png)
Image Source: [Heltec](https://heltec.org/project/wireless-tracker/)
<!-- trunk-ignore(markdownlint/MD024) -->
## Resources
- Firmware file: `firmware-heltec-wireless-tracker-X.X.X.xxxxxxx.bin`
@ -199,14 +191,12 @@ This device may have issues charging a connected battery if utilizing a USB-C to
- U.FL/IPEX antenna connector for LoRa
- Integrated 2.4 GHz PCB antenna
<!-- trunk-ignore(markdownlint/MD024) -->
## Features
- Onboard 2.13-inch black and white E-Ink display screen
- User and Reset switches
- No GPS
<!-- trunk-ignore(markdownlint/MD024) -->
## Resources
- Firmware file: `firmware-heltec-wireless-paper-X.X.X.xxxxxxx.bin`

View file

@ -77,14 +77,12 @@ This is an earlier version of the T-Beam board. Due to changes in the design thi
- Micro USB
- Antenna: SMA antenna connector
<!-- trunk-ignore(markdownlint/MD024) -->
## Features
- Meshtastic preinstalled
- Power, Program and Reset switches
- **Comes with 0.96 inch OLED display** (soldering required to assemble)
<!-- trunk-ignore(markdownlint/MD024) -->
## Resources
- Firmware file: `firmware-tbeam-X.X.X.xxxxxxx.bin`
@ -113,14 +111,12 @@ This is an earlier version of the T-Beam board. Due to changes in the design thi
- Micro USB
- Antenna: U.FL antenna connector
<!-- trunk-ignore(markdownlint/MD024) -->
## Features
- Meshtastic preinstalled
- Power, Program and Reset switches
- Screen sold separately
<!-- trunk-ignore(markdownlint/MD024) -->
## Resources
- Firmware file: `firmware-tbeam-X.X.X.xxxxxxx.bin`
@ -147,14 +143,12 @@ This is an earlier version of the T-Beam board. Due to changes in the design thi
- Micro USB
- Antenna: U.FL antenna connector
<!-- trunk-ignore(markdownlint/MD024) -->
## Features
- Meshtastic preinstalled
- Power, Program and Reset switches
- Screen sold separately
<!-- trunk-ignore(markdownlint/MD024) -->
## Resources
- Firmware file: `firmware-tbeam-X.X.X.xxxxxxx.bin`
@ -181,14 +175,12 @@ This is an earlier version of the T-Beam board. Due to changes in the design thi
- USB-C
- Antenna: U.FL antenna connector
<!-- trunk-ignore(markdownlint/MD024) -->
## Features
- SoftRF preinstalled (flashing to Meshtastic required)
- Boot and Reset switches
- Can be used standalone without 'Supreme' daughterboard in a headless configuration
<!-- trunk-ignore(markdownlint/MD024) -->
## Resources
- Firmware file: `firmware-tbeam-s3-core-X.X.X.xxxxxxx.bin`
@ -214,7 +206,6 @@ This is an earlier version of the T-Beam board. Due to changes in the design thi
- USB-C
- Antenna: U.FL antenna connector
<!-- trunk-ignore(markdownlint/MD024) -->
## Features
- Includes T-Beam S3-Core Module
@ -227,7 +218,6 @@ This is an earlier version of the T-Beam board. Due to changes in the design thi
- PCF8563 RTC
- Micro-SD reader (not implemented in Meshtastic)
<!-- trunk-ignore(markdownlint/MD024) -->
## Resources
- Firmware file: `firmware-tbeam-s3-core-X.X.X.xxxxxxx.bin`

View file

@ -76,7 +76,6 @@ const config = {
},
algolia: {
appId: "IG2GQB8L3V",
// trunk-ignore(gitleaks/generic-api-key)
apiKey: "2e4348812173ec7ea6f7879c7032bb21",
indexName: "meshtastic",
contextualSearch: false,

View file

@ -13,32 +13,33 @@
},
"dependencies": {
"@algolia/client-search": "^4.20.0",
"@docusaurus/core": "3.0.0-alpha.0",
"@docusaurus/plugin-content-docs": "3.0.0-alpha.0",
"@docusaurus/preset-classic": "3.0.0-alpha.0",
"@docusaurus/theme-common": "3.0.0-alpha.0",
"@docusaurus/theme-mermaid": "3.0.0-alpha.0",
"@docusaurus/core": "3.0.0",
"@docusaurus/plugin-content-docs": "3.0.0",
"@docusaurus/preset-classic": "3.0.0",
"@docusaurus/theme-common": "3.0.0",
"@docusaurus/theme-mermaid": "3.0.0",
"@heroicons/react": "^2.0.18",
"@mdx-js/react": "^2.3.0",
"@meshtastic/meshtasticjs": "2.2.9-0",
"@mdx-js/react": "^3.0.0",
"@meshtastic/meshtasticjs": "2.2.13-1",
"autoprefixer": "^10.4.16",
"base64-js": "^1.5.1",
"clsx": "^2.0.0",
"dotenv": "^16.3.1",
"postcss": "^8.4.31",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-icons": "^4.11.0",
"react-icons": "^4.12.0",
"swr": "^2.2.4",
"tailwindcss": "^3.3.3"
"tailwindcss": "^3.3.5"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "3.0.0-alpha.0",
"@docusaurus/module-type-aliases": "3.0.0",
"@tailwindcss/typography": "^0.5.10",
"@tsconfig/docusaurus": "^2.0.1",
"@types/node": "^20.8.0",
"@types/react": "^18.2.24",
"@types/react-dom": "^18.2.8",
"rome": "^12.1.3",
"typescript": "^5.2.2"
"@tsconfig/docusaurus": "^2.0.2",
"@types/node": "^20.9.3",
"@types/react": "^18.2.38",
"@types/react-dom": "^18.2.16",
"biome": "^0.3.3",
"typescript": "^5.3.2"
}
}

File diff suppressed because it is too large Load diff

View file

@ -1,2 +0,0 @@
/// <reference types="react" />
export default function NotFound(): JSX.Element;

View file

@ -1,33 +0,0 @@
import Translate, { translate } from "@docusaurus/Translate";
import { PageMetadata } from "@docusaurus/theme-common";
import Layout from "@theme/Layout";
import React from "react";
export default function NotFound() {
return (
<>
<PageMetadata
title={translate({
id: "theme.NotFound.title",
message: "Page Not Found",
})}
/>
<Layout>
<main className="container margin-vert--xl">
<div className="row">
<div className="col col--6 col--offset-3">
<h1 className="hero__title text-center mb-8">
<Translate
id="theme.NotFound.title"
description="The title of the 404 page"
>
404 - Page Not Found
</Translate>
</h1>
<img src="/design/chirpy.png" alt='Chirpy' />
</div>
</div>
</main>
</Layout>
</>
);
}

View file

@ -0,0 +1,37 @@
import React from 'react';
import clsx from 'clsx';
import Translate from '@docusaurus/Translate';
import Heading from '@theme/Heading';
export default function NotFoundContent({className}) {
return (
<main className={clsx('container margin-vert--xl', className)}>
<div className="row">
<div className="col col--6 col--offset-3">
<Heading as="h1" className="hero__title">
<Translate
id="theme.NotFound.title"
description="The title of the 404 page">
Page Not Found
</Translate>
</Heading>
<p>
<Translate
id="theme.NotFound.p1"
description="The first paragraph of the 404 page">
We could not find what you were looking for.
</Translate>
</p>
<p>
<Translate
id="theme.NotFound.p2"
description="The 2nd paragraph of the 404 page">
Please contact the owner of the site that linked you to the
original URL and let them know their link is broken.
</Translate>
</p>
<img src="/design/chirpy.png" alt='Chirpy' />
</div>
</div>
</main>
);
}

View file

@ -0,0 +1,19 @@
import React from 'react';
import {translate} from '@docusaurus/Translate';
import {PageMetadata} from '@docusaurus/theme-common';
import Layout from '@theme/Layout';
import NotFoundContent from '@theme/NotFound/Content';
export default function Index() {
const title = translate({
id: 'theme.NotFound.title',
message: 'Page Not Found',
});
return (
<>
<PageMetadata title={title} />
<Layout>
<NotFoundContent />
</Layout>
</>
);
}

View file

@ -0,0 +1,14 @@
[
{
"relation": [
"delegate_permission/common.handle_all_urls"
],
"target": {
"namespace": "android_app",
"package_name": "com.geeksville.mesh",
"sha256_cert_fingerprints": [
"42:17:52:DC:57:40:38:B5:6B:86:61:1C:2F:47:DB:2B:0F:A2:EA:59:E1:18:9C:AA:90:8D:37:D6:CD:40:0E:BB"
]
}
}
]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 711 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 714 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB