Giter VIP home page Giter VIP logo

python-openimu's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

python-openimu's Issues

Azure blob storage functional update

Azure's latest update has removed AppendBlobService and ContentSettings.

file_storage.py uses this functions to contact azure blob, if user installs the latest version of azure-blob-storage using pip, the code will break.

Either the solution is to install older version by pip install azure-storage-blob==1.4.0 or the better solution is make the necessary structural changes to the file_storage.py.

Bootloader code may sent the CRC in a wrong way (?)

Hi, I have an openimu300RI P/N 8350-3309-01 that has an inconsistent firmware. I am trying to flash the firmware by using the bootloader.py. However, I see the following problems:

a) The code does not send 'JI' packets continuosly. I modified the code to send every 10ms in order to enter the bootloader within the first 100ms. Also, I have to force ttyUSB0 because the device is inconsistent and does not communicate.

b) To be able to get into the bootloader I had to modify the script and send the CRC in the reversed order (first lsb ,then msb. Not the opposite like in the bootloader.py). Is the CRC sent in the correct order? Also the JA packet requires a CRC in the opposite order. This is problematic since when I send WA packets i do not receive an answer. I tried to reverse the CRC also in the WA, but i get no answer. I noticed that the CRC is computed on the buffer C[2: C[4]+5]. Shouldn't be C[4]+4 ?
Do you have any clue why this openimu requires a different packet format?

thanks in advance,

Carmelo

Python driver usage

Hello,
i'm new to python so maybe this is a trivial question.

Referring to manual page https://openimu.readthedocs.io/en/latest/tools/python.html
it says that " The Python driver reads a JSON file by default named openimu.json to understand the messages - both primary output packets, as well as command/response type packets from the IMU. These can be customized by changing the JSON file and the Python script will use that information to parse data (literally the byte stream) from the OpenIMU in real-time appropriately. Here are a few samples function you can call with the driver."

I didn't understand how to interact with python driver. I have to write a new .json file? Or i have to modify the openimu.json file already in the example ins application? How can i do it?

Thanks

Matteo

Error upon issuing "exit" command

Upon typing exit at the Command-line interface (in Windows), I got an error in the tornado application.

This only seems to occur after sending the "server_start" command. If I just issue "get rate" (or record, etc) followed by "exit", the error doesn't occur.

0_upon typing exitcapture

Logging files without logging in

When not logging in, logging file does not start after giving a file name and pressing "start", and no notification shows up to tell users to log in first.

Get data from INS over ethernet or UART in real time and parse with Python to get pose data

I am attempting to parse the RTK data in real time from a Nvidia Xavier connected via ethernet. I was able to pull a packet from the INS but I have not been able to parse the packet.

When I run 'tools/open_packet_parser.py' with the provided sample data as below:

if name == 'main':
# raw data need to be parsed, only need payload, don't contains prefix, packet type, packet length
sample_data = [0xC7, 0x9A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x58, 0x2B, 0x59, 0x2B, 0x5A, 0x00, 0x00,
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4B]
# parse command data
print(parse_command_data('gA', sample_data))

I get:

([{'paramId': 0, 'name': 'Data CRC', 'value': 39623}, {'paramId': 1, 'name': 'Data Size', 'value': 128}, {'paramId': 2, 'name': 'Baud Rate', 'value': 115200}, {'paramId': 3, 'name': 'Packet Type', 'value': 's1'}, {'paramId': 4, 'name': 'Packet Rate', 'value': 0}, {'paramId': 5, 'name': 'Accel LPF', 'value': 25}, {'paramId': 6, 'name': 'Rate LPF', 'value': 25}, {'paramId': 7, 'name': 'Orientation', 'value': '+X+Y+Z'}], False)

This seems reasonable with the baud rate reported as 115200, so the example seems to work.

When I run the RTK connected over ethernet I get this output:

