Ankündigung

Einklappen
Keine Ankündigung bisher.

Achtung: Argumenterkennung in Makros

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Achtung: Argumenterkennung in Makros

    Moin auch,

    nur eine kurze Warnung nachdem ich mir 3 Stunden um die Ohren gehauen habe:

    Beispiel anhand des WOL-Makros:

    [hightlight=epc]
    [MACROS]
    // das hier funktioniert:
    WOL(Trigger1, 00,01,02,03,04,7a)


    [EibPC]
    // das hier funktioniert nicht:
    WOL(Trigger1, 00,01,02,03,04,7a)

    // das hier funktioniert:
    WOL(Trigger1, 00,01,02,03,04,a7)
    [/highlight]

    Des Pudels Kern ist das Argument 7a:
    Das Argument wird als fehlerhafte Zahl erkannt und als Syntaxfehler in Spalte 3 quittiert.

    Ist das Argument a7 so könnte es sich auch um eine Variable handeln, der Konstrukt wird also durchgewunken.

    Ich habe daraufhin das WOL Makro für mich umgeschrieben in eine Form, wo zweifelsfrei gleich 0x dabeisteht:
    SendWOL( 0x00,0x01,0x02,0x03,0x04,0x7a)

    Gruß,
    Bernd


    #2
    Hoi

    Ohoh, das ist ja unschön. Respekt, dass Du das überhaupt herausgefunden hast.
    Grüsse Bodo
    Fragen gehören ins Forum, und nicht in mein Postfach;
    EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

    Kommentar


      #3
      Hier das geänderte und für meine Zwecke modizifierte Makro:

      [highlight=epc]
      :begin SendWOL(MAC1,MAC2,MAC3,MAC4,MAC5,MAC6)
      :info $Ein Wake-On-LAN Telegramm an das Gerät mit der Macadresse schicken. Die Argumente werden als Hexcode (mit führendem "0x") angegeben.\\
      Option NP auf dem EibPC muß freigegeben sein$.\\
      $Trigger$ \\
      $1. Byte als Hexcode mit führendem "0x" $\\
      $2. Byte als Hexcode mit führendem "0x" $\\
      $3. Byte als Hexcode mit führendem "0x" $\\
      $4. Byte als Hexcode mit führendem "0x" $\\
      $5. Byte als Hexcode mit führendem "0x" $\\
      $6. Byte als Hexcode mit führendem "0x" $
      :shortinfo $Wake on Lan$
      :return sendudp(10000u16, 255.255.255.255, 255,255,255,255,255,255,\\
      ^MAC1^u08,^MAC2^u08,^MAC3^u08,^MAC4^u08,^MAC5^u08, ^MAC6^u08,\\
      ^MAC1^u08,^MAC2^u08,^MAC3^u08,^MAC4^u08,^MAC5^u08, ^MAC6^u08,\\
      ^MAC1^u08,^MAC2^u08,^MAC3^u08,^MAC4^u08,^MAC5^u08, ^MAC6^u08,\\
      ^MAC1^u08,^MAC2^u08,^MAC3^u08,^MAC4^u08,^MAC5^u08, ^MAC6^u08,\\
      ^MAC1^u08,^MAC2^u08,^MAC3^u08,^MAC4^u08,^MAC5^u08, ^MAC6^u08,\\
      ^MAC1^u08,^MAC2^u08,^MAC3^u08,^MAC4^u08,^MAC5^u08, ^MAC6^u08,\\
      ^MAC1^u08,^MAC2^u08,^MAC3^u08,^MAC4^u08,^MAC5^u08, ^MAC6^u08,\\
      ^MAC1^u08,^MAC2^u08,^MAC3^u08,^MAC4^u08,^MAC5^u08, ^MAC6^u08,\\
      ^MAC1^u08,^MAC2^u08,^MAC3^u08,^MAC4^u08,^MAC5^u08, ^MAC6^u08,\\
      ^MAC1^u08,^MAC2^u08,^MAC3^u08,^MAC4^u08,^MAC5^u08, ^MAC6^u08,\\
      ^MAC1^u08,^MAC2^u08,^MAC3^u08,^MAC4^u08,^MAC5^u08, ^MAC6^u08,\\
      ^MAC1^u08,^MAC2^u08,^MAC3^u08,^MAC4^u08,^MAC5^u08, ^MAC6^u08,\\
      ^MAC1^u08,^MAC2^u08,^MAC3^u08,^MAC4^u08,^MAC5^u08, ^MAC6^u08,\\
      ^MAC1^u08,^MAC2^u08,^MAC3^u08,^MAC4^u08,^MAC5^u08, ^MAC6^u08,\\
      ^MAC1^u08,^MAC2^u08,^MAC3^u08,^MAC4^u08,^MAC5^u08, ^MAC6^u08,\\
      ^MAC1^u08,^MAC2^u08,^MAC3^u08,^MAC4^u08,^MAC5^u08, ^MAC6^u08)
      :end

      [/highlight]

      Aufruf im Programm:

      [highlight=epc]
      if pbutton( ButtonID, PageID) == 1 then SendWOL( 0x00,0x23,0x01,0xa7,0x7f,0xfc) endif
      [/highlight]

      Gruß,
      Bernd

      Kommentar

      Lädt...
      X