/** @see org.jnode.driver.Driver#startDevice() */ protected void startDevice() throws DriverException { final Device ideDev = getDevice(); // Register my api's ideDev.registerAPI(SCSIHostControllerAPI.class, this); // Create the ATAPI bus this.atapiBus = new ATAPIBus(ideDev); // Create the generic SCSI device, attached to the ATAPI bus scsiDevice = new ATAPISCSIDevice(atapiBus, "_sg"); // Execute INQUIRY try { scsiDevice.inquiry(); } catch (SCSIException ex) { throw new DriverException("Cannot INQUIRY device due to SCSIException", ex); } catch (TimeoutException ex) { throw new DriverException("Cannot INQUIRY device due to TimeoutException", ex); } catch (InterruptedException ex) { throw new DriverException("Interrupted while INQUIRY device", ex); } // Register the generic SCSI device. try { final DeviceManager dm = ideDev.getManager(); synchronized (dm) { dm.rename(scsiDevice, "sg", true); dm.register(scsiDevice); dm.rename(ideDev, SCSIHostControllerAPI.DEVICE_PREFIX, true); } } catch (DeviceAlreadyRegisteredException ex) { throw new DriverException(ex); } }
/** @see org.jnode.driver.Driver#startDevice() */ protected void startDevice() throws DriverException { final Device device = getDevice(); try { final DeviceManager dm = InitialNaming.lookup(DeviceManager.NAME); dm.rename(device, getDevicePrefix() + "-" + device.getId(), false); } catch (DeviceAlreadyRegisteredException ex) { log.error("Cannot rename device", ex); } catch (NameNotFoundException ex) { throw new DriverException("Cannot find DeviceManager", ex); } device.registerAPI(FrameBufferAPI.class, this); }
public static void main(String[] args) throws Exception { final String devId = (args.length > 0) ? args[0] : "" /*"fb0"*/; Surface g = null; try { Device dev = null; if ("".equals(devId)) { final Collection<Device> devs = DeviceUtils.getDevicesByAPI(FrameBufferAPI.class); int dev_count = devs.size(); if (dev_count > 0) { Device[] dev_a = devs.toArray(new Device[dev_count]); dev = dev_a[0]; } } if (dev == null) { final DeviceManager dm = InitialNaming.lookup(DeviceManager.NAME); dev = dm.getDevice(devId); } final FrameBufferAPI api = dev.getAPI(FrameBufferAPI.class); final FrameBufferConfiguration conf = api.getConfigurations()[0]; g = api.open(conf); TextScreenConsoleManager mgr = new TextScreenConsoleManager(); ScrollableTextScreen ts = new FBConsole.FBPcTextScreen(g).createCompatibleScrollableBufferScreen(500); ScrollableTextScreenConsole first = new ScrollableTextScreenConsole( mgr, "console", ts, ConsoleManager.CreateOptions.TEXT | ConsoleManager.CreateOptions.SCROLLABLE); mgr.registerConsole(first); mgr.focus(first); new CommandShell(first).run(); Thread.sleep(60 * 1000); } catch (Throwable ex) { log.error("Error in FBConsole", ex); } finally { if (g != null) { log.info("Close graphics"); g.close(); } } }
protected void startDevice() throws DriverException { final Device device = getDevice(); final DeviceManager dm; try { dm = InitialNaming.lookup(DeviceManager.NAME); dm.rename(device, getDevicePrefix(), true); } catch (DeviceAlreadyRegisteredException ex) { log.error("Cannot rename device", ex); throw new DriverException("Cannot rename device", ex); } catch (NameNotFoundException ex) { throw new DriverException("Cannot find DeviceManager", ex); } int busId = 0; // fix to handle multiple firewire controllers bus = new FireWireBus(this, busId); }
/** * @see org.jnode.driver.DeviceFinder#findDevices(org.jnode.driver.DeviceManager, * org.jnode.driver.Bus) */ public void findDevices(DeviceManager devMan, Bus bus) throws DeviceException { try { devMan.register(new LoopbackDevice(bus)); } catch (DriverException ex) { throw new DeviceException(ex); } }