Commits

Christian Specht  committed cc36974 Draft

improve readme

  • Participants
  • Parent commits 53f61ca

Comments (0)

Files changed (1)

File readme-full.md

 ![logo](https://bitbucket.org/christianspecht/missilesharp/raw/tip/img/logo128x128.png)
 
-MissileSharp is a .NET library to control an USB Missile Launcher.
+MissileSharp is a .NET library to control an USB Missile Launcher.  
+*(There is also a demo app called the [MissileSharp Launcher](http://christianspecht.de/missilesharp/#launcher))*
 
 For now it supports only one model, the [Dream Cheeky Thunder](http://www.dreamcheeky.com/thunder-missile-launcher), as this is the only one I own.  
 *(I'm in Germany, and I bought my missile launcher [from a German shop](http://www.getdigital.de/products/USB_Raketenwerfer)...but it seems to be the exact same model as the Dream Cheeky Thunder.)*
 It has only one constructor, which expects a parameter of the type `ILauncherModel` - these are the settings for the different missile launcher models.  
 *(As MissileSharp only supports one model at the moment, you can only pass a* `ThunderMissileLauncher` *for now)*
 
-#### Simple example
+### Simple example
+
+Create a new `CommandCenter` instance:
 
     var launcher = new CommandCenter(new ThunderMissileLauncher());
 
+You can also use the `LauncherModelFactory` if you don't want to create an instance of the `ThunderMissileLauncher` class directly, e.g. to get the model from a config file:
+
+	var launcherModel = LauncherModelFactory.GetLauncher("MissileSharp.ThunderMissileLauncher");
+	var launcher = new CommandCenter(launcherModel);
+
+Then, you can start sending commands to the device.  
 There are three different types of commands:
 
 1. Move (`Up`, `Down`, `Left`, `Right`)  
 
     launcher.Reset().Right(1000).Up(500).Fire(2);
 
-#### Executing sequences of commands
+### Executing sequences of commands
 
 Instead of directly calling the methods, you can also pass a complete sequence of commands at once as an `IEnumerable<LauncherCommand>`.  
 A `LauncherCommand` consists of an [enum value](https://bitbucket.org/christianspecht/missilesharp/src/tip/src/MissileSharp/Command.cs) (e.g. `Command.Up` or `Command.Fire` - exactly the same commands as explained above) and a numeric parameter (for either the duration or the number of shots).
 
 	launcher.RunCommandSet(commands);
 
-#### Config files
+### Config files
 
 MissileSharp supports loading command sets from a config file as well.  
 A config file with the commands from the examples above would look like this:
 The left one opens the settings file for editing.  
 After editing, click the right button to re-load the settings from the file.
 
-#### How to get MissileSharp Launcher:
+### How to get MissileSharp Launcher:
 
 - [Install via ClickOnce](http://missilesharp.codeplex.com/downloads/get/clickOnce/MissileSharp.Launcher.application)
 - [Download a zip file with the binaries](https://bitbucket.org/christianspecht/missilesharp/downloads)
 
 ### License
 
-MissileSharp is licensed under the MIT License. See [License.txt](https://bitbucket.org/christianspecht/missilesharp/raw/tip/License.txt) for details.
+MissileSharp is licensed under the MIT License. See [License.txt](https://bitbucket.org/christianspecht/missilesharp/raw/tip/License.txt) for details.
+
+---
+
+### Project Info
+
+<script type="text/javascript" src="http://www.ohloh.net/p/602597/widgets/project_basic_stats.js"></script>  
+<script type="text/javascript" src="http://www.ohloh.net/p/602597/widgets/project_languages.js"></script>
+