• 11.08.2025, 18:00
  • Register
  • Login
  • You are not logged in.

 

Benny2002

God

HowTo : Multiswitch Script selbst erstellen

Friday, June 29th 2007, 1:57am

Hallo zusammen,

Zu Messis Muswi - Multi Switch LED Skript Generator soll hier eine Erklärung folgen, wie das Script genau funktioniert und wie ihr selbst dran arbeitet, um kleine Korrekturen durchzuführen.

Öffnen könnt ihr jedes Script einfach mit dem Windows "Editor".

Das Basisscript.

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
public AquaComputer.TranslationClasses.multiswitch_Rev141 MultiswitchData;

public string StartScript(AquaComputer.TranslationClasses.multiswitch_Rev141 WriteData,
             ref AquaComputer.TranslationClasses.multiswitch_Rev141 ReadData, 
            AquaComputer.UsbHid.HidControl Usb,
            int UsbAdress)
{
    ScriptFunctions Obj = new ScriptFunctions(Usb, UsbAdress);
      MultiswitchData = WriteData;
      ReadData.ReadLock = true;
      Obj.MuswiSkript(WriteData);
      ReadData.ReadLock = false;
    return("");
}


public class ScriptFunctions
{
      private AquaComputer.UsbHid.HidControl HIDControl;
      private int HIDDeviceNumber = -1;
      private bool Success = false;

      public ScriptFunctions(AquaComputer.UsbHid.HidControl Usb, int UsbAdress)
    {
        HIDControl = Usb;
        HIDDeviceNumber = UsbAdress;
    }

      private void WriteToDevice(
            AquaComputer.TranslationClasses.multiswitch_Rev141 Data, 
            AquaComputer.TranslationClasses.multiswitch_Rev141.TransferTypeRegister TransferType)
      {
            string MultiswitchWriteString = Data.CreateStringFromStructure(TransferType);
            if (HIDControl.ControlBusy == false)
            {
                  HIDControl.HidWriteToDevice(HIDDeviceNumber, MultiswitchWriteString);
            }
      }

      public void MuswiSkript(AquaComputer.TranslationClasses.multiswitch_Rev141 Data)
    {
      int i;
        *BODY*
    }

}//end class


Sieht in jedem Script gleich aus. Der eigentliche Ablauf wird dann für den Platzhalter *BODY* eingefügt. Anhand von ein paar Beispielen möchte ich euch nun erklären, welche Befehle für die Ausgabe sorgen.


Beispiel 1
Die einfachste Funktion : LED An/1sek warten/Aus

Source code

1
2
3
4
5
6
7
8
9
10
11
Data.LedPwm[0] = 25;
Data.AmpPwm[0] = 25;
Data.LedPwm[1] = 25;
Data.AmpPwm[1] = 25;
WriteToDevice(Data, AquaComputer.TranslationClasses.multiswitch_Rev141.TransferTypeRegister.OUTPUT);
System.Threading.Thread.Sleep(1000);
Data.LedPwm[0] = 0;
Data.AmpPwm[0] = 0;
Data.LedPwm[1] = 0;
Data.AmpPwm[1] = 0;
WriteToDevice(Data, AquaComputer.TranslationClasses.multiswitch_Rev141.TransferTypeRegister.OUTPUT);


In diesem Script werden die Leistungs und die LED Ausgänge 1&2 eingeschaltet, und nach 1 Sekunde wieder ausgeschaltet. (Wichtig: im Script werden die Ausgänge von 0-7 nummeriert, nicht von 1-8 )

Data.AmpPwm[0] = 25;
"Data.AmpPwm" = Leistungsausgang wird angesteuert.
[0] = Ausgang 0 (entspricht nachher dem 1. Ausgang)
25; = Mit voller Leistung / Am Ende wird dieser Wert einfach wieder auf 0 gesetzt, der Ausgang wird ausgeschaltet….

Data.LedPwm[0] = 25;
"Data.LedPwm" = LEDausgang wird angesteuert.
[0] = Ausgang 0 (entspricht nachher dem 1. Ausgang)
25; = Mit voller Leistung / Am Ende wird dieser Wert einfach wieder auf 0 gesetzt, der Ausgang wird ausgeschaltet….


System.Threading.Thread.Sleep(1000);
Die Zahl in der Klammer gibt an (in Millisekunden 1000ms=1s), wie lang bis zum nächsten Schritt gewartet wird.

WriteToDevice (Data, AquaComputer.TranslationClasses.multiswitch_Rev141.TransferTypeRegister.OUTPUT);
Mit diesem Befehl werden alle Befehle ins Multiswitch geschrieben.

