Giter VIP home page Giter VIP logo

solex-cc's People

Contributors

kellyschrock avatar zeev-mindali avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

solex-cc's Issues

UDP Config Page

Make a UDP config page on the UI that sets various UDP params.

Worker config page in web UI

Would be handy to have a hook for a configuration page provided by a worker for doing whatever sort of configuration or other things a worker might need to do.

message_dialog: OK button does not send message back to worker.js

Seems like the message_dialog widget on start_screen doesn't send a status back to the worker. My own implementation failed, and it seems also that the example:
https://github.com/kellyschrock/solexcc-start-here/blob/master/examples/ui/start_panel/worker.js
Is not working properly. Pressing the ok button in the message_dialog does not return the "my_dialog_ok" message back to worker.js.
The display_dialog widget works, however.

Log filtering

Provide a set of logging functions in ATTRS for workers, so that a worker can do this to print to the console:

ATTRS.log(ATTRS.id, "Some message");

Add a log_workers setting to the dispatcher that can take a list of worker IDs and update dynamically, like this:

my_worker,my_other_worker

Whenever a worker calls ATTRS.logd(), its output will only appear on the console if its ID is part of the log_workers list, or if log_workers is empty.

Cant issue speech messages on start panel

I could not find a way to send speech messages from a START_SCREEN worker. Eg
ATTRS.api.WorkerUI.sendSpeechMessage(ATTRS, "my text", ATTRS.api.WorkerUI.SpeechType.TEXT);
doesnt produce any output.
Speech output from a SCREEN_FLIGHT worker UI works fine.

Worker config properties

It's a PITA to have every worker deal with its own configuration for simple configuration things for paths, ports, etc. Make a config panel on the UI for workers to make them easy to configure.

Network Config Page

Make a Network Configuration page that updates the relevant files on the Pi.

Worker POST response fields

So that a GCS can match a worker response to an earlier worker request, include the following fields in every response coming from a worker's onGCSMessage() function:

  • source_id: ID of the incoming message
  • worker_id: ID of the worker the message was sent to and processed by.

solex app crashes when I try to load my workers

I have configured solexcc from scratch. As soon as the Solex app tries to connect to the web server, the solexcc server crashes with the following messages:

/home/apsync/solexcc/app/util/dispatch.js:837
        if (filter.length === 0 || filter.indexOf(workerId) >= 0) {
                                                  ^

ReferenceError: workerId is not defined
    at onWorkerLog (/home/apsync/solexcc/app/util/dispatch.js:837:51)
    at ChildProcess.<anonymous> (/home/apsync/solexcc/app/util/dispatch.js:985:13)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at emit (internal/child_process.js:772:12)
    at _combinedTickCallback (internal/process/next_tick.js:141:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
apsync@apsync:~/solexcc$ 

sendSpeechMessage text is spoken twice

Speech messages send with
ATTRS.api.WorkerUI.sendSpeechMessage(ATTRS, "this is a test", ATTRS.api.WorkerUI.SpeechType.TEXT);
on the flight screen are always repeated twice. Same message on the start screen is correctly spoken only once. Edit: this is also the case for error messages.
This error is new in Solex 1.9.7.

Packet interface

The current only way of talking back and forth between a GCS and SolexCC is over websockets and HTTP commands. This works fine on WiFi, but WiFi isn't what the vast majority of people use for connecting to drones.

So a packet interface is needed that takes up less bandwidth and can operate over the mavlink connection.

The v2_extension message could be used as the carrier for these packets, which could be parsed out into something representing commands to (and responses from) SolexCC to the GCS.

The general idea would be to eliminate the HTTP layer altogether, so this could work over a connection to an RFD900x or something. This would eliminate the overhead of websocket and POST calls to control extra hardware/features on the drone.

Restart Service crashes solex-cc process

When I press the "Restart Service" button in the Solex-CC workers panel at http://10.0.1.128:3000/ in the browser, I get the following error:

GET /sys/restart 200 3ms - 29b
/home/apsync/solex-cc/app/routes/dispatcher.js:360
        process.send({id: "restart_system" });
                ^

TypeError: process.send is not a function
    at Timeout._onTimeout (/home/apsync/solex-cc/app/routes/dispatcher.js:360:17)
    at ontimeout (timers.js:482:11)
    at tryOnTimeout (timers.js:317:5)
    at Timer.listOnTimeout (timers.js:277:5)
apsync@apsync:~/solex-cc$ 

Generalized config

There should be something in place for worker configuration. Suppose you have a worker that listens to RC inputs and sends
messages to other workers in response to them. You would want to be able to configure this worker to do that without having to
write actual code to do it. And you would want to do that with a UI, not by dicking around with some kind of config file and
pushing it manually. Come up with something for this.

workers not found if directory is a symbolic link

I have my workers part of a github repository and wanted them to be linked to the solex-cc/workers directory. In that case the workers are not recognized anymore.

ls -l
drwxr-xr-x 4 apsync apsync 4096 Dez  2 14:37 camera
drwxr-xr-x 3 apsync apsync 4096 Nov 21 10:33 phasers
-rw-r--r-- 1 apsync apsync 8350 Apr 10  2019 README.md
lrwxrwxrwx 1 apsync apsync   54 Dez  1 08:42 start_panel -> /home/apsync/redtail/tools/solexcc_workers/start_panel # here the worker start_panel is not found
drwxr-xr-x 3 apsync apsync 4096 Apr 10  2019 toast
drwxr-xr-x 3 apsync apsync 4096 Sep 21 16:16 video

in this case the worker startup_panel is not recognized.

Systemd startup

Create a .service file to enable Systemd control of SolexCC.

Activate installed workers

Rather than requiring a restart, activate workers and start them as soon as they're installed if possible.

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.