diff --git a/docs/developers/Firmware/device-api.mdx b/docs/developers/Firmware/device-api.mdx index da956e64..0b3a98a3 100644 --- a/docs/developers/Firmware/device-api.mdx +++ b/docs/developers/Firmware/device-api.mdx @@ -24,7 +24,7 @@ The 4 byte header is constructed to both provide framing and to not look line 'n - Byte 2: MSB of protobuf length - Byte 3: LSB of protobuf length -The receiver will validate length and if >512 it will assume the packet is corrupted and return to looking for START1. While looking for START1 any other characters are printed as "debug output". For small example implementation of this reader see the meshtastic-python implementation. +The receiver will validate length and if >512 it will assume the packet is corrupted and return to looking for START1. While looking for START1 any other characters are printed as "debug output". For small example implementation of this reader see the python implementation. ## MeshBluetoothService (the BLE API) diff --git a/docusaurus.config.js b/docusaurus.config.js index 2674a11d..a373fc44 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -15,6 +15,11 @@ const config = { organizationName: 'meshtastic', projectName: 'meshtastic', themeConfig: /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ { + announcementBar: { + id: '2_0', + content: + '🎉 Meshtastic 2.0 Has Now Launched! Check it Out Here 🎉', + }, colorMode: { respectPrefersColorScheme: true, }, diff --git a/package.json b/package.json index c157d134..d93383a8 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "@meshtastic/eslint-config": "^1.0.8", "@tailwindcss/typography": "^0.5.7", "@tsconfig/docusaurus": "^1.0.6", - "@types/node": "^18.11.8", + "@types/node": "^18.11.9", "@types/react": "^18.0.24", "@types/react-dom": "^18.0.8", "prettier": "^2.7.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fb3c290c..1b78c59e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,7 +13,7 @@ specifiers: '@meshtastic/eslint-config': ^1.0.8 '@tailwindcss/typography': ^0.5.7 '@tsconfig/docusaurus': ^1.0.6 - '@types/node': ^18.11.8 + '@types/node': ^18.11.9 '@types/react': ^18.0.24 '@types/react-dom': ^18.0.8 autoprefixer: ^10.4.13 @@ -58,7 +58,7 @@ devDependencies: '@meshtastic/eslint-config': 1.0.8 '@tailwindcss/typography': 0.5.7_tailwindcss@3.2.1 '@tsconfig/docusaurus': 1.0.6 - '@types/node': 18.11.8 + '@types/node': 18.11.9 '@types/react': 18.0.24 '@types/react-dom': 18.0.8 prettier: 2.7.1 @@ -2929,26 +2929,26 @@ packages: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.35 - '@types/node': 18.11.8 + '@types/node': 18.11.9 dev: false /@types/bonjour/3.5.10: resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} dependencies: - '@types/node': 18.11.8 + '@types/node': 18.11.9 dev: false /@types/connect-history-api-fallback/1.3.5: resolution: {integrity: sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==} dependencies: '@types/express-serve-static-core': 4.17.28 - '@types/node': 18.11.8 + '@types/node': 18.11.9 dev: false /@types/connect/3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 18.11.8 + '@types/node': 18.11.9 dev: false /@types/eslint-scope/3.7.3: @@ -2969,7 +2969,7 @@ packages: /@types/express-serve-static-core/4.17.28: resolution: {integrity: sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==} dependencies: - '@types/node': 18.11.8 + '@types/node': 18.11.9 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 dev: false @@ -2999,7 +2999,7 @@ packages: /@types/http-proxy/1.17.8: resolution: {integrity: sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==} dependencies: - '@types/node': 18.11.8 + '@types/node': 18.11.9 dev: false /@types/json-schema/7.0.11: @@ -3012,7 +3012,7 @@ packages: /@types/keyv/3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 18.11.8 + '@types/node': 18.11.9 dev: false /@types/mdast/3.0.10: @@ -3029,8 +3029,8 @@ packages: resolution: {integrity: sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==} dev: false - /@types/node/18.11.8: - resolution: {integrity: sha512-uGwPWlE0Hj972KkHtCDVwZ8O39GmyjfMane1Z3GUBGGnkZ2USDq7SxLpVIiIHpweY9DS0QTDH0Nw7RNBsAAZ5A==} + /@types/node/18.11.9: + resolution: {integrity: sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==} /@types/parse-json/4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} @@ -3087,7 +3087,7 @@ packages: /@types/responselike/1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 18.11.8 + '@types/node': 18.11.9 dev: false /@types/retry/0.12.1: @@ -3097,7 +3097,7 @@ packages: /@types/sax/1.2.4: resolution: {integrity: sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==} dependencies: - '@types/node': 18.11.8 + '@types/node': 18.11.9 dev: false /@types/scheduler/0.16.2: @@ -3113,13 +3113,13 @@ packages: resolution: {integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==} dependencies: '@types/mime': 1.3.2 - '@types/node': 18.11.8 + '@types/node': 18.11.9 dev: false /@types/sockjs/0.3.33: resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} dependencies: - '@types/node': 18.11.8 + '@types/node': 18.11.9 dev: false /@types/unist/2.0.6: @@ -3129,7 +3129,7 @@ packages: /@types/ws/8.5.3: resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} dependencies: - '@types/node': 18.11.8 + '@types/node': 18.11.9 dev: false /@typescript-eslint/eslint-plugin/5.22.0_4bcn5aatkhkr3q2dzj4ewaqjbe: @@ -5050,7 +5050,7 @@ packages: resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} engines: {node: '>= 0.8'} dependencies: - '@types/node': 18.11.8 + '@types/node': 18.11.9 require-like: 0.1.2 dev: false @@ -6235,7 +6235,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.11.8 + '@types/node': 18.11.9 merge-stream: 2.0.0 supports-color: 8.1.1 diff --git a/src/pages/2.0/index.tsx b/src/pages/2.0/index.tsx index fe1249b5..345981d1 100644 --- a/src/pages/2.0/index.tsx +++ b/src/pages/2.0/index.tsx @@ -10,9 +10,9 @@ import Layout from '@theme/Layout'; const TwoPointZero = (): JSX.Element => { const stats = [ - { label: 'Active Nodes', value: 'xx+' }, + { label: 'Active Nodes', value: 'A Lot!' }, { label: 'Community Members', value: '4000+' }, - { label: 'Total Commits', value: '4800+' }, + { label: 'Firmware Commits', value: '4900+' }, { label: 'Community Donations', value: '$5700+' }, ]; const logos = [ @@ -87,12 +87,12 @@ const TwoPointZero = (): JSX.Element => { giveaways, so jump in and win some prizes.