sample_rtk_data = 'UUs1\x1e\xdc\x08\x1a\x1e\x81\x14g\xff\xa5\xbc#\x81F=XX\x1d\xc1U\xa8\n=\xd5\xf1\x99=\xd1\xb7J\xbd~\xfdUUi1t\xdc\x08\x1a\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdeWUUs1\x1e\xdc\x08$\x1e\x81\x14\x12@d\xbczK]=f\xa3\x1d\xc1\xa5\x9c\x13\xbd\x91\xc31<\xc3\xd6\x18\xbd7\xb7UUi1t\xdc\x08$\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x88UUs1\x1e\xdc\x08.\x1e\x81\x14\x95\x8e\x13\xbc \xe4\x83=Z\xa2\x1c\xc1\xe7\xfc\x86\xbd4q\x96\xbc\xcb\xbd\xd1\xbc\x1e\xb5UUi1t\xdc\x08.\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00n\xdfUUs1\x1e\xdc\x088\x1e\x81\x14\xfa\xcb\x8a\xba\xcc\x9dc=Wg\x1c\xc1\x07\xfc\x9c\xbc\xb8\xc8J\xba\xd4%2\xbd\x18\xc2UUi1t\xdc\x088\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00%\x1eUUs1\x1e\xdc\x08B\x1e\x81\x14|>\xda\xbbf\x88<=!W\x1c\xc1\x1d\xa8\xe4<j\xdd\x80\xba\xb4\xef\xa2\xbc\xa5\xfbUUi1t\xdc\x08B\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1r'

Which, I can convert to an integer array to match the format of sample data and attempt to parse using the same method:

sample_rtk_data = b'UUs1\x1e\xdc\x08\x1a\x1e\x81\x14g\xff\xa5\xbc#\x81F=XX\x1d\xc1U\xa8\n=\xd5\xf1\x99=\xd1\xb7J\xbd~\xfdUUi1t\xdc\x08\x1a\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdeWUUs1\x1e\xdc\x08$\x1e\x81\x14\x12@d\xbczK]=f\xa3\x1d\xc1\xa5\x9c\x13\xbd\x91\xc31<\xc3\xd6\x18\xbd7\xb7UUi1t\xdc\x08$\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x88UUs1\x1e\xdc\x08.\x1e\x81\x14\x95\x8e\x13\xbc \xe4\x83=Z\xa2\x1c\xc1\xe7\xfc\x86\xbd4q\x96\xbc\xcb\xbd\xd1\xbc\x1e\xb5UUi1t\xdc\x08.\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00n\xdfUUs1\x1e\xdc\x088\x1e\x81\x14\xfa\xcb\x8a\xba\xcc\x9dc=Wg\x1c\xc1\x07\xfc\x9c\xbc\xb8\xc8J\xba\xd4%2\xbd\x18\xc2UUi1t\xdc\x088\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00%\x1eUUs1\x1e\xdc\x08B\x1e\x81\x14|>\xda\xbbf\x88<=!W\x1c\xc1\x1d\xa8\xe4<j\xdd\x80\xba\xb4\xef\xa2\xbc\xa5\xfbUUi1t\xdc\x08B\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1r'
print("raw_data: ", sample_rtk_data)
int_data = list(sample_rtk_data)
print("int_data: ", int_data)
byte_data = bytearray(int_data)
print("byte_data: ", byte_data)

parse_command_data('gA', int_data)

which gives:

