mirror of
				https://github.com/We-Dont-Byte/Mind_Reader.git
				synced 2025-02-04 10:38:42 +00:00 
			
		
		
		
	ev3Manager:
- Start work on ev3 support - Explore functionality of ev3dev-Browser - Realize it's super limited
This commit is contained in:
		@@ -1,6 +1,7 @@
 | 
			
		||||
import * as vscode from 'vscode';
 | 
			
		||||
import * as path from 'path';
 | 
			
		||||
import HubManager from '../hubManager';
 | 
			
		||||
import EV3Manager from '../ev3Manager';
 | 
			
		||||
 | 
			
		||||
import { CommandEntry } from './commandEntry';
 | 
			
		||||
 | 
			
		||||
@@ -34,10 +35,20 @@ export const hubCommands: CommandEntry[] = [
 | 
			
		||||
    name: 'mind-reader.deleteProgram',
 | 
			
		||||
    callback: deleteProgram
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: 'mind-reader.ev3.test',
 | 
			
		||||
    callback: ev3test
 | 
			
		||||
  }
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
// Current connected hub
 | 
			
		||||
let hub: HubManager | null = null;
 | 
			
		||||
let ev3: EV3Manager | null = null;
 | 
			
		||||
 | 
			
		||||
async function ev3test(): Promise<void> {
 | 
			
		||||
  ev3 = await EV3Manager.activate();
 | 
			
		||||
  ev3.test();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function connectHub(): Promise<void> {
 | 
			
		||||
  if (hub && hub.isOpen()) {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										31
									
								
								src/ev3Manager.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								src/ev3Manager.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
import * as vscode from 'vscode';
 | 
			
		||||
//import * as fs from 'fs';
 | 
			
		||||
//import { logger } from './extension';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
export default class EV3Manager {
 | 
			
		||||
   private ev3devBrowser: vscode.Extension<any> | undefined = vscode.extensions.getExtension("ev3dev.ev3dev-browser");
 | 
			
		||||
 | 
			
		||||
   private constructor() {}
 | 
			
		||||
   public test() {
 | 
			
		||||
      //console.log(this.ev3devBrowser);
 | 
			
		||||
      // This seems to be the only thing we, as an extension,
 | 
			
		||||
      // are allowed to do with this other extension.
 | 
			
		||||
      vscode.commands.executeCommand("ev3devBrowser.action.pickDevice", null);
 | 
			
		||||
   }
 | 
			
		||||
   public static activate(): Promise<EV3Manager> {
 | 
			
		||||
      return new Promise (async (resolve) => {
 | 
			
		||||
         try {
 | 
			
		||||
            let mgr = new EV3Manager();
 | 
			
		||||
            // Wait for ev3devBrowser to start
 | 
			
		||||
            await mgr.ev3devBrowser?.activate();
 | 
			
		||||
            // Return ev3Manager
 | 
			
		||||
            return resolve(mgr);
 | 
			
		||||
         }
 | 
			
		||||
         catch (err) {
 | 
			
		||||
            throw err;
 | 
			
		||||
         }
 | 
			
		||||
      });
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user