@blue , i just fixed (a few days ago) the calibration script (on voxl-esc dev branch) to plot the total current for M0138 in the calibration procedure, however, yes you still need to run the calibration test using ID2. This is because ID2 measures the total current and it only sends back the data if the feedback is requested from it. If you are running a test on a single ESC which is not ID2, then ID2 is not asked to send any data back, this allows for 4x the feedback rate for that single ESC that is being tested.
So on M0138 if you want to see the current output, you should use ID2 for testing:
./voxl-esc-calibrate.py --id 2 --pwm-min 10 --pwm-max 95
Currently, the current ( 🙂 ) is not used for anything in the calibration procedure, but it is good to look at it to make sure it follows a smooth curve as the power ramps up.
Thanks, I try to add as much data to plot as possible because it is often easier to spot issues by looking at the plots. By the way, it seems your data time scale is kind of coarse (seems like 14-15hz). Sometimes this can happen if your USB-to-serial adapter buffers too much data.. are you using a PC or VOXL for this test? if you are using FTDI, this may be helpful to test out : https://granitedevices.com/wiki/FTDI_Linux_USB_latency
You should be able to get really nice plots when using 2Mbit baud rate and --cmd-rate 1000 or even 2000 helps catch any small spikes or anomalies.
In your calibration test that you originally posted (where the current was reported zero), it looks like towards the end, the top left curve (commanded motor voltage vs rpm) starts curving up a bit more, that can suggest that the motor is not operating optimally at that point. I am not sure which motor / propeller you are testing, but sometimes it helps to adjust the ESC commutation advance from 0 to 20 or so (esc param <param name="timing_advance" value="20"/>). You could try that and see if the high end shape of the curve does not curve up as much.
Alex