Beispiel 2
Variable Werte an den LEDs 1-4

Source code

1
2
3
4
5
Data.LedPwm[0] = 6;
Data.LedPwm[1] = 12;
Data.LedPwm[2] = 18;
Data.LedPwm[3] = 25;
WriteToDevice(Data, AquaComputer.TranslationClasses.multiswitch_Rev141.TransferTypeRegister.OUTPUT);


Im MuSwi Scripteditor könnt ihr für unter "Variabel" auch Ausgabewerte von 0-100 % definieren, diese werden intern umgerechnet für das Script, da das Multiswitch nur Werte von 0-25 akzeptiert.
Dabei entspricht 0 = Aus, und 25 = 100 %, hier im Beispiel werden also die LED Ausgänge 1-4 mit jeweils 6 = 25%; 12 = 50 %; 18 = 75 % und 25 = 100% angesteuert.
ASUS RTX 4090 ROG Strix OC | Intel i9-12900k | Asus ROG Maximus Z690 Formula | G.Skill Trident Z5 RGB 5600 - 32 GB
Seasonic TX 850 | LG Electronics 43UD79-B | Samsung 980 Pro 2TB | Windows 11 Pro x64 | LianLi 343B Pulverbeschichtet | WaKü by Aquacomputer
Sonos Soundbar + Sub | Ultimaker 3 | Canon EOS 6D Mark II

Benny2002

God

Re: Das Muswi Script - Wie es funktioniert

Friday, June 29th 2007, 1:57am

Beispiel 3
LEDs und Ausgänge faden. Zuerst werden die Ausgänge von 0-100% hochgefadet, dann wird 1 Sekunde gewartet, danach faden die Ausgänge wieder von 100%-0.

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
for(i=0; i <= 25; i++)
{
Data.LedPwm[0] = (byte)i;
Data.LedPwm[1] = (byte)i;
Data.LedPwm[2] = (byte)i;
Data.LedPwm[3] = (byte)i;
WriteToDevice(Data, AquaComputer.TranslationClasses.multiswitch_Rev141.TransferTypeRegister.OUTPUT);
System.Threading.Thread.Sleep(200);
}
System.Threading.Thread.Sleep(1000);
for(i=0; i <= 25; i++)
{
Data.LedPwm[0] = (byte)(25-i);
Data.LedPwm[1] = (byte)(25-i);
Data.LedPwm[2] = (byte)(25-i);
Data.LedPwm[3] = (byte)(25-i);
WriteToDevice(Data, AquaComputer.TranslationClasses.multiswitch_Rev141.TransferTypeRegister.OUTPUT);
System.Threading.Thread.Sleep(200);
}


for(i=0; i <= 25; i++)
Hier wird eine Schleife gestartet. Zuerst wird die Variable "i" als 0 definiert (i=0); dann wird angeben bis wann die Schleife wiederholt wird, in diesem Fall solang i kleiner als 25 ist oder 25 ist (i <= 25). Mit i++ wird definiert, dass die Schleife bei jedem durchlauf i um 1 erhöhen soll.

Wenn man z.B. von 10-20 Faden will, so gibt man hier einfach an for(i=10; i <= 20; i++), i wird als 10 definiert, und wiederholt, solang i kleiner oder gleich 20 ist&#8230;


Data.LedPwm[0] = (byte)i;
Gibt die Ausgänge an die gefadet werden sollen.

System.Threading.Thread.Sleep(200); (innerhalb der Klammer {})
Gibt an, wie lang zwischen den einzelnen Fading Schritten gewartet werden soll.
Für ein schnelles faden muss der Wert möglichst klein sein, für ein langsames Faden hoch.


Beim herunterfaden, also von 100 % auf 0 %, fällt auf dass sich der for Befehl nicht geändert hat, dies ist auch nicht nötig. Eine Umkehrfunktion erreicht man, indem man einfach an den Ausgängen aus dem (byte)i; ein (byte)(25-i);

Wenn man z.B. von 20-10 Faden will, wirds etwas komplizierter, da man hier umgekehrt denken muss ;) Um also von 20 aus 10 zu faden muss man folgendes angeben for(i=5; i <= 15; i++). Der erste Wert "5" errechnet sich aus 25(max. Wert) - 20(Anfangswert); der zweite Wert "10" errechnet sich aus 25(max. Wert) - 10 (Endwert)



Endlosschleife des Script

Eine Endlosschleife des Scripts erreicht man indem man das komplette Script einfach in eine Klammer {} setzt, und ein while(true) davor setzt. Also während true=true wird das Script wiederholt - und das ist immer der Fall :)


