Git Product home page Git Product logo

stylesuxx / esc-configurator Goto Github PK

View Code? Open in Web Editor NEW
146.0 8.0 45.0 4.91 MB

A Web-App to flash your BLHeli_S and AM32 based ESCs from the browser using the Web-Serial API.

Home Page: https://esc-configurator.com

License: GNU Affero General Public License v3.0

HTML 0.43% JavaScript 93.65% SCSS 5.51% Dockerfile 0.19% Shell 0.21%
blheli esc bluejay pwa am32 blheli-s quadcopter multirotor

esc-configurator's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esc-configurator's Issues

AM32 Support

BLHELI_32 ESC's can be flashed with AM32. It only requires initial bootloader flashing from the test-point on the ESC, from there, everything can be flashed via 4 way interface.

The initial BL flashing needs to be done manually, the configurator will not support that, but from there on, we can manage AM32 like the SiLabs chips.

Allow spinning of motors

It should be possible to allow spinning of motors via MSP as suggested by @AlkaMotors

  • spin all motors
  • spin individual motors
  • spin multiple, individual motors

Save Log

The "Save Log" button does nothing for now - I honestly also do not think, that the log from the bar is really worth exporting - maybe this could be used to export debug logs from the console instead.

FW file caching

The og configurator has some mechanic for caching firmware files - something similar could be done here too using the local storage - but does this make sense?

Allow Firmware selection

Right now it is only possible to flash Bluejay, but technically this could be a selection in the firmware selection screen and would allow for different firmwares to be flashed.

In the firmware selection Tab a new Dropdown should be added which allows to select which Firmware should be flashed.

Options:

  • BLHELI_s
  • Bluejay

Once this is implemented, any other variant can easily be added if it follows the structure of the configuration files.

Configuration files part of firmware repo

If the configuration files (escs.json versions.json) were part of the firmware file, we could get them from there and the configurator would basically not needed to be updated at all.

Only the EEPROM layouts would need to be migrated to their own JSON file too.

visibleIf not working

Settings with the visibleIf condition need to be updated after a change has been made in the settings.

Setting tool-tips

It should be possible to show detailed information about each setting when the user hovers over an icon.

  • Implement functionality to display tool-tips
  • Add the actual tool-tips to the translation file

InputRange component

The currently used Input range component for the sliders is pretty much unmaintained and a delay is needed for it to work properly - would be good to refactor this to a different library.

Custom Logo

@Noctaro is designing a Logo, since the Bluejay Logo does not really represent the project as a whole.

Translations

A lot of things are not yet translated. I tried to use the translator function for all static strings, but there are still missing from the translation file.

Everything that is camel cases is basically not yet translated, the majority of which are settings related to og BLHELI_S.

Default Settings

Add functionality to reset everything back to default settings.

State machine

Wrap the serial functionality into a state machine to remove some "responsibility" from the UI.

This will prevent restoring defaults during flashing for example.

Firmware selection

A solution to the BLHELI_S vs. BLHELI_M problem might be, to allow the user to select which firmware is actually running.

Motor Speed via DSHOT

@mathiasvr requested motor speed to be adjusted via DSHOT instead of MSP to benefit from the full resolution.

This could be made optional - per default the speed is done via MSP, and on user request (checkbox) the Speed can be set via DSHOT command.

We could also use this in combination with EDT. Some kind of monitor for DSHOT commands.

Multiple Ports

Technically the Web Serial API remembers which serial devices access was given to. If multiple of those devices are currently connected, a drop-down displaying all of the available devices could be displayed.

Flashing of ATMEL

Right now only flashing SiLab MCU's is possible, a lot code to support ATMEL and ARM is already present - the actual flashing part needs to be implemented and tested.

Set ESC hint on AM32

ESC hint should also be pre-set on AM32 so that the proper ESC is already pre-selected.

Merging settings

Settings need to be merged after flashing - so that the direction of the motors is left as it initially was.

Tracking

Tracking is not implemented at all for the moment. To do so, we would need to ask the users for consent.

I am not yet sure what the best course of action for this is right now.

Blheli M Support

Config files are prepared - but it seems the BLHELI M confiugrator does something else too - the PWM settings are not showing up for some reason.

https://github.com/Asizon/blheli-configurator/tree/1.2.0-jazzmaverick-beta4

This one might be tricky, since BLHELI_M is not setting a custom name and to detect the settings it is important that we can identify what we are dealing with.

For this to work, BLHELI_M needs to set the NAME field of the EEPROM layout, only then this feature can be realized.

  • If BLHeli_S v16.9 is detected, display a warning similar to JESC for people to use the dedicated BLHeli_M configurator

Problems with 1 ESC

It seems there are some problems when only 1 ESC is attached - the configurator still is looking for the other three.

Translation

Can you port the translation to crowdin platform? I can do Simplified Chinese and Traditional Chinese.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.