mirror of
https://github.com/meshtastic/meshtastic.git
synced 2025-03-05 21:00:08 -08:00
Fix firmware repo links
This commit is contained in:
parent
4adf3e359c
commit
e7c5aec912
|
@ -273,7 +273,7 @@ The `region` variable sets which region your radio is configured to work in. It
|
|||
| Unset | 903.08 | 2.16 | 13 | 0 |
|
||||
|
||||
:::note
|
||||
For more details about `region` settings, you can see the source code [here](https://github.com/meshtastic/Meshtastic-device/blob/master/src/mesh/RadioInterface.cpp)
|
||||
For more details about `region` settings, you can see the source code [here](https://github.com/meshtastic/firmware/blob/master/src/mesh/RadioInterface.cpp)
|
||||
:::
|
||||
|
||||
#### Set Region
|
||||
|
|
|
@ -9,7 +9,7 @@ Meshtastic 1.2 was a beta version that has been superceded by 1.3. Version 1.2 i
|
|||
|
||||
While 1.2 is end of life, it may continue to be useful for certain networks with Android only users, or users of ATAK until the forwarder is updated.
|
||||
|
||||
* Last 1.2 Python api version install: pip install meshtastic==1.2.95
|
||||
* Final 1.2 Meshtastic Flasher install: pip install meshtastic-flasher==1.0.106 (Do not attempt to install 1.3.x firmware with this release)
|
||||
* [Final 1.2 Device Firmware](https://github.com/meshtastic/Meshtastic-device/releases/tag/v1.2.65.0adc5ce)
|
||||
* [Final 1.2 Android App](https://github.com/meshtastic/Meshtastic-Android/releases/tag/1.2.67)
|
||||
- Last 1.2 Python api version install: pip install meshtastic==1.2.95
|
||||
- Final 1.2 Meshtastic Flasher install: pip install meshtastic-flasher==1.0.106 (Do not attempt to install 1.3.x firmware with this release)
|
||||
- [Final 1.2 Device Firmware](https://github.com/meshtastic/firmware/releases/tag/v1.2.65.0adc5ce)
|
||||
- [Final 1.2 Android App](https://github.com/meshtastic/Meshtastic-Android/releases/tag/1.2.67)
|
||||
|
|
|
@ -8,7 +8,7 @@ import Tabs from '@theme/Tabs';
|
|||
import TabItem from '@theme/TabItem';
|
||||
|
||||
:::note
|
||||
This is still under development, use at your own risk. Report any bugs you see by creating an issue on the [meshtastic/Meshtastic-device](https://github.com/meshtastic/Meshtastic-device) repository or comment on our forum.
|
||||
This is still under development, use at your own risk. Report any bugs you see by creating an issue on the [meshtastic/firmware](https://github.com/meshtastic/firmware) repository or comment on our forum.
|
||||
:::
|
||||
|
||||
:::caution
|
||||
|
@ -465,4 +465,4 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
</Tabs>
|
||||
|
|
|
@ -115,10 +115,10 @@ This is a mini-doc/RFC sketching out a development plan to satisfy a number of 1
|
|||
|
||||
:::
|
||||
|
||||
- [MQTT](https://opensource.com/article/18/6/mqtt) internet accessible API. Issue #[369](https://github.com/meshtastic/Meshtastic-device/issues/169)
|
||||
- [MQTT](https://opensource.com/article/18/6/mqtt) internet accessible API. Issue #[369](https://github.com/meshtastic/firmware/issues/169)
|
||||
- An open API to easily run custom mini-apps on the devices
|
||||
- A text messaging bridge when a node in the mesh can gateway to the internet. Issue #[353](https://github.com/meshtastic/Meshtastic-device/issues/353) and this nicely documented [android issue](https://github.com/meshtastic/Meshtastic-Android/issues/2).
|
||||
- An easy way to let desktop app developers remotely control GPIOs. Issue #[182](https://github.com/meshtastic/Meshtastic-device/issues/182)
|
||||
- A text messaging bridge when a node in the mesh can gateway to the internet. Issue #[353](https://github.com/meshtastic/firmware/issues/353) and this nicely documented [android issue](https://github.com/meshtastic/Meshtastic-Android/issues/2).
|
||||
- An easy way to let desktop app developers remotely control GPIOs. Issue #[182](https://github.com/meshtastic/firmware/issues/182)
|
||||
- Remote attribute access (to change settings of distant nodes). Issue #182
|
||||
|
||||
## Short term goals
|
||||
|
@ -379,4 +379,4 @@ if __name__ == '__main__':
|
|||
|
||||
while client.loop() == 0:
|
||||
pass
|
||||
```
|
||||
```
|
||||
|
|
|
@ -10,7 +10,7 @@ Meshtastic uses the [PlatformIO](https://platformio.org) development environment
|
|||
|
||||
1. Install PlatformIO, following the instructions available [here](https://platformio.org/platformio-ide).
|
||||
|
||||
2. Clone the `meshtastic-device` repository located [here](https://github.com/meshtastic/meshtastic-device). ([Instructions on cloning](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository))
|
||||
2. Clone the `firmware` repository located [here](https://github.com/meshtastic/firmware). ([Instructions on cloning](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository))
|
||||
|
||||
3. Clone the [Submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules)
|
||||
|
||||
|
@ -33,7 +33,7 @@ The build system is modular. Adding a new board variant for an already supported
|
|||
|
||||
### Building for your own DIY hardware or mod that you don't want to distribute
|
||||
|
||||
1. go to the `variants` folder in the Meshtastic-device sourcecode and make a new directory for your hardware, let's call it `m5stack_atom` and copy an existing configuration you wanna modify
|
||||
1. go to the `variants` folder in the firmware sourcecode and make a new directory for your hardware, let's call it `m5stack_atom` and copy an existing configuration you wanna modify
|
||||
|
||||
```shell
|
||||
cd variants; mkdir m5stack_atom
|
||||
|
@ -60,9 +60,9 @@ The build system is modular. Adding a new board variant for an already supported
|
|||
### Adding a new off-the-shelf or DIY hardware that you want to distribute (e.g. add a new canon board)
|
||||
|
||||
1. do all of the above until your hardware runs fine
|
||||
2. [Send in a proposal to add a new board](https://github.com/meshtastic/Meshtastic-device/issues/new?assignees=&labels=enhancement%2Ctriage&template=New+Board.yml&title=%5BBoard%5D%3A+)
|
||||
2. [Send in a proposal to add a new board](https://github.com/meshtastic/firmware/issues/new?assignees=&labels=enhancement%2Ctriage&template=New+Board.yml&title=%5BBoard%5D%3A+)
|
||||
3. if approved, go to (https://github.com/meshtastic/Meshtastic-protobufs) and send a Pull Request for the mesh.proto file, adding your board to the HardwareModel enum.
|
||||
4. change your define in `platformio.ini` from `PRIVATE_HW` to `YOUR_BOARD`. Adjust any macro guards in the code you need to support your board.
|
||||
5. add your board identifier to `configuration.h` on the Meshtastic-device repo and send in that Pull Request too.
|
||||
5. add your board identifier to `configuration.h` on the firmware repo and send in that Pull Request too.
|
||||
6. wait for the Pulls to be merged back into Master.
|
||||
7. profit :-)
|
||||
|
|
|
@ -18,9 +18,9 @@ Packets can be sent/received either as raw binary structures or as [Protobufs](h
|
|||
|
||||
The relevant bits of the class hierarchy are as follows
|
||||
|
||||
- [MeshModule](http://github.com/meshtastic/meshtastic-device/tree/master/src/mesh/MeshModule.h) (in src/mesh/MeshModule.h) - you probably don't want to use this baseclass directly
|
||||
- [SinglePortModule](http://github.com/meshtastic/meshtastic-device/tree/master/src/mesh/SinglePortModule.h) (in src/mesh/SinglePortModule.h) - for modules that send/receive from a single port number (the normal case)
|
||||
- [ProtobufModule](http://github.com/meshtastic/meshtastic-device/tree/master/src/mesh/ProtobufModule.h) (in src/mesh/ProtobufModule.h) - for modules that send/receive a single particular Protobuf type. Inherit from this if you are using protocol buffers in your module.
|
||||
- [MeshModule](http://github.com/meshtastic/firmware/tree/master/src/mesh/MeshModule.h) (in src/mesh/MeshModule.h) - you probably don't want to use this baseclass directly
|
||||
- [SinglePortModule](http://github.com/meshtastic/firmware/tree/master/src/mesh/SinglePortModule.h) (in src/mesh/SinglePortModule.h) - for modules that send/receive from a single port number (the normal case)
|
||||
- [ProtobufModule](http://github.com/meshtastic/firmware/tree/master/src/mesh/ProtobufModule.h) (in src/mesh/ProtobufModule.h) - for modules that send/receive a single particular Protobuf type. Inherit from this if you are using protocol buffers in your module.
|
||||
|
||||
You will typically want to inherit from either SinglePortModule (if you are just sending/receiving raw bytes) or ProtobufModule (if you are sending/receiving protobufs). You'll implement your own handleReceived/handleReceivedProtobuf - probably based on the example code.
|
||||
|
||||
|
@ -37,19 +37,19 @@ service.sendToMesh(p);
|
|||
|
||||
## Example modules
|
||||
|
||||
A number of [key services](http://github.com/meshtastic/meshtastic-device/tree/master/src/modules) are implemented using the module API, these modules are as follows:
|
||||
A number of [key services](http://github.com/meshtastic/firmware/tree/master/src/modules) are implemented using the module API, these modules are as follows:
|
||||
|
||||
- [TextMessageModule](http://github.com/meshtastic/meshtastic-device/tree/master/src/modules/TextMessageModule.h) - receives text messages and displays them on the LCD screen/stores them in the local DB
|
||||
- [NodeInfoModule](http://github.com/meshtastic/meshtastic-device/tree/master/src/modules/NodeInfoModule.h) - receives/sends User information to other nodes so that usernames are available in the databases
|
||||
- [RemoteHardwareModule](http://github.com/meshtastic/meshtastic-device/tree/master/src/modules/RemoteHardwareModule.h) - a module that provides easy remote access to device hardware (for things like turning GPIOs on or off). Intended to be a more extensive example and provide a useful feature of its own. See [remote-hardware](/docs/software/device/remote-hardware-service) for details.
|
||||
- [ReplyModule](http://github.com/meshtastic/meshtastic-device/tree/master/src/modules/ReplyModule.h) - a simple module that just replies to any packet it receives (provides a 'ping' service).
|
||||
- [TextMessageModule](http://github.com/meshtastic/firmware/tree/master/src/modules/TextMessageModule.h) - receives text messages and displays them on the LCD screen/stores them in the local DB
|
||||
- [NodeInfoModule](http://github.com/meshtastic/firmware/tree/master/src/modules/NodeInfoModule.h) - receives/sends User information to other nodes so that usernames are available in the databases
|
||||
- [RemoteHardwareModule](http://github.com/meshtastic/firmware/tree/master/src/modules/RemoteHardwareModule.h) - a module that provides easy remote access to device hardware (for things like turning GPIOs on or off). Intended to be a more extensive example and provide a useful feature of its own. See [remote-hardware](/docs/software/device/remote-hardware-service) for details.
|
||||
- [ReplyModule](http://github.com/meshtastic/firmware/tree/master/src/modules/ReplyModule.h) - a simple module that just replies to any packet it receives (provides a 'ping' service).
|
||||
|
||||
## Getting started
|
||||
|
||||
The easiest way to get started is:
|
||||
|
||||
- [Build and install](/docs/developers/firmware/build) the standard codebase from GitHub.
|
||||
- Copy [src/modules/ReplyModule.\*](http://github.com/meshtastic/meshtastic-device/tree/master/src/modules/ReplyModule.cpp) into src/modules/YourModule.*. Then change the port number from *PortNum_REPLY_APP* to *PortNum_PRIVATE_APP\*.
|
||||
- Copy [src/modules/ReplyModule.\*](http://github.com/meshtastic/firmware/tree/master/src/modules/ReplyModule.cpp) into src/modules/YourModule.*. Then change the port number from *PortNum_REPLY_APP* to *PortNum_PRIVATE_APP\*.
|
||||
- Edit moduless/Moduless.cpp:setupModules() to add a call to create an instance of your module (see comment at head of that function)
|
||||
- Rebuild with your new messaging goodness and install on the device
|
||||
- Use the [meshtastic commandline tool](https://github.com/meshtastic/Meshtastic-python) to send a packet to your board, for example `meshtastic --dest 1234 --sendping`, where _1234_ is another mesh node to send the ping to.
|
||||
|
@ -57,11 +57,11 @@ The easiest way to get started is:
|
|||
## Threading
|
||||
|
||||
It is very common that you would like your module to be invoked periodically.
|
||||
We use a crude/basic cooperative threading system to allow this on any of our supported platforms. Simply inherit from OSThread and implement runOnce(). See the OSThread [documentation](http://github.com/meshtastic/meshtastic-device/tree/master/src/concurrency/OSThread.h) for more details.
|
||||
We use a crude/basic cooperative threading system to allow this on any of our supported platforms. Simply inherit from OSThread and implement runOnce(). See the OSThread [documentation](http://github.com/meshtastic/firmware/tree/master/src/concurrency/OSThread.h) for more details.
|
||||
|
||||
## Sending messages
|
||||
|
||||
If you would like to proactively send messages (rather than just responding to them), just call service.sendToMesh(). For an example of this see [NodeInfoModule::sendOurNodeInfo(...)](http://github.com/meshtastic/meshtastic-device/tree/master/src/modules/NodeInfoModule.cpp).
|
||||
If you would like to proactively send messages (rather than just responding to them), just call service.sendToMesh(). For an example of this see [NodeInfoModule::sendOurNodeInfo(...)](http://github.com/meshtastic/firmware/tree/master/src/modules/NodeInfoModule.cpp).
|
||||
|
||||
## Picking a port number
|
||||
|
||||
|
|
|
@ -26,15 +26,15 @@ Most communication and interactions happen with protocol buffers. The [Meshtasti
|
|||
|
||||
## Firmware
|
||||
|
||||
The [Meshtastic-device](https://github.com/meshtastic/Meshtastic-device) is where all of the firmware development happens. This is where the code for the ESP32 and nRF52 based devices is developed. It is mainly C and C++ code.Think Arduino. It is where the first level of hardware interaction begins and ends.
|
||||
The [firmware](https://github.com/meshtastic/firmware) is where all of the firmware development happens. This is where the code for the ESP32 and nRF52 based devices is developed. It is mainly C and C++ code.Think Arduino. It is where the first level of hardware interaction begins and ends.
|
||||
|
||||
## Modules
|
||||
|
||||
[Modules](/docs/settings/moduleconfig) are also implemented mainly in the Meshtastic-device repo above. Typically, you would add functionality in the protobufs repo and the device repo to implement module functionality. You probably also want to have some client/device use/interact with the module and that is where the Device support comes into play.
|
||||
[Modules](/docs/settings/moduleconfig) are also implemented mainly in the firmware repo above. Typically, you would add functionality in the protobufs repo and the device repo to implement module functionality. You probably also want to have some client/device use/interact with the module and that is where the Device support comes into play.
|
||||
|
||||
## Device Support
|
||||
|
||||
The [Meshtastic-python](https://github.com/meshtastic/Meshtastic-python) is typically where the first device interaction takes place, but that is not a requirement. This repo has a command line utility that allows you to interact with most functionality with the devices. This python library can also be consumed for other applications.
|
||||
The [Meshtastic-python](https://github.com/meshtastic/Meshtastic-python) is typically where the first device interaction takes place, but that is not a requirement. This repo has a command line utility that allows you to interact with most functionality with the devices. This python library can also be consumed for other applications.
|
||||
|
||||
## Web Application
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ The device firmware runs on the nodes to build the mesh for communication. Each
|
|||
|
||||
The current firmware has support for a screen to display received messages, along with information about nodes on the mesh, and more detailed information about the device on which it is running.
|
||||
|
||||
The latest firmware can be downloaded from the [Downloads](/downloads) page. If you wish to view the code or contribute to development of the firmware, please visit the device code <a href="https://github.com/meshtastic/Meshtastic-device">GitHub page</a>.
|
||||
The latest firmware can be downloaded from the [Downloads](/downloads) page. If you wish to view the code or contribute to development of the firmware, please visit the device code <a href="https://github.com/meshtastic/firmware">GitHub page</a>.
|
||||
|
||||
:::info
|
||||
Please be aware that there are significant changes between version branches 1.2.x and 1.3.x which mean that devices need to be running the same branch of firmware to be able to talk to each other. Python, Android, and other software applications will also need to be running the same branch to be able to talk to the device.
|
||||
|
|
|
@ -2,35 +2,36 @@
|
|||
id: linux-native-application
|
||||
title: Linux native application
|
||||
sidebar_label: Linux native application
|
||||
|
||||
---
|
||||
|
||||
The device software can also run on a native Linux machine thanks to the [Portduino framework](https://github.com/geeksville/framework-portduino).
|
||||
See either [Usage with a Linux machine](#usage-with-a-linux-machine) or [Usage with Docker](#usage-with-docker) for instructions to run it.
|
||||
The device software can also run on a native Linux machine thanks to the [Portduino framework](https://github.com/geeksville/framework-portduino).
|
||||
See either [Usage with a Linux machine](#usage-with-a-linux-machine) or [Usage with Docker](#usage-with-docker) for instructions to run it.
|
||||
|
||||
The application either simulates some of the interfaces, or uses the real hardware of your machine.
|
||||
Device firmware from 1.3.42 and on even allows you to simulate the LoRa chip by sending and receiving Meshtastic packets via a local TCP port.
|
||||
In this way, you can let multiple instances of the application communicate with each other as if they did via LoRa.
|
||||
For instructions on how to use it, see the [interactive simulator](https://github.com/GUVWAF/Meshtasticator/blob/master/INTERACTIVE_SIM.md) that also emulates a wireless environment using simulated positions of the nodes.
|
||||
The application either simulates some of the interfaces, or uses the real hardware of your machine.
|
||||
Device firmware from 1.3.42 and on even allows you to simulate the LoRa chip by sending and receiving Meshtastic packets via a local TCP port.
|
||||
In this way, you can let multiple instances of the application communicate with each other as if they did via LoRa.
|
||||
For instructions on how to use it, see the [interactive simulator](https://github.com/GUVWAF/Meshtasticator/blob/master/INTERACTIVE_SIM.md) that also emulates a wireless environment using simulated positions of the nodes.
|
||||
|
||||
## Usage with a Linux machine {#usage-with-a-linux-machine}
|
||||
The easiest way of building the native application is using Visual Studio Code with the PlatformIO extension.
|
||||
See the instructions for creating such a building environment [here](/docs/developers/Firmware/build).
|
||||
|
||||
Then after opening the Meshtastic-device repository in Visual Studio Code, simply click on the PlatformIO extension in the left bar, select native and click on 'Build'.
|
||||
This will generate the binary file 'program' which you can find in `.pio/build/native/`.
|
||||
Once in this directory or when you copied the file to your current directory, launch the application with `./program`.
|
||||
The easiest way of building the native application is using Visual Studio Code with the PlatformIO extension.
|
||||
See the instructions for creating such a building environment [here](/docs/developers/Firmware/build).
|
||||
|
||||
Additional arguments can be given to the program, which are listed as follows:
|
||||
- `-d DIRECTORY`: The directory to use as the virtual filesystem (VFS).
|
||||
- `-e`: Erase the virtual filesystem before use.
|
||||
- `-h MAC_ADDRESS`: The MAC address to assign to this virtual machine.
|
||||
- `-p TCP_PORT`: The local TCP port to use for running the Meshtastic API.
|
||||
Then after opening the firmware repository in Visual Studio Code, simply click on the PlatformIO extension in the left bar, select native and click on 'Build'.
|
||||
This will generate the binary file 'program' which you can find in `.pio/build/native/`.
|
||||
Once in this directory or when you copied the file to your current directory, launch the application with `./program`.
|
||||
|
||||
Additional arguments can be given to the program, which are listed as follows:
|
||||
|
||||
- `-d DIRECTORY`: The directory to use as the virtual filesystem (VFS).
|
||||
- `-e`: Erase the virtual filesystem before use.
|
||||
- `-h MAC_ADDRESS`: The MAC address to assign to this virtual machine.
|
||||
- `-p TCP_PORT`: The local TCP port to use for running the Meshtastic API.
|
||||
|
||||
## Usage with Docker {#usage-with-docker}
|
||||
|
||||
If you do not own a Linux machine, or you just want to separate things, you might want
|
||||
to run the application inside a docker container.
|
||||
to run the application inside a docker container.
|
||||
|
||||
### The Image
|
||||
|
||||
|
@ -49,7 +50,7 @@ or, to get an interactive shell on the docker created container:
|
|||
`docker run -it -p 4403:4403 meshtastic/device bash`
|
||||
|
||||
You might want to mount your local development folder:
|
||||
|
||||
firmware
|
||||
`docker run -it --mount type=bind,source=/PathToMyProjects/Meshtastic/Meshtastic-device-mybranch,target=/Meshtastic-device-mybranch -p 4403:4403 meshtastic/device bash`
|
||||
|
||||
### Build the native application
|
||||
|
|
|
@ -36,7 +36,7 @@ pio run --target erase --environment tbeam
|
|||
|
||||
Then re-install the firmware ie using ESPHome Flasher.
|
||||
|
||||
Requires: [Python](https://www.python.org), [Pio](https://pypi.org/project/pio), command to be run in the root directory of the meshtastic-device project once you’ve cloned it (this last requirement is an assumption based on pio not knowing what a tbeam is, may also require Visual Studio Code and PlatformIO as these were installed during use).
|
||||
Requires: [Python](https://www.python.org), [Pio](https://pypi.org/project/pio), command to be run in the root directory of the firmware project once you’ve cloned it (this last requirement is an assumption based on pio not knowing what a tbeam is, may also require Visual Studio Code and PlatformIO as these were installed during use).
|
||||
|
||||
### Esptool.py
|
||||
|
||||
|
@ -53,13 +53,13 @@ Requires: [Python](https://www.python.org) and [esptool.py](https://github.com/e
|
|||
|
||||
### Visual Studio & PlatformIO
|
||||
|
||||
There is also the method of using the Visual Studio IDE. This requires having Visual Studio and PlatformIO installed, along with having cloned the meshtastic-device code as per the [build instructions](/docs/developers/firmware/build). After loading the project in Visual Studio, select the PlatformIO alien icon, then find the appropriate device, and then click the Erase Flash command.
|
||||
There is also the method of using the Visual Studio IDE. This requires having Visual Studio and PlatformIO installed, along with having cloned the firmware code as per the [build instructions](/docs/developers/firmware/build). After loading the project in Visual Studio, select the PlatformIO alien icon, then find the appropriate device, and then click the Erase Flash command.
|
||||
|
||||

|
||||
|
||||
https://meshtastic.discourse.group/t/configuring-channel-via-python-api/1948/17
|
||||
|
||||
Requires: [Visual Studio Code](https://code.visualstudio.com), [PlatformIO](https://platformio.org), cloned copy of the Meshtastic-device project
|
||||
Requires: [Visual Studio Code](https://code.visualstudio.com), [PlatformIO](https://platformio.org), cloned copy of the Meshtastic Firmware project
|
||||
|
||||
## How do I know it's worked?
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ import { HeaderText } from './_components/HeaderText';
|
|||
|
||||
const Firmware = (): JSX.Element => {
|
||||
const { data, error } = useSWR<Release[]>(
|
||||
'https://api.github.com/repos/meshtastic/meshtastic-device/releases',
|
||||
'https://api.github.com/repos/meshtastic/firmware/releases',
|
||||
fetcher,
|
||||
);
|
||||
|
||||
|
@ -133,7 +133,7 @@ const Firmware = (): JSX.Element => {
|
|||
</div>
|
||||
<div className="card__footer" style={{ marginTop: '1rem' }}>
|
||||
<a
|
||||
href="https://nightly.link/meshtastic/meshtastic-device/workflows/main/master/built.zip"
|
||||
href="https://nightly.link/meshtastic/firmware/workflows/main/master/built.zip"
|
||||
className="button button--secondary button--block"
|
||||
>
|
||||
Download
|
||||
|
|
|
@ -62,7 +62,7 @@ const Hardware = (): JSX.Element => {
|
|||
))}
|
||||
<li className="group relative">
|
||||
<a
|
||||
href="https://github.com/meshtastic/Meshtastic-device/issues/new?assignees=&labels=enhancement%2Ctriage&template=New+Board.yml&title=%5BBoard%5D%3A+"
|
||||
href="https://github.com/meshtastic/firmware/issues/new?assignees=&labels=enhancement%2Ctriage&template=New+Board.yml&title=%5BBoard%5D%3A+"
|
||||
className="flex aspect-[4/3] rounded-lg border-2 border-dashed border-mute group-hover:border-tertiaryInv"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
|
|
Loading…
Reference in a new issue