mirror of
https://github.com/meshtastic/meshtastic.git
synced 2025-03-05 21:00:08 -08:00
Merge branch 'master' into jsonChannel
This commit is contained in:
commit
9fd0b78abc
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
|
@ -19,7 +19,7 @@ jobs:
|
|||
version: latest
|
||||
|
||||
- name: Run Biome
|
||||
run: biome ci .
|
||||
run: biome ci . --diagnostic-level=error
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
"enabled": true
|
||||
},
|
||||
"files": {
|
||||
"ignoreUnknown": true
|
||||
"ignoreUnknown": true,
|
||||
"ignore": ["*.json"]
|
||||
},
|
||||
"vcs": {
|
||||
"enabled": true,
|
||||
|
|
|
@ -21,6 +21,10 @@ us on [Discord](https://discord.com/invite/ktMAKGBnBs) to add your group.
|
|||
- [YYC Mesh](https://yycmesh.com/)
|
||||
|
||||
## United States
|
||||
|
||||
### Arkansas
|
||||
- [Fort Smith Mesh](https://discord.com/invite/nwsvcXeqMX)
|
||||
|
||||
### California
|
||||
- [SoCal Mesh](https://socalmesh.org)
|
||||
- [Laguna Mesh](https://lagunamesh.com)
|
||||
|
@ -28,6 +32,9 @@ us on [Discord](https://discord.com/invite/ktMAKGBnBs) to add your group.
|
|||
- [Bay Area Mesh](https://canvis.app/z2k8a8)
|
||||
- [San Diego Mesh](https://discord.gg/HzE248x2)
|
||||
|
||||
### Colorado
|
||||
- [Denver Mesh](https://denvermesh.org)
|
||||
|
||||
### Hawaii
|
||||
- [Hawaii Meshnet](https://www.hawaiimesh.net/)
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
"tailwindcss": "^3.4.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "^1.5.0",
|
||||
"@biomejs/biome": "^1.5.3",
|
||||
"@buf/meshtastic_protobufs.bufbuild_es": "1.6.0-20240106203407-94f78518ac45.1",
|
||||
"@docusaurus/module-type-aliases": "3.1.0",
|
||||
"@tailwindcss/typography": "^0.5.10",
|
||||
|
|
|
@ -65,8 +65,8 @@ dependencies:
|
|||
|
||||
devDependencies:
|
||||
'@biomejs/biome':
|
||||
specifier: ^1.5.0
|
||||
version: 1.5.0
|
||||
specifier: ^1.5.3
|
||||
version: 1.5.3
|
||||
'@buf/meshtastic_protobufs.bufbuild_es':
|
||||
specifier: 1.6.0-20240106203407-94f78518ac45.1
|
||||
version: 1.6.0-20240106203407-94f78518ac45.1(@bufbuild/protobuf@1.6.0)
|
||||
|
@ -1551,24 +1551,24 @@ packages:
|
|||
to-fast-properties: 2.0.0
|
||||
dev: false
|
||||
|
||||
/@biomejs/biome@1.5.0:
|
||||
resolution: {integrity: sha512-ln+o5jbs109qpeDoA+5n+vlAPai3DhlK0tHtZXzQvu4tswFgxNiJCeIXmlW1DYHziTmtBImV3Y0uhbm2iVSE3Q==}
|
||||
/@biomejs/biome@1.5.3:
|
||||
resolution: {integrity: sha512-yvZCa/g3akwTaAQ7PCwPWDCkZs3Qa5ONg/fgOUT9e6wAWsPftCjLQFPXBeGxPK30yZSSpgEmRCfpGTmVbUjGgg==}
|
||||
engines: {node: '>=14.*'}
|
||||
hasBin: true
|
||||
requiresBuild: true
|
||||
optionalDependencies:
|
||||
'@biomejs/cli-darwin-arm64': 1.5.0
|
||||
'@biomejs/cli-darwin-x64': 1.5.0
|
||||
'@biomejs/cli-linux-arm64': 1.5.0
|
||||
'@biomejs/cli-linux-arm64-musl': 1.5.0
|
||||
'@biomejs/cli-linux-x64': 1.5.0
|
||||
'@biomejs/cli-linux-x64-musl': 1.5.0
|
||||
'@biomejs/cli-win32-arm64': 1.5.0
|
||||
'@biomejs/cli-win32-x64': 1.5.0
|
||||
'@biomejs/cli-darwin-arm64': 1.5.3
|
||||
'@biomejs/cli-darwin-x64': 1.5.3
|
||||
'@biomejs/cli-linux-arm64': 1.5.3
|
||||
'@biomejs/cli-linux-arm64-musl': 1.5.3
|
||||
'@biomejs/cli-linux-x64': 1.5.3
|
||||
'@biomejs/cli-linux-x64-musl': 1.5.3
|
||||
'@biomejs/cli-win32-arm64': 1.5.3
|
||||
'@biomejs/cli-win32-x64': 1.5.3
|
||||
dev: true
|
||||
|
||||
/@biomejs/cli-darwin-arm64@1.5.0:
|
||||
resolution: {integrity: sha512-3+D7axf04dpadGMOaqb2q+zyQnhWW0o/Imt7TJBWsoE0N3/+28Wht8g3UEHHcUL5FPuGIfsE+NcYntBaaAsEIg==}
|
||||
/@biomejs/cli-darwin-arm64@1.5.3:
|
||||
resolution: {integrity: sha512-ImU7mh1HghEDyqNmxEZBoMPr8SxekkZuYcs+gynKlNW+TALQs7swkERiBLkG9NR0K1B3/2uVzlvYowXrmlW8hw==}
|
||||
engines: {node: '>=14.*'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
@ -1576,8 +1576,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@biomejs/cli-darwin-x64@1.5.0:
|
||||
resolution: {integrity: sha512-8k5aaLWE/B6ZAXLC+z/Vwh9ogyiSaiRIfvg+F9foxuneHl2R/D/2Iy7pvd3Yoi4Kf6/MBdowekPVezGP4/Kbcw==}
|
||||
/@biomejs/cli-darwin-x64@1.5.3:
|
||||
resolution: {integrity: sha512-vCdASqYnlpq/swErH7FD6nrFz0czFtK4k/iLgj0/+VmZVjineFPgevOb+Sr9vz0tk0GfdQO60bSpI74zU8M9Dw==}
|
||||
engines: {node: '>=14.*'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
@ -1585,8 +1585,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@biomejs/cli-linux-arm64-musl@1.5.0:
|
||||
resolution: {integrity: sha512-+1B3J8tWLTOvP3+00Cap+XhEXMvxwCHvVfuywUsB7Sqd66NWic3wKJuGbGcS3PuCWtGuIFsiQMNAGqiOXG4uBQ==}
|
||||
/@biomejs/cli-linux-arm64-musl@1.5.3:
|
||||
resolution: {integrity: sha512-DYuMizUYUBYfS0IHGjDrOP1RGipqWfMGEvNEJ398zdtmCKLXaUvTimiox5dvx4X15mBK5M2m8wgWUgOP1giUpQ==}
|
||||
engines: {node: '>=14.*'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
@ -1594,8 +1594,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@biomejs/cli-linux-arm64@1.5.0:
|
||||
resolution: {integrity: sha512-RiecxG71E1jnqiJZ3FaikVBDRkk2ohIxBo0O4o68g87y6Hug//G0S83sj6Wqyn8DgKMCRWQg+XYMgk5CwLVowA==}
|
||||
/@biomejs/cli-linux-arm64@1.5.3:
|
||||
resolution: {integrity: sha512-cupBQv0sNF1OKqBfx7EDWMSsKwRrBUZfjXawT4s6hKV6ALq7p0QzWlxr/sDmbKMLOaLQtw2Qgu/77N9rm+f9Rg==}
|
||||
engines: {node: '>=14.*'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
@ -1603,8 +1603,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@biomejs/cli-linux-x64-musl@1.5.0:
|
||||
resolution: {integrity: sha512-4S2rLluc0WT+XTbLTgcm9+5EEFwJmoGiUEzR6N0P2sIjZD8c5KNf9Ou46BP1Pdg5AgqV+IIClGPK1I80ApSh1Q==}
|
||||
/@biomejs/cli-linux-x64-musl@1.5.3:
|
||||
resolution: {integrity: sha512-UUHiAnlDqr2Y/LpvshBFhUYMWkl2/Jn+bi3U6jKuav0qWbbBKU/ByHgR4+NBxpKBYoCtWxhnmatfH1bpPIuZMw==}
|
||||
engines: {node: '>=14.*'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
@ -1612,8 +1612,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@biomejs/cli-linux-x64@1.5.0:
|
||||
resolution: {integrity: sha512-TlTsG+ptSmnDTUsAAYsXyGOXMcFiF8SiwhPdj4YsNkJRgx9M2curEVcTVm66FINIPK6VJTUcEDahFlx3NPUOzA==}
|
||||
/@biomejs/cli-linux-x64@1.5.3:
|
||||
resolution: {integrity: sha512-YQrSArQvcv4FYsk7Q91Yv4uuu5F8hJyORVcv3zsjCLGkjIjx2RhjYLpTL733SNL7v33GmOlZY0eFR1ko38tuUw==}
|
||||
engines: {node: '>=14.*'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
@ -1621,8 +1621,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@biomejs/cli-win32-arm64@1.5.0:
|
||||
resolution: {integrity: sha512-sWOi1SR+YqJuXElBncGRnWBR7IN7ni6GQY4Zm/vTpP6nVA0dX5C301eQUW1N/VnFQb6fyrJTcBslDUKyemsN/g==}
|
||||
/@biomejs/cli-win32-arm64@1.5.3:
|
||||
resolution: {integrity: sha512-HxatYH7vf/kX9nrD+pDYuV2GI9GV8EFo6cfKkahAecTuZLPxryHx1WEfJthp5eNsE0+09STGkKIKjirP0ufaZA==}
|
||||
engines: {node: '>=14.*'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
@ -1630,8 +1630,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@biomejs/cli-win32-x64@1.5.0:
|
||||
resolution: {integrity: sha512-OoqgUXyzmRwX466bklOsWS7WdcvWtBuxF94DXATNe7bUiBa2tlW8QX7VVZvPnMKH57E5J619AkB3b5fhzyUhXA==}
|
||||
/@biomejs/cli-win32-x64@1.5.3:
|
||||
resolution: {integrity: sha512-fMvbSouZEASU7mZH8SIJSANDm5OqsjgtVXlbUqxwed6BP7uuHRSs396Aqwh2+VoW8fwTpp6ybIUoC9FrzB0kyA==}
|
||||
engines: {node: '>=14.*'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import React from "react";
|
||||
import type React from "react";
|
||||
|
||||
export interface ColorModeProps {
|
||||
children: React.ReactNode;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import React from "react";
|
||||
import type React from "react";
|
||||
|
||||
import Layout from "@theme/Layout";
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import React from "react";
|
||||
import type React from "react";
|
||||
|
||||
import { FiExternalLink } from "react-icons/fi";
|
||||
|
||||
|
|
|
@ -2,11 +2,11 @@ import { Protobuf, Types } from "@meshtastic/js";
|
|||
import React, { useEffect } from "react";
|
||||
|
||||
interface Region {
|
||||
freq_start: number;
|
||||
freq_end: number;
|
||||
duty_cycle: number;
|
||||
freqStart: number;
|
||||
freqEnd: number;
|
||||
dutyCycle: number;
|
||||
spacing: number;
|
||||
power_limit: number;
|
||||
powerLimit: number;
|
||||
}
|
||||
|
||||
interface Modem {
|
||||
|
@ -22,181 +22,181 @@ const RegionData = new Map<
|
|||
[
|
||||
Protobuf.Config.Config_LoRaConfig_RegionCode.US,
|
||||
{
|
||||
freq_start: 902.0,
|
||||
freq_end: 928.0,
|
||||
duty_cycle: 100,
|
||||
freqStart: 902.0,
|
||||
freqEnd: 928.0,
|
||||
dutyCycle: 100,
|
||||
spacing: 0,
|
||||
power_limit: 30,
|
||||
powerLimit: 30,
|
||||
},
|
||||
],
|
||||
[
|
||||
Protobuf.Config.Config_LoRaConfig_RegionCode.EU_433,
|
||||
{
|
||||
freq_start: 433.0,
|
||||
freq_end: 434.0,
|
||||
duty_cycle: 10,
|
||||
freqStart: 433.0,
|
||||
freqEnd: 434.0,
|
||||
dutyCycle: 10,
|
||||
spacing: 0,
|
||||
power_limit: 12,
|
||||
powerLimit: 12,
|
||||
},
|
||||
],
|
||||
[
|
||||
Protobuf.Config.Config_LoRaConfig_RegionCode.EU_868,
|
||||
{
|
||||
freq_start: 869.4,
|
||||
freq_end: 869.65,
|
||||
duty_cycle: 10,
|
||||
freqStart: 869.4,
|
||||
freqEnd: 869.65,
|
||||
dutyCycle: 10,
|
||||
spacing: 0,
|
||||
power_limit: 27,
|
||||
powerLimit: 27,
|
||||
},
|
||||
],
|
||||
[
|
||||
Protobuf.Config.Config_LoRaConfig_RegionCode.CN,
|
||||
{
|
||||
freq_start: 470.0,
|
||||
freq_end: 510.0,
|
||||
duty_cycle: 100,
|
||||
freqStart: 470.0,
|
||||
freqEnd: 510.0,
|
||||
dutyCycle: 100,
|
||||
spacing: 0,
|
||||
power_limit: 19,
|
||||
powerLimit: 19,
|
||||
},
|
||||
],
|
||||
[
|
||||
Protobuf.Config.Config_LoRaConfig_RegionCode.JP,
|
||||
{
|
||||
freq_start: 920.8,
|
||||
freq_end: 927.8,
|
||||
duty_cycle: 100,
|
||||
freqStart: 920.8,
|
||||
freqEnd: 927.8,
|
||||
dutyCycle: 100,
|
||||
spacing: 0,
|
||||
power_limit: 16,
|
||||
powerLimit: 16,
|
||||
},
|
||||
],
|
||||
[
|
||||
Protobuf.Config.Config_LoRaConfig_RegionCode.ANZ,
|
||||
{
|
||||
freq_start: 915.0,
|
||||
freq_end: 928.0,
|
||||
duty_cycle: 100,
|
||||
freqStart: 915.0,
|
||||
freqEnd: 928.0,
|
||||
dutyCycle: 100,
|
||||
spacing: 0,
|
||||
power_limit: 30,
|
||||
powerLimit: 30,
|
||||
},
|
||||
],
|
||||
[
|
||||
Protobuf.Config.Config_LoRaConfig_RegionCode.RU,
|
||||
{
|
||||
freq_start: 868.7,
|
||||
freq_end: 869.2,
|
||||
duty_cycle: 100,
|
||||
freqStart: 868.7,
|
||||
freqEnd: 869.2,
|
||||
dutyCycle: 100,
|
||||
spacing: 0,
|
||||
power_limit: 20,
|
||||
powerLimit: 20,
|
||||
},
|
||||
],
|
||||
[
|
||||
Protobuf.Config.Config_LoRaConfig_RegionCode.KR,
|
||||
{
|
||||
freq_start: 920.0,
|
||||
freq_end: 923.0,
|
||||
duty_cycle: 100,
|
||||
freqStart: 920.0,
|
||||
freqEnd: 923.0,
|
||||
dutyCycle: 100,
|
||||
spacing: 0,
|
||||
power_limit: 0,
|
||||
powerLimit: 0,
|
||||
},
|
||||
],
|
||||
[
|
||||
Protobuf.Config.Config_LoRaConfig_RegionCode.TW,
|
||||
{
|
||||
freq_start: 920.0,
|
||||
freq_end: 925.0,
|
||||
duty_cycle: 100,
|
||||
freqStart: 920.0,
|
||||
freqEnd: 925.0,
|
||||
dutyCycle: 100,
|
||||
spacing: 0,
|
||||
power_limit: 0,
|
||||
powerLimit: 0,
|
||||
},
|
||||
],
|
||||
[
|
||||
Protobuf.Config.Config_LoRaConfig_RegionCode.IN,
|
||||
{
|
||||
freq_start: 865.0,
|
||||
freq_end: 867.0,
|
||||
duty_cycle: 100,
|
||||
freqStart: 865.0,
|
||||
freqEnd: 867.0,
|
||||
dutyCycle: 100,
|
||||
spacing: 0,
|
||||
power_limit: 30,
|
||||
powerLimit: 30,
|
||||
},
|
||||
],
|
||||
[
|
||||
Protobuf.Config.Config_LoRaConfig_RegionCode.NZ_865,
|
||||
{
|
||||
freq_start: 864.0,
|
||||
freq_end: 868.0,
|
||||
duty_cycle: 100,
|
||||
freqStart: 864.0,
|
||||
freqEnd: 868.0,
|
||||
dutyCycle: 100,
|
||||
spacing: 0,
|
||||
power_limit: 36,
|
||||
powerLimit: 36,
|
||||
},
|
||||
],
|
||||
[
|
||||
Protobuf.Config.Config_LoRaConfig_RegionCode.TH,
|
||||
{
|
||||
freq_start: 920.0,
|
||||
freq_end: 925.0,
|
||||
duty_cycle: 100,
|
||||
freqStart: 920.0,
|
||||
freqEnd: 925.0,
|
||||
dutyCycle: 100,
|
||||
spacing: 0,
|
||||
power_limit: 16,
|
||||
powerLimit: 16,
|
||||
},
|
||||
],
|
||||
[
|
||||
Protobuf.Config.Config_LoRaConfig_RegionCode.UA_433,
|
||||
{
|
||||
freq_start: 433.0,
|
||||
freq_end: 434.7,
|
||||
duty_cycle: 10,
|
||||
freqStart: 433.0,
|
||||
freqEnd: 434.7,
|
||||
dutyCycle: 10,
|
||||
spacing: 0,
|
||||
power_limit: 10,
|
||||
powerLimit: 10,
|
||||
},
|
||||
],
|
||||
[
|
||||
Protobuf.Config.Config_LoRaConfig_RegionCode.UA_868,
|
||||
{
|
||||
freq_start: 868.0,
|
||||
freq_end: 868.6,
|
||||
duty_cycle: 1,
|
||||
freqStart: 868.0,
|
||||
freqEnd: 868.6,
|
||||
dutyCycle: 1,
|
||||
spacing: 0,
|
||||
power_limit: 14,
|
||||
powerLimit: 14,
|
||||
},
|
||||
],
|
||||
[
|
||||
Protobuf.Config.Config_LoRaConfig_RegionCode.MY_433,
|
||||
{
|
||||
freq_start: 433.0,
|
||||
freq_end: 435.0,
|
||||
duty_cycle: 100,
|
||||
freqStart: 433.0,
|
||||
freqEnd: 435.0,
|
||||
dutyCycle: 100,
|
||||
spacing: 0,
|
||||
power_limit: 20,
|
||||
powerLimit: 20,
|
||||
},
|
||||
],
|
||||
[
|
||||
Protobuf.Config.Config_LoRaConfig_RegionCode.MY_919,
|
||||
{
|
||||
freq_start: 919.0,
|
||||
freq_end: 924.0,
|
||||
duty_cycle: 100,
|
||||
freqStart: 919.0,
|
||||
freqEnd: 924.0,
|
||||
dutyCycle: 100,
|
||||
spacing: 0,
|
||||
power_limit: 27,
|
||||
powerLimit: 27,
|
||||
},
|
||||
],
|
||||
[
|
||||
Protobuf.Config.Config_LoRaConfig_RegionCode.LORA_24,
|
||||
{
|
||||
freq_start: 2400.0,
|
||||
freq_end: 2483.5,
|
||||
duty_cycle: 100,
|
||||
freqStart: 2400.0,
|
||||
freqEnd: 2483.5,
|
||||
dutyCycle: 100,
|
||||
spacing: 0,
|
||||
power_limit: 10,
|
||||
powerLimit: 10,
|
||||
},
|
||||
],
|
||||
[
|
||||
Protobuf.Config.Config_LoRaConfig_RegionCode.UNSET,
|
||||
{
|
||||
freq_start: 902.0,
|
||||
freq_end: 928.0,
|
||||
duty_cycle: 100,
|
||||
freqStart: 902.0,
|
||||
freqEnd: 928.0,
|
||||
dutyCycle: 100,
|
||||
spacing: 0,
|
||||
power_limit: 30,
|
||||
powerLimit: 30,
|
||||
},
|
||||
],
|
||||
]);
|
||||
|
@ -290,7 +290,7 @@ export const FrequencyCalculator = (): JSX.Element => {
|
|||
const selectedRegion = RegionData.get(region);
|
||||
const selectedModemPreset = modemPresets.get(modemPreset);
|
||||
const calculatedNumChannels = Math.floor(
|
||||
(selectedRegion.freq_end - selectedRegion.freq_start) /
|
||||
(selectedRegion.freqEnd - selectedRegion.freqStart) /
|
||||
(selectedRegion.spacing + selectedModemPreset.bw / 1000),
|
||||
);
|
||||
|
||||
|
@ -304,7 +304,7 @@ export const FrequencyCalculator = (): JSX.Element => {
|
|||
setChannel(updatedChannel);
|
||||
|
||||
setChannelFrequency(
|
||||
selectedRegion.freq_start +
|
||||
selectedRegion.freqStart +
|
||||
selectedModemPreset.bw / 2000 +
|
||||
updatedChannel * (selectedModemPreset.bw / 1000),
|
||||
);
|
||||
|
@ -318,7 +318,7 @@ export const FrequencyCalculator = (): JSX.Element => {
|
|||
value={modemPreset}
|
||||
onChange={(e) =>
|
||||
setModemPreset(
|
||||
parseInt(
|
||||
Number.parseInt(
|
||||
e.target.value,
|
||||
) as Protobuf.Config.Config_LoRaConfig_ModemPreset,
|
||||
)
|
||||
|
@ -335,7 +335,7 @@ export const FrequencyCalculator = (): JSX.Element => {
|
|||
<label>Region:</label>
|
||||
<select
|
||||
value={region}
|
||||
onChange={(e) => setRegion(parseInt(e.target.value))}
|
||||
onChange={(e) => setRegion(Number.parseInt(e.target.value))}
|
||||
>
|
||||
{Array.from(RegionData.keys()).map((key) => (
|
||||
<option key={key} value={key}>
|
||||
|
@ -348,7 +348,7 @@ export const FrequencyCalculator = (): JSX.Element => {
|
|||
<label>Channel:</label>
|
||||
<select
|
||||
value={channel}
|
||||
onChange={(e) => setChannel(parseInt(e.target.value))}
|
||||
onChange={(e) => setChannel(Number.parseInt(e.target.value))}
|
||||
>
|
||||
{Array.from(Array(numChannels).keys()).map((key) => (
|
||||
<option key={key} value={key}>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { DeviceFirmwareResource } from "../../../utils/apiTypes";
|
||||
import type { DeviceFirmwareResource } from "../../../utils/apiTypes";
|
||||
|
||||
export interface releaseCardProps {
|
||||
variant: string;
|
||||
|
@ -66,7 +66,9 @@ export const PlaceholderFirmwareCard = (): JSX.Element => {
|
|||
<div className="rounded-md bg-gray-500 w-32 h-4" />
|
||||
</div>
|
||||
<div className="card__body rounded-md bg-gray-500 h-12" />
|
||||
<a className="button disabled button--primary button--block"> </a>
|
||||
<span className="button disabled button--primary button--block" href="#">
|
||||
|
||||
</span>
|
||||
<div className="rounded-md bg-gray-500 w-32 h-8" />
|
||||
<div className="rounded-md bg-gray-500 w-44 h-4" />
|
||||
<div className="rounded-md bg-gray-500 w-36 h-4" />
|
||||
|
|
|
@ -10,7 +10,7 @@ import {
|
|||
} from "@heroicons/react/24/solid";
|
||||
import Layout from "@theme/Layout";
|
||||
|
||||
import { FirmwareReleases } from "../../utils/apiTypes";
|
||||
import type { FirmwareReleases } from "../../utils/apiTypes";
|
||||
import { fetcher } from "../../utils/swr";
|
||||
import {
|
||||
FirmwareCard,
|
||||
|
@ -63,7 +63,8 @@ const Firmware = (): JSX.Element => {
|
|||
<div className="card__body">
|
||||
<p>
|
||||
Devices such as T-Echo, RAK4631, and RAK11300 are flashed via
|
||||
filesystem. Use the web flasher to download applicable firmware.
|
||||
filesystem. Use the web flasher to download applicable
|
||||
firmware.
|
||||
</p>
|
||||
</div>
|
||||
<div className="card__footer mt-auto">
|
||||
|
|
|
@ -4,7 +4,10 @@ import useBaseUrl from "@docusaurus/useBaseUrl";
|
|||
import useDocusaurusContext from "@docusaurus/useDocusaurusContext";
|
||||
import Layout from "@theme/Layout";
|
||||
|
||||
import { SocialCard, SocialCardProps } from "../components/homepage/SocialCard";
|
||||
import {
|
||||
SocialCard,
|
||||
type SocialCardProps,
|
||||
} from "../components/homepage/SocialCard";
|
||||
|
||||
const SocialCards: SocialCardProps[] = [
|
||||
{
|
||||
|
|
|
@ -85,7 +85,7 @@ const OEM = (): JSX.Element => {
|
|||
<span>Font</span>
|
||||
<select
|
||||
onChange={(e) => {
|
||||
setOemFont(parseInt(e.target.value));
|
||||
setOemFont(Number.parseInt(e.target.value));
|
||||
}}
|
||||
>
|
||||
{enumOptions.map(([name, value]) => (
|
||||
|
@ -102,7 +102,7 @@ const OEM = (): JSX.Element => {
|
|||
readFile(e.target.files[0]).then((data) => {
|
||||
setOemIconBits(
|
||||
new Uint8Array(
|
||||
data.split(",").map((s) => parseInt(s.trim(), 16)),
|
||||
data.split(",").map((s) => Number.parseInt(s.trim(), 16)),
|
||||
),
|
||||
);
|
||||
});
|
||||
|
@ -113,7 +113,7 @@ const OEM = (): JSX.Element => {
|
|||
type="number"
|
||||
name="oemIconHeight"
|
||||
onChange={(e) => {
|
||||
setOemIconHeight(parseInt(e.target.value));
|
||||
setOemIconHeight(Number.parseInt(e.target.value));
|
||||
}}
|
||||
/>
|
||||
<span>Logo Width</span>
|
||||
|
@ -121,7 +121,7 @@ const OEM = (): JSX.Element => {
|
|||
type="number"
|
||||
name="oemIconWidth"
|
||||
onChange={(e) => {
|
||||
setOemIconWidth(parseInt(e.target.value));
|
||||
setOemIconWidth(Number.parseInt(e.target.value));
|
||||
}}
|
||||
/>
|
||||
<span>Boot Text</span>
|
||||
|
@ -132,7 +132,7 @@ const OEM = (): JSX.Element => {
|
|||
setOemText(e.target.value);
|
||||
}}
|
||||
/>
|
||||
<a
|
||||
<button
|
||||
className="cursor-pointer rounded-md bg-tertiary p-2 hover:brightness-90"
|
||||
download="OEM.bin"
|
||||
onClick={() => {
|
||||
|
@ -141,9 +141,10 @@ const OEM = (): JSX.Element => {
|
|||
});
|
||||
window.open(URL.createObjectURL(blob));
|
||||
}}
|
||||
type="button"
|
||||
>
|
||||
Download
|
||||
</a>
|
||||
</button>
|
||||
{oemBytes.toString()}
|
||||
</div>
|
||||
</Layout>
|
||||
|
|
|
@ -5,10 +5,10 @@ export default function calculateADC() {
|
|||
const batFullPercent = 1;
|
||||
//variable
|
||||
const batteryChargePercent =
|
||||
parseFloat(
|
||||
Number.parseFloat(
|
||||
(<HTMLInputElement>document.getElementById("batteryChargePercent")).value,
|
||||
) / 100;
|
||||
const operativeAdcMultiplier = parseFloat(
|
||||
const operativeAdcMultiplier = Number.parseFloat(
|
||||
(<HTMLInputElement>document.getElementById("operativeAdcMultiplier")).value,
|
||||
);
|
||||
const result =
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import typography from "@tailwindcss/typography";
|
||||
import type { Config } from "tailwindcss";
|
||||
import typography from '@tailwindcss/typography'
|
||||
|
||||
export default {
|
||||
content: ["./src/**/*.{js,jsx,ts,tsx}"],
|
||||
|
|
Loading…
Reference in a new issue