Author Topic: Getting Sensor values into vector from callback function MATLAB  (Read 2696 times)

Tinker

  • Newbie
  • *
  • Posts: 1
    • View Profile
Hello,

I am using Ambient Light Bricklet(V2) with MatLab. I would like to know how to get the vector data of sensor values from callback  function. Because, I want to plot this data with other sensors(Temperature and Pressure).


Code: [Select]
function matlab_example_callback()   
import com.tinkerforge.IPConnection;
import com.tinkerforge.BrickletAmbientLightV2;
HOST = 'localhost'; PORT = 4223; UID = 'XYZ';
ipcon = IPConnection();
al = handle(BrickletAmbientLightV2(UID, ipcon), 'CallbackProperties');  ipcon.connect(HOST, PORT);
set(al, 'IlluminanceCallback', @(h, e) cb_illuminance(e)); al.setIlluminanceCallbackPeriod(1000);
input('Press key to exit\n', 's');
ipcon.disconnect();
end
function cb_illuminance(e)
fprintf('Illuminance: %g Lux\n', e.illuminance/100.0);
end
« Last Edit: October 05, 2017, 00:35:26 by Tinker »

cl-

  • Newbie
  • *
  • Posts: 26
    • View Profile
Re: Getting Sensor values into vector from callback function MATLAB
« Reply #1 on: July 31, 2019, 15:32:15 »
Is this topic solved or documented? I'm struggling with exactly this.

How do I get the data from the callback function back to the main function in MATLAB? I like to write all accelerations into an array while the callback function is active. After the sensors stopped sending data, I like to run some statistics on the entire data stream.

Code: [Select]
% Register 16-bit continuous acceleration callback to function cb_continuous_acceleration
    set(a, 'ContinuousAcceleration16BitCallback', @(h, e) cb_continuous_acceleration(e));

Within the callback, I can get access to the sensor data using the "e" object. However, how do I get the data back to the main function?