Ankündigung

Einklappen
Keine Ankündigung bisher.

4 Byte float Datatype issue

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

    [EibStudio] 4 Byte float Datatype issue

    Hello,
    in ETS4 i've got a GA with Datatype 4 Byte (Type 14.056 float value)
    When the GA is imported in Eibpc via .esf file, the result is: DataType: positive Integer

    The value in the ETS monitor (example 32,20) is totally different than the value in Eibpc monitor (example 1141578154).

    Can someone suggest a solution for this?

    #2
    Zitat von TheMax74 Beitrag anzeigen
    GA with Datatype 4 Byte (Type 14.056 float value)
    Use the GA and append f32 to it.

    Example:

    // GA is "Bathroom Temp-4/2/34"

    if change(mytemp) then write( "Bathroom Ti-4/2/34"f32, 22.0f32) endif

    Regards,
    Bernd

    Kommentar


      #3
      Thank you for the suggestion, but i think we need a fix for this problem.
      Using a workaround is a waste of time, specially in my case (knx to udp routing).

      Kommentar


        #4
        Zitat von TheMax74 Beitrag anzeigen
        we need a fix for this problem
        This is the fix. Just have a look at the manual
        Zitat von HandbuchEibPC_USA-22.odt, 2012-06-19, Page 116
        Defects in ets
        Unfortunately, the ets does not export the appropriate numeric type for all data types (where the bit length is always given correctly.)
        So you have to append the f32 once to the GA within your program.
        Actually I am using a macro for this thing:

        [highlight=epc]
        :begin F32( GroupAddress )
        :info $Gruppenadresse, die explizit ein f32 sein sollen$

        :var GA@
        GA@ = ^GroupAddress^f32

        :end
        [/highlight]

        And I use it once this way within the EibPC program:

        [highlight=epc]
        F32("Livingroom rF-4/0/161")
        [/highlight]

        Regards,
        Bernd

        Kommentar


          #5
          Ok, thanks.

          [highlight=epc] adr=0u16
          info=$$
          if event(readknx(adr,info)) then {
          sendudp(4807u16, 192.168.1.3,convert(adr,$$)+$=$+convert(info,$$))
          [/highlight]
          This is my simple code to transmit KNX GA to UDP.
          Obviously i need a lot of code to manually enter GAs that having float values.

          It's a suggestion: In the Eibstudio, to "unlatch" the file .esf from Eibstudio program code, by putting the GAs in a separate file that can be manually modified independently from the .efs export file.

          Thank you anyway for the hint Bernd.

          Kommentar


            #6
            Zitat von TheMax74 Beitrag anzeigen
            It's a suggestion: In the Eibstudio, to "unlatch" the file .esf from Eibstudio program code, by putting the GAs in a separate file that can be manually modified independently from the .efs export file.
            well, you can do this, if you want: Edit the esf-File as follow
            Code:
            EibPC.Test.0/2/5    GA-Float32    EIS 9 'IEEE Float' (4 Byte)    Low
            With that you have defined a "GA-Float32-0/2/5" Groupadress.
            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
            Enertex Produkte kaufen

            Kommentar


              #7
              Super, thank you.
              For now i will use this trick, but on successive export from ETS, i need to remember the modified rows, otherwise these will be overwritten.

              Kommentar


                #8
                Zitat von TheMax74 Beitrag anzeigen
                Super, thank you.
                For now i will use this trick, but on successive export from ETS, i need to remember the modified rows, otherwise these will be overwritten.
                Or you can use a different file and patch them.
                offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                Enertex Produkte kaufen

                Kommentar

                Lädt...
                X