I'm working with YEI-3Space sensors to acquire accelerometer data to later analyse if my prototype fulfills the ISO 2631 standard about Mechanical vibration and shock.
I'm working on Linux, with a RaspberryPi, connecting the sensor with a USB cable. These are the configuration commands I'm sending to the sensor:
- Get corrected accelerometer data -> ":80,39,255,255,255,255,255,255,255"
- Configure Response Header Bitfield for timestamp -> ":221,2" (So, the sensors will get the timestamp and send it to the RaspberryPi).
- Configure streaming timing -> ":82,6250,4294967295" (So, 160Hz sampling frequency and the sensor will send the data indefinitely until a stop streaming command is explicitly issued.
However, I'm having some troubles with the streaming time command. The sensor is correctly sending data with a 160Hz sampling frequency, but the streaming duration is not being correct. Up to 4294967167 value (in microseconds, about 71 minutes), the configuration is correct, and sensor is sending data for 71 minutes. However, if I configure the sensor with a value bigger than 42949671687, the sensor fails after I send ;85 command (Begin streaming session).
Does it mean I'm doing something wrong in the configuration of the sensor? Is there any option to configure the sensor to send accelerometer data indefinitely until a stop streaming command is explicitly issued?
Great, it works with -1 in Duration parameter! Thanks a lot Eric!
Hope to have soon updated documentation!
It looks like you're close! Your first two commands look correct: set up streaming slots (which is Reading the corrected accelerometer vector), and set the response header (to return a timestamp).
The third setup command seems incorrect. You need all 3 parameters for the command.Set streaming timing's parameters are Interval (Unsigned int), Duration (Unsigned int), and Delay (Unsigned int). So you want to modify the command to read ":82,6250,4294967295,0" for no delay at the beginning of streaming. The best way to verify that command :82 was accepted is to call command :83 and make sure the values match up.
The sensor cannot accept a value larger than 4294967295 as the duration, as that is the largest unsigned int (0xFFFFFFFF).
In the Suite, to set a stream for infinite duration, you send ":82,6250,-1,0". This may be from an update to the firmware and the documentation may have yet to be updated to it.
Some examples of setting the sensor to stream can be found on our website. C++ examples can be found at http://www.yeitechnology.com/c-code-examples, and Python examples can be found at http://www.yeitechnology.com/python-code-examples.
I hope this helps!
YEI Technical Support