Skip to content

Refactor #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
matteosuppo opened this issue Jul 17, 2015 · 4 comments
Open

Refactor #3

matteosuppo opened this issue Jul 17, 2015 · 4 comments
Assignees
Labels
type: enhancement Proposed improvement type: support OT: Request for help using the project

Comments

@matteosuppo
Copy link
Contributor

matteosuppo commented Jul 17, 2015

This project would probably benefit from a refactor.

We could organize the code in different packages:

main: starts things up, manage the daemonization
server: manage the http and websocket server
StartServer: start a http and https server and serves the requests
discovery: searches for serial and network ports
Loop: starts a Loop updating the list of ports found
monitor: dialogues with serial and network ports
Open: open a port to communicate, returns a channel where you can push info
Close: close a port to stop communicating
program: upload a sketch on a board connected to a port
Program: program a port

@matteosuppo matteosuppo added type: enhancement Proposed improvement type: support OT: Request for help using the project labels Jul 17, 2015
@cmaglie
Copy link
Member

cmaglie commented Jul 17, 2015

The Discovery/Monitor/Upload "separation of responsibilities" is followed in the Java IDE too.

To increase the amount of code reuse, one suggestion that was proposed in the past, was to create a set of command-line tools for dealing with each step, so the Java IDE and the Web IDE can both connect to these tools via stdin/stdout. Currently we do that only for the "Upload" part (because we already have avrdude and bossac).

@AlbyIanna
Copy link

AlbyIanna commented Jul 19, 2019

@matteosuppo @mastrolinux Is there any plan to proceed on this refactor? It would be really useful to the frontend, since the logic to handle this stuff is crazy.

@mastrolinux
Copy link
Contributor

Yes, most of these features are now in the arduino-cli project. We should be able to integrate them here within the next 2 months.

@AlbyIanna
Copy link

Cool. Maybe we should migrate to jira issues then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: enhancement Proposed improvement type: support OT: Request for help using the project
Projects
None yet
Development

No branches or pull requests

4 participants