Hi!
Until recently, when I used the Configurator to calibrate the transmitter, everything seemed to be ok, but when I tried to save the values to the EEPROM, I had an error like: "Could not save values ... Try again / Abort ? " I didn't mind because the values appeared to be saved anyway, as everything was responding correctly.
But today when I tried to change some PID values, I had the same error, but it wasn't saving anything. I tried to read the code (ArducopterNG), but I didn't find anything that explained it. So I installed a COM port sniffer, and monitored the serial data between the Configurator and the board, and I found the reason.

As you may know, in France (yes I'm French), we use a comma instead of a dot as a decimal mark (ie we don't write 10.3 but 10,3 ). As I use a French Windows (for the Configurator only, otherwise it's linux ;-) , this notation was saved in the system settings, and I found the configurator was using this setting.

That means instead of sending 10.3 to the COM port (and to the board), it was sending 10,3. The problem is that the ArducopterNG code only understands the dot, so it was interpreting 10,3 as 10 (everything after the comma was truncated).

This behavior explains why there was an error during the configuration, because when the board was sending back the value it received for a verification, the value wasn't the same because it was truncated: an error was displayed.
But for the transmitter calibration, this was not a big issue, because the board was saving a value anyway. For example it was saving 1893.00 instead of 1893.50 if the sent value was 1893,50. The error was pretty small, so everything worked right.
But for PID tuning, where the numbers are small, and often smaller than 1, the saved value was always 0, because 0,010 was truncated, and 0 was saved.

Fortunately I was able to (temporarly) solve the problem by changing the decimal mark setting in Windows. In french: Démarrer->Panneau de Config.->Options Régionales->Format->Personnaliser ce format->Symbole décimal. For other languages, I don't know exactly how to translate but you must go to the config. panel -> locale settings and find the good option ;-)

I don't know if this problem is already known, but I couldn't find any reference in the forum or in the wiki, so I thought I would share by posting here. If it's already known, I apologise and I will delete my post.

I don't know if it's possible to force the Configurator to use a dot instead of a comma without changing the whole system settings, but if it is, it sould be included in a future release. Or maybe the ArducopterNG code could be adapted to understand commas ?

I hope it will help someone.
Bye!

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • Developer

    Yes this is well known issue with LabVIEW and how it handled , and . 

     

    If you are ending up troubles with Configurator, check from your Regional settings that decimal point is changed to proper one.

     

    Unfortunately that is only fix for this, we have tried to discuss with LabVIEW people but they cannot change their program behavior.

  • Merci tu m as sauvé la vie
  • all European PC (or should I say "non US" ;D) PCs use commas....

    there is currently no other way than changing the language options in windows (as you did)

This reply was deleted.

Activity