So, nun liegts an euch - Viel Spass beim scripten!  ;D
ASUS RTX 4090 ROG Strix OC | Intel i9-12900k | Asus ROG Maximus Z690 Formula | G.Skill Trident Z5 RGB 5600 - 32 GB
Seasonic TX 850 | LG Electronics 43UD79-B | Samsung 980 Pro 2TB | Windows 11 Pro x64 | LianLi 343B Pulverbeschichtet | WaKü by Aquacomputer
Sonos Soundbar + Sub | Ultimaker 3 | Canon EOS 6D Mark II

Benny2002

God

Re: Das Muswi Script - Wie es funktioniert

Monday, July 9th 2007, 1:51am

Kleines Update...

Das Relais lässt sich natürlich auch schalten über ein script...

Source code

1
2
Data.RelaisStatus = 1;
Data.RelaisStatus = 0;


1 = EIN
0 = AUS
ASUS RTX 4090 ROG Strix OC | Intel i9-12900k | Asus ROG Maximus Z690 Formula | G.Skill Trident Z5 RGB 5600 - 32 GB
Seasonic TX 850 | LG Electronics 43UD79-B | Samsung 980 Pro 2TB | Windows 11 Pro x64 | LianLi 343B Pulverbeschichtet | WaKü by Aquacomputer
Sonos Soundbar + Sub | Ultimaker 3 | Canon EOS 6D Mark II

mariosey

Newbie

Re: HowTo : Multiswitch Script selbst erstellen

Monday, November 19th 2007, 1:49pm

hab mein System von aquacomputer nun schon über ein jahr und es läuft traumhaft,
nur zum Multiswitch hab ich eine kleine frage,
unf zwar hab ich hier den Script generator gefunden, und wollte das mal testen, doch bekomme beim ausführen immer eine Fehlermeldung das die usb.dll fehlt und die mytranslationclasses auch.

Was mach ich falsch oder was muss ich ändern?

Danke schonmal.
Gruß
Mario
Aquaero + Multiswitch + Aquastream custom Ausgleichsbehälter custom Wärmetauscher sämtliche Kühlkörper von AC Durchfluss 39l/h bei 65Hz

sebastian

Administrator

Re: HowTo : Multiswitch Script selbst erstellen

Monday, November 19th 2007, 1:59pm

installiere mal eine aktuelle aquasuite version.

iNFiNiTE

God

Re: HowTo : Multiswitch Script selbst erstellen

Monday, November 19th 2007, 3:13pm

liegt zu 90% hieran:

Quoted from "messi"


- WICHTIG: Die erstellten Skripte müssen direkt im Programmordner der Aquasuite plaziert werden bevor sie mit der Aquasuite geladen werden können.

mariosey

Newbie

Re: HowTo : Multiswitch Script selbst erstellen

Monday, November 19th 2007, 3:28pm

Aquasuite hab ich bereits nach der ersten Fehlermeldung dieser art neu aufgespielt, die version, die hier zum Download steht.

die Dateien liegen im Aquasuite ordner.

Sonst noch vorschläge?
oder anders gefragt, wo liegt denn diese usb.dll?
im system32 ordner oder is das eine datei der aquasuite selbst?
Aquaero + Multiswitch + Aquastream custom Ausgleichsbehälter custom Wärmetauscher sämtliche Kühlkörper von AC Durchfluss 39l/h bei 65Hz

mariosey

Newbie

Re: HowTo : Multiswitch Script selbst erstellen

Monday, November 19th 2007, 3:34pm

Ergänzung, Problem gelöst, es hatte tatsächlich die usb.dll gefehlt im aquasuite ordner, habs nochmal installiert in einen anderen ordner, schon gings.

PS: klasse Programm, euer Multiswitch generator,
Aquaero + Multiswitch + Aquastream custom Ausgleichsbehälter custom Wärmetauscher sämtliche Kühlkörper von AC Durchfluss 39l/h bei 65Hz

iNFiNiTE

God

Re: HowTo : Multiswitch Script selbst erstellen

Monday, November 19th 2007, 11:18pm

schön dass dir mein prorgamm gefällt :D

wurli3000

Newbie

Re: HowTo : Multiswitch Script selbst erstellen

Monday, June 9th 2008, 11:25pm

ok nochmal es geht nicht die datein sint im ordner

also was soll ich machen
neu install und noch immer nicht alles neue geflacht

also was soll ich machen

Wassercpu

Junior Member

Re: HowTo : Multiswitch Script selbst erstellen

