Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

The next generation tool for EdgeTX. A cross platform app, with browser compatibility.

License

NotificationsYou must be signed in to change notification settings

EdgeTX/buddy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EdgeTX Buddy logo

Pipeline statusCoveragecode style: prettier

Helping you on your journey to EdgeTX

Development

Prerequisites

This application usesnode-usb when running in electron. In order to compile the bindingssome build libraries are required depending on platform. For MacOS and Windows, these shouldalready be built in.

Linux

$ sudo apt-get install build-essential libudev-dev

This software is designed to run onnode@20 which can be installed withFast Node Manager

Commands

Enable or install yarn package manager

# For Node.js <16.10$ npm i -g corepack# For Node.js >=16.10$ corepackenable

Install deps

$ yarn

Developing

# Start electron and web environments in watch mode$ yarn start# Start web environment only$ yarn start:web# Storybook component environment$ yarn storybook

Building

# Build and pack electron app (outputs renderer assets too)$ yarn build# Compile only web environment$ yarn compile:web:production

Run tests

$ yarntest

Run e2e tests - requires web or app to be built

# Web app tests$ yarn e2e:web# Electron app tests$ yarn e2e:app

Lint

$ yarn lint:all# Or yarn lint <file>

Format (this codebase has enforced formatting with prettier)

$ yarn fmt

Extract new translation strings

$ yarn extract-locales

Translations

Translation strings are stored in the./locales directory.To contribute a language which doesn't already exist:

  1. Add the ISO code to the./locales/languages.json
  2. Extract the strings to the new language files (yarn extract-locales)
  3. Translate the strings for their equivilent meanings

The namespaces (common, flashing, etc), provide some context for what the strings relate to

Structure

The application is split into different contexts

  • Main: Electron Main Process - initialising the electron application, runs the backend when running in electron. Runs in a Node.JS context
  • Renderer: React Web Application - Runs in browser or electron renderer process. Shows different UI depending on context.
  • Shared: Multi-Context code - Designed to run in any environment. Imported by bothMain orRenderer
  • Webworker: WebWorker Context -.bootstap files start-up.worker files. Code designed only to run in WebWorker contexts.

Communication

This application makes use ofGraphQL to request data across process boundary. Meaning that therenderer processis always entirely separated from the GraphQL execution environment.

Apollo Bus Link is used to facilitate the communication between the GraphQL execution processin Electron or Webworker environments.

Electron architectureWebworker architecture

Exceptions

Within WebWorker contexts, there are some browser functions which cannot be invoked within WebWorker contextsand so have to be invoked in the main process. In order to keep things in Electron and Web processes similara set ofCross Boundary Communication functions have been defined.

Acknowledgements

A massive thank you to the software which makes all of this possible. Specifically:

Screenshots

Screenshot of flashing

About

The next generation tool for EdgeTX. A cross platform app, with browser compatibility.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

    Packages

    No packages published

    [8]ページ先頭

    ©2009-2025 Movatter.jp