hello,
I think a better way (that did not need to copy the data) is to use a union : 
i.e. 2 different type can be declared in the same memory space.
something like :

// union type definition
union int_and_float {
  int8_t my_int[4];
  float my_float;
};

int_and_float my_int_and_float; // declaration of a variable of this type

my_int_and_float.my_int[0] = 0; // value assignation
my_int_and_float.my_int[1] = 0;
my_int_and_float.my_int[2] = 0;
my_int_and_float.my_int[3] = 0;

the float data should be in : my_int_and_float.my_float;

I did not test this code, It will certainly contain syntaxes errors, but you'll 
find the way to correct it on internet...


An other solution is to use bitwise operator :

my_float = (byte1 << 24) & (byte2 << 16) & (byte3 << 8) & byte4;

cheers
Cyrille

Le 05/04/2019 à 19:04, Arda Eden a écrit :
I found a method using "memcpy". Seems like it is working for now.

Arda Eden <ardae...@gmail.com <mailto:ardae...@gmail.com>>, 5 Nis 2019 Cum, 
16:00 tarihinde şunu yazdı:

    Hi,
    I am trying to write a Pure Data external for getting real time motion 
capture values from an Xsens system. According to the manual 
(https://xsens.com/download/usermanual/3DBM/MVN_real-time_network_streaming_protocol_specification.pdf),
 the x, y and z coordinates of the skeleton segment positions are transferred 
over network (udp) as sequential 4 bytes (32 bit floating point - big endian).

    I am reading the udp data with [netreceive] succesfully and able to reach 
any value I need.  Now trying to find a way to combine these (big endian) 
sequential 4 bytes in order to get the resulting 32 bit floating point number. 
A little advice would speed me up.

    By the way, I studied the [oscparse] source. It was very helpful in most 
ways but also a little complicated too.

    Thanks already.

-- Arda EDEN
    Yıldız Teknik Üniversitesi
    Sanat ve Tasarım Fakültesi
    Müzik ve Sahne Sanatları Bölümü
    Duysal (Ses) Sanatları Tasarımı Programı
    İstanbul/Türkiye

    Yildiz Technical University
    Faculty of Art and Design
    Department of Music and Performing Arts
    Audio Design Program
    Istanbul/Turkey



--
Arda EDEN
Yıldız Teknik Üniversitesi
Sanat ve Tasarım Fakültesi
Müzik ve Sahne Sanatları Bölümü
Duysal (Ses) Sanatları Tasarımı Programı
İstanbul/Türkiye

Yildiz Technical University
Faculty of Art and Design
Department of Music and Performing Arts
Audio Design Program
Istanbul/Turkey

_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list




_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list

Reply via email to