Thursday, October 2nd 2008, 1:06am

Leute Messi und Benny....

Das ist ja total goil....

Das ist das was die Welt zur Rettung braucht...Danke..

Noch ne Frage hat einer hinbekommen ..wie im Ac Video,

das die KK uder Ausgänge auf Werte des Aquareo Reagieren?

Sprich die Wasser Temps gehen rauf und das Rote Licht an oder so...

Das wäre nämlich der ober Clou

kido

Junior Member

Re: HowTo : Multiswitch Script selbst erstellen

Thursday, November 27th 2008, 4:25pm

Hallo, erst mal alle hier im Forum... nach langer Bastelei bin ich nun endlich so weit um mit dem Multiswitch herum zu spielen... Habe mir auch natürlich den Script Generator herunter geladen, aber egal welche scripte ich auch hoch lade , ob selbst geschrieben, die Bsp. Scripte von Aquacomputer oder Benny, die vom Generator, es kommt immer die gleiche Meldung. Habe mal ein Screenshot von der Fehlermeldung gemacht. Habe leider noch keine grossen Erfahrungen! Weiss vielleicht jemand den Grund des Fehlers?

http://www.bilder-hochladen.net/files/7aeb-3-jpg.html


Danke schon mal im voraus

iNFiNiTE

God

Re: HowTo : Multiswitch Script selbst erstellen

Thursday, November 27th 2008, 4:42pm

schau dir die 2te & 3te zeile an, dann weisst du es. les dir nochmal die beschreibung hier genau durch, besonders:

Quoted from "messi"


Nennenswertes
- WICHTIG: Die erstellten Skripte müssen direkt im Programmordner der Aquasuite plaziert werden bevor sie mit der Aquasuite geladen werden können.

anders gesagt: in dem ordner wo du dein skript platzierst muss auch die

Quoted

USB.dll
und die

Quoted

myTranslationClasses.dll
vorhanden sein.

messi

kido

Junior Member

Re: HowTo : Multiswitch Script selbst erstellen

Thursday, November 27th 2008, 10:01pm

Muss mich wohl für meine Blödheit entschuldigen ::) aber weiss net so recht was du meinst. Die erstellten scripte habe ich in den passenden Ordner .....aquasuit/scripte... rein kopiert
http://s2.imgimg.de/uploads/Screenshot2504965ceJPG.jpg

aber was meinst du mit den beiden Datein usb.dll und myTranslationClasses.dll wo muss ich die rein kopieren bzw wo bekomme ich die her zum kopieren?Oder kann/muss ich die Datein erst erstellen?

Verstehe nur Bahnhof, sorry!

iNFiNiTE

God

Re: HowTo : Multiswitch Script selbst erstellen

Friday, November 28th 2008, 9:42am

ganz einfach.. in dem ordner wo dein skript liegt, muessen auch die beiden dll dateien liegen. was in deinem letzten screenshot nicht der fall ist. einfach die beiden genannten dll files in das verzeichnis kopieren wo deine skripts liegen und es sollte gehen :)

kido

Junior Member

Re: HowTo : Multiswitch Script selbst erstellen

Friday, November 28th 2008, 9:56am

Und wo her bekomme ich die beiden Datein? Oder muss ich die erst erstellen?

Stephan

Administrator

Re: HowTo : Multiswitch Script selbst erstellen

Friday, November 28th 2008, 1:06pm

Such doch einfach mal im aquasuite Programmordner ;)

kido

Junior Member

Re: HowTo : Multiswitch Script selbst erstellen

Friday, November 28th 2008, 1:50pm

Alles läuft super, Danke für die schnellen antworten!!!!


kido

Junior Member

Re: HowTo : Multiswitch Script selbst erstellen

Sunday, November 30th 2008, 9:18pm

So habe nun schon das ein oder andere Programm geschrieben. Natürlich mit dem Script Generator ... ;) echt Super dieses Tool, erleichtet einen Programmier neuling wie mir enorm die Arbeit ;D.

Habe noch eine Frage betüglich der fading bzw. Dimm funktion.
Wenn ich die Dioden dimme, ensteht ein Flakern.
Denke mal das das Programm die Diode einschaltet, ausschaltet um einen Wert erhöht/senkt einschaltet usw. und dadurch dieses Flackern endsteht. Gibt es eine möglichkeit die Diode flüssig also ohne Flackern zu dimmen ?

iNFiNiTE

God

Re: HowTo : Multiswitch Script selbst erstellen

Sunday, November 30th 2008, 11:54pm

mir ist bis dato keine bekannt :'(