[ASCII] [.NET] Some questions

Hi guys,

I am experimenting (mostly for tuning purposes) with .NET and am controlling a single motor on a 3.5 Odrive. Everything is working fine, the motor is a gimbal type and the encoder is a high resolution optical encoder (low speed, positioning application).

I’m building a GUI that streamline the tuning process of this system and using ASCII to communicate with the odrive. I read the disclaimer about ASCII that it lacks the bells and whistles that the native python control has but so far I have not found a command or property that I couldn’t access with ASCII.

Currently testing the motor in closed loop, position hold, and pulling position (velocity) at roughly 10 Hz now to evaluate the noise/signal ratio. And later, I’ll repeat this test with a trajectory (or position and max speed).

Anyway, with Python and polling the position estimate (pos_estimate), the return value would not be decimal. But with ASCII when polling the same property I get a number with 2 decimals which makes me wonder where the decimals (and not .00 but random numbers) are coming from? Should I round them up to the closest integer? Or are these 2 decimals the result of a weird truncation that takes place somewhere when polling from ASCII? It may sound like a stupid question but these 2 scenarios would mean significantly different noise figures.

I can provide a screenshot of the GUI if the question isn’t clear.


The encoder position/velocity estimator will do interpolation of the raw encoder value, and hence the pos_estimate has decimal (float) value.

I think there is something wrong here, or it is being cast to some other type. The return value in python should be decimal (float) also.