I am using UM6 gyro and I write a new EKF Process Variance by writing
in the UM6_EKF_PROCESS_VARIANCE (0x0A) register the new value.
I want to do RAM commit to save the value (as they do with the CH Robotics Serial Interface). But I don’t find how they do RAM commit
I will be grateful for your help ,
I do not know for sure, but I suspect that the changes are committed to RAM when the commands are sent directly to the UM6. You might try contacting CH Robotics for a more definite answer and let us know.
I contact CH Robotics and they confirm your idea. But they don’t reply my next question
I am writing the number 0.2 in this way:
0x73, 0x6E, 0x70, 0x80, 0x0A, 0x3E, 0x4C, 0xCC, 0xCD, 0x03, 0xFE
But when I read it, I found 0.1
Similar when I write 0.3 I try to read it but I find 0.1
[quote]I am writing the number 0.2 in this way:
0x73, 0x6E, 0x70, 0x80, 0x0A, 0x3E, 0x4C, 0xCC, 0xCD, 0x03, 0xFE[/quote]
How is that 11-byte set of values supposed to represent the number 0.2?
when I write to the UM6, I should send a packet. The packet should start with bytes ‘s’ ‘n’ and ‘p’, then PT BYTE which describe the type of operation and its length. Next byte is the address register then the data as 32-bit IEEE floating point (for this particular register as it indicate their datasheet) . Finally the 2 bytes of checksum (sommation of all previous bytes)
you can see their datasheet: chrobotics.com/docs/UM6_datasheet.pdf
I tried sending that 11-byte string to a UM6 here and successfully set the UM6_EKF_PROCESS_VARIANCE to 0.2. You should get a 7-byte COMMAND_COMPLETE packet when you send the command:
73 6E 70 00 0A 01 5B
Does that happen? Could you post code that shows your serial communications with the UM6? Have you tried setting this particular value with the CHR Serial Interface?