====== Pontech Control .NET ====== ===== General Concept ===== A Multi-Purpose Plugin Extend-able Environment. Plugin's are loaded and appear in a drop menu. Once activated, a new tab will consume an instance of the plugin. Plugins will have the ability to access components of other Plugins, ie. **Servo Slider Plugin** relies on **RS232 Comm. Plugin**. Plugins developed for the Desktop can be utilized in a GUI-Less environment, i.e. Embedded Linux Controllers running Mono. ==== Plugin Ideas ==== * Communication Plugins(RS232, Bluetooth, Remote Network) * GUI Control Forms for SV203, STP10x, HBC101(Sliders, EEPROM Config Forms, Terminal * Automated Testing Utilities * Gecko Powered Wiki Documentation Browser/Tech Support Form * SVBAS.NET & S-Record Loader.NET Plugin's! * RSS Feed of firmware updates with automated download and prep via S-Record Plugin/other * Plugin Grabber(Grab plugins via web from Trac/Subversion Repo's) * Plugin Editor(Check-out, Edit/Test, Check-in!) //**Pontech Control would become a very simple yet elegant concept rivaling [[http://www.eclipse.org/|Eclipse]] imho!**// * Private Customer Plugins... ===== Objective ===== Create an application which uses modules/plugins to adapt the application to serve multiple functions. ===== Status ===== I have a runtime which loads source files and compiles it into an Assembly Object. Any .NET language can be used(VB.NET, C#, Boo, etc). The Assembly Object's are currently stored in a hash referred to by filename. The current goal is to make the HashTable of Assembly Objects global(accessible to plugins themselves). And store the Assembly Object by a name found **within** the file as opposed to by filename((This would allow us to have a directory with two files: **serial.boo**(name:serial) and **serial-old.boo**(name:serial). We could easily load one or the other without having to modify code referring to the module named **serial**.)). ===== Information ===== [[http://www.mono-project.com/HowToSystemIOPorts|Mono .NET Serial Example]] ===== Recommendations ===== Still need more information.