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