private void BuildTable_Info(StringBuilder stb, string sortby = null, string sortorder = null) { StatusPage.BuildTable_Info(stb, ((HSPI)plugin).controller.UsedDevices, page_name: page_link, sortby: sortby, sortorder: sortorder, inSlider: false ); }
/// <summary> /// Initialize the plugin and associated hardware/software, start any threads /// </summary> /// <param name="port">The COM port for the plugin if required.</param> /// <returns>Warning message or empty for success.</returns> public override string InitIO(string port) { // Connect() should call it, but doesn't hurt to call again Connected(true); // First time create Controller if (controller == null) { controller = new Controller(this); } // After reconnect - just update, don't recreate controller.Update(settings.InitIOinThread); // Create and register the web pages statusPage = new StatusPage(this); //configPage = new HSPI_Config(this); // Register help page RegisterWebPageDesc(Name + " Help", "AKSmartDevice/AKSmartDeviceVer1.htm", "Help1", helplink: true); RegisterWebPageDesc("Help", "/AKSmartDevice/AKSmartDeviceVer1.htm", "Help2", helplink: false); RegisterWebPageDesc("Youtube Video", "http://www.youtube.com/watch?v=mmyrx8kXnWY", "Help2"); // Note: SetIOMulti() is called ONLY for devices owned by this plugin // To recive value update for device from another plugin need to // RegisterEventCB(HSEvent.VALUE_CHANGE), then HSEvent() is called for EVERY device Callback.RegisterEventCB(Enums.HSEvent.VALUE_CHANGE, GetName(), InstanceFriendlyName()); Callback.RegisterEventCB(Enums.HSEvent.CONFIG_CHANGE, GetName(), InstanceFriendlyName()); //AppDomain currentDomain = AppDomain.CurrentDomain; //currentDomain.AssemblyResolve += new ResolveEventHandler(Utils.LoadFromSameFolder); return(base.InitIO(null)); }