raw_data: b'UUs1\x1e\xdc\x08\x1a\x1e\x81\x14g\xff\xa5\xbc#\x81F=XX\x1d\xc1U\xa8\n=\xd5\xf1\x99=\xd1\xb7J\xbd~\xfdUUi1t\xdc\x08\x1a\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdeWUUs1\x1e\xdc\x08$\x1e\x81\x14\x12@d\xbczK]=f\xa3\x1d\xc1\xa5\x9c\x13\xbd\x91\xc31<\xc3\xd6\x18\xbd7\xb7UUi1t\xdc\x08$\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x88UUs1\x1e\xdc\x08.\x1e\x81\x14\x95\x8e\x13\xbc \xe4\x83=Z\xa2\x1c\xc1\xe7\xfc\x86\xbd4q\x96\xbc\xcb\xbd\xd1\xbc\x1e\xb5UUi1t\xdc\x08.\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00n\xdfUUs1\x1e\xdc\x088\x1e\x81\x14\xfa\xcb\x8a\xba\xcc\x9dc=Wg\x1c\xc1\x07\xfc\x9c\xbc\xb8\xc8J\xba\xd4%2\xbd\x18\xc2UUi1t\xdc\x088\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00%\x1eUUs1\x1e\xdc\x08B\x1e\x81\x14|>\xda\xbbf\x88<=!W\x1c\xc1\x1d\xa8\xe4<j\xdd\x80\xba\xb4\xef\xa2\xbc\xa5\xfbUUi1t\xdc\x08B\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1r'
int_data: [85, 85, 115, 49, 30, 220, 8, 26, 30, 129, 20, 103, 255, 165, 188, 35, 129, 70, 61, 88, 88, 29, 193, 85, 168, 10, 61, 213, 241, 153, 61, 209, 183, 74, 189, 126, 253, 85, 85, 105, 49, 116, 220, 8, 26, 30, 129, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, 87, 85, 85, 115, 49, 30, 220, 8, 36, 30, 129, 20, 18, 64, 100, 188, 122, 75, 93, 61, 102, 163, 29, 193, 165, 156, 19, 189, 145, 195, 49, 60, 195, 214, 24, 189, 55, 183, 85, 85, 105, 49, 116, 220, 8, 36, 30, 129, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 136, 85, 85, 115, 49, 30, 220, 8, 46, 30, 129, 20, 149, 142, 19, 188, 32, 228, 131, 61, 90, 162, 28, 193, 231, 252, 134, 189, 52, 113, 150, 188, 203, 189, 209, 188, 30, 181, 85, 85, 105, 49, 116, 220, 8, 46, 30, 129, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 223, 85, 85, 115, 49, 30, 220, 8, 56, 30, 129, 20, 250, 203, 138, 186, 204, 157, 99, 61, 87, 103, 28, 193, 7, 252, 156, 188, 184, 200, 74, 186, 212, 37, 50, 189, 24, 194, 85, 85, 105, 49, 116, 220, 8, 56, 30, 129, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 30, 85, 85, 115, 49, 30, 220, 8, 66, 30, 129, 20, 124, 62, 218, 187, 102, 136, 60, 61, 33, 87, 28, 193, 29, 168, 228, 60, 106, 221, 128, 186, 180, 239, 162, 188, 165, 251, 85, 85, 105, 49, 116, 220, 8, 66, 30, 129, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 114]
byte_data: bytearray(b'UUs1\x1e\xdc\x08\x1a\x1e\x81\x14g\xff\xa5\xbc#\x81F=XX\x1d\xc1U\xa8\n=\xd5\xf1\x99=\xd1\xb7J\xbd~\xfdUUi1t\xdc\x08\x1a\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdeWUUs1\x1e\xdc\x08$\x1e\x81\x14\x12@d\xbczK]=f\xa3\x1d\xc1\xa5\x9c\x13\xbd\x91\xc31<\xc3\xd6\x18\xbd7\xb7UUi1t\xdc\x08$\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x88UUs1\x1e\xdc\x08.\x1e\x81\x14\x95\x8e\x13\xbc \xe4\x83=Z\xa2\x1c\xc1\xe7\xfc\x86\xbd4q\x96\xbc\xcb\xbd\xd1\xbc\x1e\xb5UUi1t\xdc\x08.\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00n\xdfUUs1\x1e\xdc\x088\x1e\x81\x14\xfa\xcb\x8a\xba\xcc\x9dc=Wg\x1c\xc1\x07\xfc\x9c\xbc\xb8\xc8J\xba\xd4%2\xbd\x18\xc2UUi1t\xdc\x088\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00%\x1eUUs1\x1e\xdc\x08B\x1e\x81\x14|>\xda\xbbf\x88<=!W\x1c\xc1\x1d\xa8\xe4<j\xdd\x80\xba\xb4\xef\xa2\xbc\xa5\xfbUUi1t\xdc\x08B\x1e\x81\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1r')
([{'paramId': 0, 'name': 'Data CRC', 'value': 1875991267036583253},
{'paramId': 1, 'name': 'Data Size', 'value': 2575115603313721630},
{'paramId': 2, 'name': 'Baud Rate', 'value': 6179252429003769473},
{'paramId': 3, 'name': 'Packet Type', 'value': False},
{'paramId': 4, 'name': 'Packet Rate', 'value': 7590067294244260535},
{'paramId': 5, 'name': 'Accel LPF', 'value': 1477495249920881713},
{'paramId': 6, 'name': 'Rate LPF', 'value': 0},
{'paramId': 7, 'name': 'Orientation', 'value': ''}],
False)

This shows I am able to move between formats properly but the values coming out of the 'tools/open_packet_parser.py' are clearly wrong/scrambled.

I do the same conversions on the sample data and it works giving the same output as before:

byte_data = bytearray(sample_data)
print("sample_data: ", sample_data)
print("byte_data: ", byte_data)
int_data = list(byte_data)
print("int_data: ", int_data)

parse_command_data('gA', int_data)