- + Find Out More + {

- Tincidunt integer commodo, cursus etiam aliquam - neque, et. Consectetur pretium in volutpat, diam. - Montes, magna cursus nulla feugiat dignissim id - lobortis amet. + Meshtastic is the neatest open source I've ever + seen!

@@ -254,34 +252,64 @@ const TwoPointZero = (): JSX.Element => { -
+
{/* Content area */}

A brief overview of all the changes and improvements

-

- Sagittis scelerisque nulla cursus in enim consectetur - quam. Dictum urna sed consectetur neque tristique - pellentesque. Blandit amet, sed aenean erat arcu morbi. - Cursus faucibus nunc nisl netus morbi vel porttitor vitae - ut. Amet vitae fames senectus vitae. -

+

Monumental stuff!

- Sollicitudin tristique eros erat odio sed vitae, consequat - turpis elementum. Lorem nibh vel, eget pretium arcu vitae. - Eros eu viverra donec ut volutpat donec laoreet quam urna. - Sollicitudin tristique eros erat odio sed vitae, consequat - turpis elementum. Lorem nibh vel, eget pretium arcu vitae. - Eros eu viverra donec ut volutpat donec laoreet quam urna. +

  • + Completely new LoRA band plan with faster messaging +
  • +
  • Smarter and more reliable mesh routing
  • +
  • + Unlimited nodes* (80 Connected at a time, oldest node + will be removed when a new node joins the mesh) +
  • +
  • + New messaging additions: waypoints, reactions + (tap-backs), and telemetry +
  • +
  • + Improvements for Canned Messages module and CardKB + messaging for stand alone communicator devices +
  • +
  • Sensor, Screen, and Input device auto-detection
  • +
  • New devices supported (6 new targets!)
  • +
  • + Added over the air bluetooth updates for NRF devices + (RAK-4631) +
  • +
  • Ethernet support via RAK-13800
  • +
  • + Compass improvements for larger screens and + customizations +
  • +

    Nerd stuff!

    - Rhoncus nisl, libero egestas diam fermentum dui. At quis - tincidunt vel ultricies. Vulputate aliquet velit faucibus - semper. Pellentesque in venenatis vestibulum consectetur - nibh id. In id ut tempus egestas. Enim sit aliquam nec, a. - Morbi enim fermentum lacus in. Viverra. +

  • New filesystem for ESP32 (LittleFS)
  • +
  • + Upgraded Arduino framework for both NRF52 and ESP32 +
  • +
  • New bluetooth stack for ESP32 (NimBLE)
  • +
  • Unified GPS stack now using NMEA
  • +
  • Support for more I2C sensors
  • +
  • Support for ATECCA608B Cryptographic Coprocessor
  • +
  • More Serial module I/O modes
  • +
  • JSON messages over MQTT
  • +
  • + Device codebase refactored and optimized in many areas +
  • +
  • + Completely restructured protobufs and configuration +
  • @@ -303,11 +331,6 @@ const TwoPointZero = (): JSX.Element => {
    ))} -
    - - Further reading... - -
    @@ -415,7 +438,7 @@ const TwoPointZero = (): JSX.Element => { diff --git a/src/pages/downloads/_components/FirmwareCard.tsx b/src/pages/downloads/_components/FirmwareCard.tsx index febe68af..6c82cb8c 100644 --- a/src/pages/downloads/_components/FirmwareCard.tsx +++ b/src/pages/downloads/_components/FirmwareCard.tsx @@ -14,7 +14,7 @@ export const FirmwareCard = ({ release, }: releaseCardProps): JSX.Element => { return ( -
    +
    { const { data, error } = useSWR( @@ -28,87 +33,112 @@ const Firmware = (): JSX.Element => { title="Downloads" description="Downloads for the Meshtastic project" > -
    -
    - +
    +

    Flasher

    +
    +
    + +
    +
    +
    +

    Meshtastic Flasher

    +

    + Desktop application to flash fimware to your devices. +

    + + Download + + +
    +
    -
    - - pip, - ' follow ', - - these instructions - , - '.', - ]} - /> + {/* */} +

    Apps

    +
    +
    + +
    +
    +
    +
    +
    + +
    +
    +

    Apple

    + + App Store + + +
    +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    -
    - -
      - - download the latest .apk - , - ' from Github', - ]} - /> - -
    -
    -
    - -
      + {/* */} +

      Firmware

      +
      +
      + +
      +
      {data && !error ? ( <> { description="Upcoming changes for testing. For those who want new features." release={alpha} /> -
      +

      Bleeding

      @@ -148,39 +178,9 @@ const Firmware = (): JSX.Element => { )} -
    - Once downloaded, follow the flashing instructions for{' '} - - ESP32 chipsets - - ,{' '} - - NRF52 chipsets - - , or the{' '} - - GUI instructions for Meshtastic Flasher - - . +
    -
    - - Google Play and the Google Play logo are trademarks of Google LLC. - -
    -
    +
    ); };