2 Project Roadmap
John Breaux edited this page 2022-05-10 15:25:59 -05:00

Project Roadmap

Overview

Mind Reader is an accessibility extension which provides features that are not normally available or enabled in Visual Studio Code or screen reader software.

Mind Reader currently supports the LEGO SPIKE Prime Hub, however the vastly more popular, if outdated, LEGO Mindstorms EV3 kit is both cheaper on the second-hand market and already common in educational settings.

EV3 Scenarios (Modified ev3dev-browser)

Priority Scenario Description/Notes State
0 Connection The user initiates a connection between Mind Reader and the LEGO Mindstorms EV3 Hub in the Hub Actions menu. The modified ev3dev-Browser software shows the unit selection prompt, which lists ev3dev units connected via Ethernet. The modified ev3dev-Browser software initiates an SSH Session. X
1 Disconnection The user initiates a disconnection from the LEGO Mindstorms EV3 Hub in the Hub Actions menu. The modified ev3dev-Browser software returns the Hub to its normal state, and disconnects from the SSH Session. X
1 Upload The user initiates a file upload in the Hub Actions menu. The modified ev3dev-Browser software uploads the project to the ev3dev unit X
1 Delete Program The user initiates a file deletion in the Hub Actions menu. The modified ev3dev-Browser software commands the ev3dev unit to delete the project currently open in the Editor. X
2 Run Program The user initiates the running of a program in the Hub Actions menu. The modified ev3dev-Browser software commands the ev3dev unit to run the project's main file. X
3 Stop Execution The user issues a command to stop execution in the Hub Actions menu. The modified ev3dev-Browser software instructs the ev3dev unit to stop execution and relaunch the normal user interface. X

EV3 Scenarios (Hand-rolled implementation)

Priority Scenario Description/Notes State
0 Connection The user initiates a connection between Mind Reader and the LEGO Mindstorms EV3 Hub in the Hub Actions menu. Mind Reader initiates a connection with the ev3dev unit over SSH using default credentials or credentials pulled from VSCode settings. If this fails, attempt public key authentication using .ssh/id_* private keys. If this fails, prompt the user to add their credentials to settings, and open the settings pane which contains those settings. X
1 Disconnection The user initiates a disconnection from the LEGO Mindstorms EV3 Hub in the Hub Actions menu. The modified Mind reader returns the Hub to its normal state and launches the file browser, then disconnects from the SSH Session. X
1 Upload The user initiates a file upload in the Hub Actions menu. Mind Reader initiates a SFTP connection with the EV3 Hub, and uploads the current project. X
1 Delete Program The user initiates a file deletion in the Hub Actions menu. Mind Reader initiates a SFTP connection with the EV3 Hub, and deletes the directory which matches the project currently open in the Editor. X
2 Run Program The user initiates the running of a program in the Hub Actions menu. Mind Reader commands the ev3dev unit to run the main file. X
3 Stop Execution The user issues a command to stop execution in the Hub Actions menu. Mind Reader instructs the ev3dev unit to stop execution and relaunch the normal user interface. X

EV3 Roadmap

Milestone Suggested Duration Activity
Milestone 1 1 week Initiate Connection with EV3 Hub
Milestone 2 4 weeks Upload and Delete projects, Disconnect from EV3 Hub
Milestone 3 1 week Run programs on the Hub
Milestone 4 2 weeks Stop programs on Hub
Milestone 5 2 weeks Refactoring and Regression Testing