sample_data: [199, 154, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 194, 1, 0, 0, 0, 0, 0, 115, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 43, 88, 43, 89, 43, 90, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 37, 75]
byte_data: bytearray(b'\xc7\x9a\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x01\x00\x00\x00\x00\x00s1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00+X+Y+Z\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00k\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00%K')
int_data: [199, 154, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 194, 1, 0, 0, 0, 0, 0, 115, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 43, 88, 43, 89, 43, 90, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 37, 75]
([{'paramId': 0, 'name': 'Data CRC', 'value': 39623},
{'paramId': 1, 'name': 'Data Size', 'value': 128},
{'paramId': 2, 'name': 'Baud Rate', 'value': 115200},
{'paramId': 3, 'name': 'Packet Type', 'value': 's1'},
{'paramId': 4, 'name': 'Packet Rate', 'value': 0},
{'paramId': 5, 'name': 'Accel LPF', 'value': 25},
{'paramId': 6, 'name': 'Rate LPF', 'value': 25},
{'paramId': 7, 'name': 'Orientation', 'value': '+X+Y+Z'}],
False)

This shows that the format changes I am doing are likely not causing the problem but I am missing a format or configuration input for the open packet parser. Any input on this would be appreciated!

error message when run "ans-devices.exe parse -p ....."

HI,

I tried to get nmea data in csv format so I run:

ans-devices.exe parse -p ....

there were lots of error message like:

error happened when decode the s1 pack expected 36 items for packing (got 30)
error happened when decode the s1 pack expected 36 items for packing (got 30)
error happened when decode the s1 pack expected 36 items for packing (got 30)
error happened when decode the s1 pack expected 36 items for packing (got 30)
error happened when decode the s1 pack expected 36 items for packing (got 30)
Parse done.

but in the end I can get the parsed output file of user_2021_09_09_15_54_16-nmea.

What does the error message mean?

Openrtk300l

Hello sir, I am very new to the research on GNSS/INS integration.
Is openrtk300l provides Raw data of GNSS like pseudo ranges, range rates, position and velocity etc., for loosely coupled and tightly coupled integration.
Is it provides IMU raw data for integration.

Can't connect to device with Firefox

The Navigation Studio (https://developers.aceinna.com/) won't connect to the WS server from Firefox. Chrome works fine.

Inspector shows the following errors:
The connection to wss://127.0.0.1:8000/ was interrupted while the page was loading.
Firefox can’t establish a connection to the server at wss://127.0.0.1:8000/.

As per #1, I set network.websocket.allowInsecureFromHTTPS to true in about:config, but it didn't help.

bootstrap/cli -- NameError: name 'x' is not defined

Error triggered by setting option using cli interface

>>set gps_protocal
Usage: set gps_protocal <values>
values:
[{'key': '0', 'value': 'UBLOX_BINARY'}, {'key': '1', 'value': 'NOVATEL_BINARY'}, {'key': '3', 'value': 'NMEA_TEXT'}]
>>set gps_protocal 1
.
.
.
... packages\aceinna\bootstrap\cli.py", line 222, in set_handler
    (select_param['type'] == "int64" and int(self.input_string[2]) not in x['options'])):
NameError: name 'x' is not defined

No serial port found

When there are many serial port devices on the computer, the correct serial port may not be found

How to change nmea data log frequency in web or pythondriver-win?

Hi,

I'm using the downloaded pythondriver-win.zip from https://github.com/Aceinna/python-openimu/releases/tag/v2.5.2ict

It's working fine and all the yellow/green/red leds are flashing during the data logging.
I also used the tool with parse subcommand to parse the saved .bin into nmea log.

but I'd like to check how to change the nmea data log frequency? I have PC/web based configuration like this:
image
which parameter should I change?

I also have the Android tool, there's a clear setting page to change that value, can I use android tool for nmea freqency and then use PC pythondriver-win to log data?

Stop command response "Hanging" at prompt

When the "stop" command is sent after recording data, the response "End Collection Task" is left hanging at the command prompt. Doesn't seem to affect the operation (I can send commands) but it is slightly confusing.

03_hangingcommanduponstop

Find Port but Cannot Connect (for device openimu300ri)

