Ankündigung

Einklappen
Keine Ankündigung bisher.

PercentToFloat-Macro-Frage

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

    PercentToFloat-Macro-Frage

    Hallo *,

    In der Enertex.lib gibt es das Macro PercentToFloat()

    Code:
    :begin PercentToFloat(PercentGA, Name)
    :info $Konvertiert einen Prozentwert(Datentyp u08) in eine f32 Variable, deren Namen sie wählen können, z.B. 50% wird zu 0.5f32$\\
        $Gruppenadresse von welcher der Prozent Wert gelesen werden soll$\\
        $Name der Variable$
    :shortinfo $Konvertiert einen Prozentwert in eine Fließkommazahl$
    if systemstart() then read(PercentGA) endif
    Name = convert((convert(PercentGA, 0u32) + 1u32)*100u32 / 256u32,0f32)[COLOR=Red] /100f32[/COLOR]
    if change(PercentGA) then Name = convert((convert(PercentGA, 0u32) + 1u32)*100u32 / 256u32,0f32) [COLOR=Red]???[/COLOR] endif
    :end
    Warum wird im change() Pfad am Ende nicht mehr durch 100 dividiert? Bug oder Feature?

    Gruß,
    Markus

    #2
    Zitat von MarkusL Beitrag anzeigen
    Hallo *,
    Bug oder Feature?
    Das erscheint mir etwas buggy. Werd das mal einpflegen...
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #3
      Moin Michael,

      denke ich auch weil mir nichts als Erklärung für ein Feature eingefallen ist (wäre auch schwer wenn einfach ein falscher Wert herauskommt).

      Könnt ihr bitte auch ein FloatToPercent-Macro in eure lib aufnehmen?
      Dann werden z.B. die Rollladenpositionsmacros übersichtlicher...

      Grüße,
      Markus

      Kommentar


        #4
        Hallo,

        das Macro PercentToFloat wurde überarbeitet und wird mit dem nächsten Macro-Update zur Verfügung stehen. Wenn es schon vorher benötigt wird, einfach mit mir in Verbindung setzen.

        Zitat von MarkusL Beitrag anzeigen

        Könnt ihr bitte auch ein FloatToPercent-Macro in eure lib aufnehmen?
        Dann werden z.B. die Rollladenpositionsmacros übersichtlicher...
        Bei einem FloatToPercent-Macro stellt sich die Frage, wie der Prozentwert aussehen soll!?

        Grüße
        Mathias(Praktikant bei Enertex)

        Kommentar


          #5
          Zitat von Bello Beitrag anzeigen
          Bei einem FloatToPercent-Macro stellt sich die Frage, wie der Prozentwert aussehen soll!?
          Nun ja, in erster Näherung hätte ich gedacht, genau wie für PercentToFloat erwartet: convert( Float_Value * 256f32 - 1f32, 0u08), oder?
          BR
          Marc

          Kommentar


            #6
            Zitat von saft6luck Beitrag anzeigen
            convert( Float_Value * 256f32 - 1f32, 0u08), oder?
            Das ist die Frage: möchte man eine Zahl zwichen 0...255 oder zum Beispiel 53% als Ergebnis?!

            Kommentar


              #7
              Hallo Mathias,

              Wie der Name FloatToPercent es schon sagt :" 0...100%" ;-)

              Evtl. noch besser mit Parameter "Precision"=Anzahl der Nachkommastellen:
              FloatToPercent (floatVar, percentVar, Precision)

              My 2 cents only...

              Gruß,
              Markus

              Kommentar


                #8
                Zitat von Bello Beitrag anzeigen
                Das ist die Frage: möchte man eine Zahl zwichen 0...255 oder zum Beispiel 53% als Ergebnis?!
                Hm, da verstehe ich die Frage nicht. Was du wohl wissen willst ist der Dateityp des Ergebnisses, oder wie? Dann kannst du doch beide (gibt es da nicht noch mehr?) Möglichkeiten implementieren, oder?

                Der Dateityp von 0-100% ist doch auch im eibPC das 0u08, genauso wie 0-255, oder? Willst du einen String erzeugen?

                Zu guter Letzt erwarte ich schon, dass ein FloatToPercent(PercentToFloat(XY)) wieder (annähernd) XY wird und nicht XY% -> u08 als Dateityp.
                BR
                Marc

                Kommentar

                Lädt...
                X