Hello, I have been trying to get this working for a little while (as I'm new to this, it just may be something that I am doing incorrectly); however when following the README according to this github with ubuntu 18.04 (or 16.04, I get the same result so far), the serial port never seems to become connected. The device is visible, printing to the screen the /dev/ name ttyUSB0, but keeps trying to find it. I have changed the permissions to the port as well as recloning/pulling etc. this is my printout from webserver:py:

Find device 0 times
system ports detected ['/dev/ttyUSB0']
Find device 1 times
system ports detected ['/dev/ttyUSB0']
Find device 2 times
system ports detected ['/dev/ttyUSB0']
Find device 3 times
system ports detected ['/dev/ttyUSB0']
Find device 4 times
system ports detected ['/dev/ttyUSB0']
Find device 5 times
system ports detected ['/dev/ttyUSB0']
Find device 6 times
system ports detected ['/dev/ttyUSB0']
Find device 7 times
system ports detected ['/dev/ttyUSB0']
Find device 8 times
system ports detected ['/dev/ttyUSB0']
Find device 9 times
system ports detected ['/dev/ttyUSB0']
Find device 10 times
system ports detected ['/dev/ttyUSB0']
Find device 11 times
system ports detected ['/dev/ttyUSB0']
Find device 12 times
system ports detected ['/dev/ttyUSB0']
Find device 13 times
system ports detected ['/dev/ttyUSB0']
Find device 14 times
system ports detected ['/dev/ttyUSB0']
Find device 15 times
system ports detected ['/dev/ttyUSB0']

I also tried loading this as a module in IPython to see what was happening, but it still wasn't connecting: same results;
In [52]: imu.find_ports()

system ports detected ['/dev/ttyUSB0']
Out[52]: []

In [53]: imu.connect()
Find device 0 times

system ports detected ['/dev/ttyUSB0']
Find device 1 times

system ports detected ['/dev/ttyUSB0']
Find device 2 times

system ports detected ['/dev/ttyUSB0']
Find device 3 times

system ports detected ['/dev/ttyUSB0']
Find device 4 times

system ports detected ['/dev/ttyUSB0']
Find device 5 times

system ports detected ['/dev/ttyUSB0']
Find device 6 times

system ports detected ['/dev/ttyUSB0']
Find device 7 times

system ports detected ['/dev/ttyUSB0']
Find device 8 times

system ports detected ['/dev/ttyUSB0']
Find device 9 times

system ports detected ['/dev/ttyUSB0']
Find device 10 times

system ports detected ['/dev/ttyUSB0']
Find device 11 times

system ports detected ['/dev/ttyUSB0']
Find device 12 times

system ports detected ['/dev/ttyUSB0']
Find device 13 times

system ports detected ['/dev/ttyUSB0']

do you have any advice on what to do next? thank you for your time.

SyntaxError:invalid syntax

A completely new computer,the first time to install python.

Fail to upload the image, just copy the text

F:\python-openimu-master\python-openimu-master>pip install azure-storage-blob
Collecting azure-storage-blob
Downloading https://files.pythonhosted.org/packages/dd/26/45de0cb737aeeeb2fa56cf12ab0042ba64dafd24bcc50bf8c8cdf913a1a6/azure_storage_blob-1.3.1-py2.py3-none-any.whl (77kB)
100% |████████████████████████████████| 81kB 536kB/s
Collecting azure-storage-nspkg>=2.0.0 (from azure-storage-blob)
Downloading https://files.pythonhosted.org/packages/b1/e9/0a11f4feefb9c4c2f7e30d4d448e15b32df3adabe370be70aaf4278fbb52/azure_storage_nspkg-3.0.0-py2.py3-none-any.whl
Collecting azure-common>=1.1.5 (from azure-storage-blob)
Downloading https://files.pythonhosted.org/packages/91/66/6636001c0b6be5423f4bbaffe5febbf9eda39bd1941eb39a73504d8f6f71/azure_common-1.1.14-py2.py3-none-any.whl
Collecting azure-storage-common~=1.3 (from azure-storage-blob)
Downloading https://files.pythonhosted.org/packages/7b/18/03872177864b7ce4aa0302eae5726e8cb66dbb4f30a3408ed27a6639407f/azure_storage_common-1.3.0-py2.py3-none-any.whl (48kB)
100% |████████████████████████████████| 51kB 1.1MB/s
Collecting azure-nspkg>=2.0.0 (from azure-storage-nspkg>=2.0.0->azure-storage-blob)
Downloading https://files.pythonhosted.org/packages/cd/a0/76ca6659ae9afd7567fdbb5b9c85e9c9a0b48238cfcacd92525484408f66/azure_nspkg-2.0.0-py2.py3-none-any.whl
Collecting requests (from azure-storage-common~=1.3->azure-storage-blob)
Downloading https://files.pythonhosted.org/packages/65/47/7e02164a2a3db50ed6d8a6ab1d6d60b69c4c3fdf57a284257925dfc12bda/requests-2.19.1-py2.py3-none-any.whl (91kB)
100% |████████████████████████████████| 92kB 1.6MB/s
Collecting python-dateutil (from azure-storage-common~=1.3->azure-storage-blob)
Downloading https://files.pythonhosted.org/packages/cf/f5/af2b09c957ace60dcfac112b669c45c8c97e32f94aa8b56da4c6d1682825/python_dateutil-2.7.3-py2.py3-none-any.whl (211kB)
100% |████████████████████████████████| 215kB 2.1MB/s
Collecting cryptography (from azure-storage-common~=1.3->azure-storage-blob)
Could not find a version that satisfies the requirement cryptography (from azure-storage-common~=1.3->azure-storage-blob) (from versions: )
No matching distribution found for cryptography (from azure-storage-common~=1.3->azure-storage-blob)
You are using pip version 10.0.1, however version 18.0 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

F:\python-openimu-master\python-openimu-master>python commands.py
Traceback (most recent call last):
File "commands.py", line 23, in
from server import WSHandler
File "F:\python-openimu-master\python-openimu-master\server.py", line 9, in
from global_vars import imu
File "F:\python-openimu-master\python-openimu-master\global_vars.py", line 6, in
from openimu import OpenIMU
File "F:\python-openimu-master\python-openimu-master\openimu.py", line 515
except IOError, e:
^
SyntaxError: invalid syntax

F:\python-openimu-master\python-openimu-master>

Python-openimu Ubuntu driver

Neither cloning the python driver from github nor installing through pip works for Ubuntu 16.04; it can search the ports but not connect to any.
Screenshot from 2019-07-24 17-56-54

Unknown application names

The ANS Code page does not provide the application file names needed to issue the "upgrade" commands. Also, if I type a app name that contains a space (e.g. "upgrade IMU 1.0.0.bin") the program crashes. Need to include the name in the application page and provide instructions that indicates "no spaces in filename".

04_application_names

Get the real time data locally without connecting to the internet

Hi,
I have an OpenIMU300ZI and I want to install it to my robot with a raspberry Pi as the controller. However, when I tried to test the IMU, I did not find a document or tutorial on how to read the real-time data locally. Could anyone shed some light on this?

Thanks in advance.

Issue with RPi4, /dev/ttyAMA0 vs /dev/serial0

Had trouble connecting to a OpenIMU300ZA with a Raspberry Pi 4 over serial. The program would hang when trying to send data over the /dev/ttyAMA0 port. I resolved the issue by hard-coding it to only try "/dev/serial0".

Setup info: Using raspberry pi 4 with serial enabled and bluetooth turned off. Connected to IMU with UART0 lines from RPi GPIO 14 & 15.

Error message when I run "openimu parse"

I installed the driver with pip and tried to get data form OpenRTK330 with the openimu parse command, get the following output:

[Info] Python driver version: 2.6.0
Application Exit Exception: /home/pi/openimu/libs/UserDecoderLib_linux.so: cannot open shared object file: No such file or directory

I checked and the file exists.
What could cause this error?

Change orientation of the OpenIMU axis

using: OpenIMU300ZI, VG_AHRS app, 200Hz, a2 packet type, python driver (and ROS).

Looking at the OpenIMU driver settings for the VG_AHRS app, it strictly uses the +X+Y+Z axis orientation as indicated here:

{ "paramId": 7, "category": "General","paramType": "select", "type": "char8", "name": "Orientation", "argument": "orien", "value_range":[-1,1],"value_accuracy":6,"options": ["+X+Y+Z"] },

However for my application I need to rotate the IMU 90 degrees around the +Y axis. Therefore the desired orientation im testing with is -Z+Y+X. I updated the firmware to the -Z+Y+X orientation.

Since the orientation changes, wouldnt the order of the reading of the packets change as well? Where can I edit that?
(This can be potentiolly related to this: https://github.com/ROS-Aceinna/ros_openimu/blob/f0db402401c28102bb7ffda23b6f8a577d44471f/scripts/openimu_driver.py#L128 )

Can't display new data file in "My Files" page

After I log a new data file, I can't find it in "My Files" page, despite I reflesh the page for several times.
I also check "\python-openimu\data" and find the new data file is over there already.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.