Giter VIP home page Giter VIP logo

platform-aceinna_imu's Introduction

Open Aceinna Navigation Platform

Aceinna Logo

Description

Open-ANS is a highly-efficient software stack for the development of navigation systems:

  • Powerful cross-platform and open-source IDE
  • Effiecient source code control
  • Affordable debugging tool (ST-Link)

Table of Contents

Hardware requirements

  • Aceinna's Dev Kit
  • ST-Link V2

Software requirements

  • Windows, Mac or Linux OS
  • VSCode source code editor (open source)
  • Aceinna Navigation Studio (extension for VSCode)
  • ST-Link driver
  • Aceinna's utility based upon Python

Installation

Build firmware

  • Open VSCode source code editor
  • Click "Home" button on the bottom of Aceinna Navigation Studio
  • Choose "Open Project" (if you have already Aceinna IMU project) or import pre-configured project from "Custom IMU examples"
  • Click "Build" button on the bottom of Aceinna Navigation Studio

Firmware upgrade

  • Click "Upload" button on the bottom of Aceinna Navigation Studio.

Debug

  • Create a PlatformIO Account using "Home" button and "PIO Home > Account" menu
  • Press "F5" or choose "Debug" in VSCode menu
  • Open "Debug" view at left bar.

Data Record

  • Install Git
  • Install Python Interpreter
  • Open system terminal and install Aceinna's utilities
    git clone https://github.com/Aceinna/python-imu380
  • Install Python dependencies
    pip install pyserial tornado azure-storage-blob
  • Connect IMU Dev board to PC
  • Change current directory to cd python-imu380
  • Run python demo.py

Contribution

Please refer to each project's style guidelines and guidelines for submitting patches and additions. In general, we follow the "fork-and-pull" Git workflow.

  • Fork the repo on GitHub
  • Clone the project to your own machine
  • Commit changes to your own branch
  • Push your work back up to your fork
  • Submit a Pull request so that we can review your changes

License

ANS open source projects is licensed under the Apache 2.0 license.

ANS does not require you to assign the copyright of your contributions, you retain the copyright. ANS does require that you make your contributions available under the Apache license in order to be included in the main repo.

If appropriate, include the Apache 2.0 license summary at the top of each file along with the copyright info. If you are adding a new file that you wrote, include your name in the copyright notice in the license summary at the top of the file.

Copyright (C) 2018 Aceinna Navigation System Open Source Project

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

platform-aceinna_imu's People

Contributors

andreybondarev avatar dwplan avatar ivankravets avatar manman88 avatar valeros avatar

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

platform-aceinna_imu's Issues

Compass Example Application not found

Hi,

Recently I bought OpenIMU300ZI, and I would like to customize the Compass Application, however, it's not found in the example provided.

Can you please help to get it. thanks

Problem med tillägg

  • Issue Type: Bug
  • Extension Name: aceinna-ide
  • Extension Version: 0.1.2
  • OS Version: Windows_NT x64 10.0.19042
  • VS Code version: 1.55.0

⚠️ We have written the needed data into your clipboard. Please paste! ⚠️

Example, NovAtelGPS, _parseBestVelB_Fast Race Condition

in function _parseBestVelB_Fast

from file:
platform-aceinna_imu/examples/OpenIMU300ZI/IMU/lib/Core/GPS/src/processNovAtelGPS.c

when solution status Non-ZERO (FIX WAS BAD)
gpsFixType is set to potential non-zero
this is inconsitant with bad fix

when solution status == ZERO (no problems, Fix is Good)
gpsFixType is set to value zero (preventing fix use)

this was hard to find because of a race condition with the order of the
BESTPOSB BESTVELB messages from Novatel hardware
if BESTPOSB is processed after BESTVELB then gpsFixType is overwriten correctly
if BESTVELB is processed after BESTPOSB then gpsFixType is overwriten in error

Including "BitStatus.h" instead of "BITStatus.h"

The INS and VG_AHRS examples include a UserAlgorithm.c file which has the following include:
#include "BitStatus.h"

I think this is a mistake as it gives a build error.
Shouldn't it be:
#include "BITStatus.h"

Fresh VSCODE Aceinna Extension install gives bad platform.json file

I ma y have found a typo that stop the ability of newly downloaded Aceinna extensions from building code.
I have some old code that worked on a previous computer that has been built hundreds of times without a problem. Now with new computer and fresh VS code, fresh platform IO, Aceinna extensions. Trying to build the same code yielded the below error

Processing OpenIMU300RI (platform: aceinna_imu; board: OpenIMU300)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Tool Manager: Installing platformio/toolchain-gccarmnoneeab @ >=1.60301.0,<1.80000.0
UnknownPackageError: Could not find the package with 'platformio/toolchain-gccarmnoneeab @ >=1.60301.0,<1.80000.0' requirements for your system 'windows_amd64'
after hours of digging I was able to find the location where this tool chain was called within

C:\Usersmyusername.platformio\platforms\aceinna_imu\platform.json

Within platform.json file find on line 25

"toolchain-gccarmnoneeab": {
and replace with

"toolchain-gccarmnoneeabi": {
Note the "i" at the end. Hope this help someone

I checked this file in Github just now and the file is correct so somehow when downloading from within VSCode I get a bad file.

Baud Rate 460800, Message Type e1 missing from AHRS/VG App

I have an OpenIMU300RI and am trying to set the baud_rate to 460800 and the message type to "e1" via the openimu CLI tool, however these are not listed as available settings.

IMG_0710
I installed the latest AHRS/VG app from the Aceinna App Center
https://developers.aceinna.com/code/apps

The Documentation indicates that these settings should be available.

baud rate
https://openimu.readthedocs.io/en/latest/software/UARTmessaging.html

type
https://openimu.readthedocs.io/en/latest/apps/ahrs.html

Can you release a version of the AHRS/VG that has these options available to select.


I installed the Aceinna Developers tools via VSCode and tried to import the Custom IMU examples which gives the options:

  • to Install Embedded Platform which leads to a blank screen
  • to Install Desktop Platform which cannot find gcc

these issues happen on Linux and OSX platforms which leads me to believe the documentation and/or software is out of date.

OpenIMU 300ZA schematics

Hello,
project looks very interesting.
Can you publish link to OpenIMU300ZA schematics ?

Thanks in advance

Understanding Kalman Process

I am looking at the kalman predict file and I am trying to understand why the bias rate is approximated as a gaussian with a sigma proportional to BI^2/ARW. I have not found any publication that can show that, is there a reference for this?
Thanks

Could not import project

Could not import project
PIO Core Call Error: "The current working directory C:\Users\Swing_23\Documents\PlatformIO\Projects\200420-171952-RAWDATA will be used for the project.\r\n\r\nThe next files/directories have been created in C:\Users\Swing_23\Documents\PlatformIO\Projects\200420-171952-RAWDATA\r\ninclude - Put project header files here\r\nlib - Put here project specific (private) libraries\r\nsrc - Put project source files here\r\nplatformio.ini - Project Configuration File\r\n\n\nError: Processing OpenRTK (platform: aceinna_imu; board: OpenRTK)\r\n--------------------------------------------------------------------------------

Unable to compile RTK_INS example

Thanks for this great project!

I intend to understand the programing of an OpenRTK330LI. So far I managed to install PlatformIO together with the Aceinna AddOn within VisualStudioCode on Windows 10. Unfortunately I am not able to compile the RTK_INS example. I tried with several branches of the repository, but got always stuck. The errors (see below) guide to some "UserConfigurationStruct". Did I miss some configurations here? Are there other working examples or "HowTo"s for OpenRTK330LI? Any help would be appreciated.

My output looks like this:

PS C:\Users\Fredrich\gitCodes\platform-aceinna_imu\examples\OpenRTK330LI\RTK_INS> pio run -c .\platformio.ini
Processing OpenRTK (platform: aceinna_imu; board: OpenRTK)

Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/aceinna_imu/OpenRTK.html
PLATFORM: Aceinna IMU (1.3.1) > Aceinna OpenIMU 330ZA
HARDWARE: STM32F469IG 180MHz, 384KB RAM, 1MB Flash
DEBUG: Current (stlink) External (blackmagic, jlink, stlink)
PACKAGES:

  • toolchain-gccarmnoneeabi 1.70201.0 (7.2.1)
    LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ soft
    Found 1 compatible libraries
    Scanning dependencies...
    Dependency Graph
    |-- 1.0.8
    Building in release mode
    Compiling .pio\build\OpenRTK\lib5ba\OpenRTK-base-library\LWIP\lwip_app\ntrip\src\ntrip_client.o
    Compiling .pio\build\OpenRTK\lib5ba\OpenRTK-base-library\LWIP\lwip_app\station\src\ntrip_client.o
    Compiling .pio\build\OpenRTK\lib5ba\OpenRTK-base-library\LWIP\lwip_app\user\src\tls_tcp.o
    Compiling .pio\build\OpenRTK\lib5ba\OpenRTK-base-library\LWIP\lwip_app\webserver\src\fs.o
    Compiling .pio\build\OpenRTK\lib5ba\OpenRTK-base-library\LWIP\lwip_app\webserver\src\httpd.o
    Compiling .pio\build\OpenRTK\lib5ba\OpenRTK-base-library\LWIP\lwip_app\webserver\src\httpd_handler.o
    Compiling .pio\build\OpenRTK\lib5ba\OpenRTK-base-library\Platform\BT\src\bt_packet.o
    Compiling .pio\build\OpenRTK\lib5ba\OpenRTK-base-library\Platform\BT\src\json_parse.o
    .pio\libdeps\OpenRTK\OpenRTK-base-library\LWIP\lwip_app\ntrip\src\ntrip_client.c: In function 'fill_localrtk_request_payload':
    .pio\libdeps\OpenRTK\OpenRTK-base-library\LWIP\lwip_app\ntrip\src\ntrip_client.c:36:61: error: 'UserConfigurationStruct {aka struct }' has no member named 'mountPoint'
    strcat((char *)payload, (const char *)gUserConfiguration.mountPoint);
    ^
    .pio\libdeps\OpenRTK\OpenRTK-base-library\LWIP\lwip_app\ntrip\src\ntrip_client.c:62:57: error: 'UserConfigurationStruct {aka struct }' has no member named 'username'
    strcpy((char *)key, (const char *)gUserConfiguration.username);
    ^
    .pio\libdeps\OpenRTK\OpenRTK-base-library\LWIP\lwip_app\ntrip\src\ntrip_client.c:64:57: error: 'UserConfigurationStruct {aka struct }' has no member named 'password'
    strcat((char *)key, (const char )gUserConfiguration.password);
    ^
    .pio\libdeps\OpenRTK\OpenRTK-base-library\LWIP\lwip_app\ntrip\src\ntrip_client.c: In function 'NTRIP_interface':
    .pio\libdeps\OpenRTK\OpenRTK-base-library\LWIP\lwip_app\ntrip\src\ntrip_client.c:300:58: error: 'UserConfigurationStruct {aka struct }' has no member named 'ip'
    err = ipaddr_aton((const char
    )gUserConfiguration.ip, &server_ipaddr);
    ^
    .pio\libdeps\OpenRTK\OpenRTK-base-library\LWIP\lwip_app\ntrip\src\ntrip_client.c:305:23: warning: implicit declaration of function 'dns_get_ip_by_hostname'; did you mean 'get_ip_by_host'? [-Wimplicit-function-declaration]
    err = dns_get_ip_by_hostname(gUserConfiguration.ip, &server_ipaddr);
    ^~~~~~~~~~~~~~~~~~~~~~
    get_ip_by_host
    .pio\libdeps\OpenRTK\OpenRTK-base-library\LWIP\lwip_app\ntrip\src\ntrip_client.c:305:64: error: 'UserConfigurationStruct {aka struct }' has no member named 'ip'
    err = dns_get_ip_by_hostname(gUserConfiguration.ip, &server_ipaddr);
    ^
    .pio\libdeps\OpenRTK\OpenRTK-base-library\LWIP\lwip_app\ntrip\src\ntrip_client.c:322:83: error: 'UserConfigurationStruct {aka struct }' has no member named 'port'
    err = netconn_connect(Ntrip_client, &server_ipaddr, gUserConfiguration.port);
    ^
    .pio\libdeps\OpenRTK\OpenRTK-base-library\LWIP\lwip_app\ntrip\src\ntrip_client.c:411:36: error: 'UserConfigurationStruct {aka struct }' has no member named 'ethMode'; did you mean 'eth_mode'?
    if (gUserConfiguration.ethMode == ETHMODE_DHCP)
    ^~~~~~~
    eth_mode
    .pio\libdeps\OpenRTK\OpenRTK-base-library\LWIP\lwip_app\ntrip\src\ntrip_client.c:418:41: error: 'UserConfigurationStruct {aka struct }' has no member named 'ethMode'; did you mean 'eth_mode'?
    else if (gUserConfiguration.ethMode == ETHMODE_STATIC)
    ^~~~~~~
    eth_mode
    *** [.pio\build\OpenRTK\lib5ba\OpenRTK-base-library\LWIP\lwip_app\ntrip\src\ntrip_client.o] Error 1
    .pio\libdeps\OpenRTK\OpenRTK-base-library\LWIP\lwip_app\station\src\ntrip_client.c: In function 'fill_ntrip_client_request_payload':
    .pio\libdeps\OpenRTK\OpenRTK-base-library\LWIP\lwip_app\station\src\ntrip_client.c:51:31: warning: passing argument 2 of 'mbedtls_base64_encode' makes pointer from integer without a cast [-Wint-conversion]
    base64_encode(base64_buf, sizeof(base64_buf), &len, key, len);
    ^~~~~~
    In file included from .pio\libdeps\OpenRTK\OpenRTK-base-library\LWIP\lwip_app\station\src\ntrip_client.c:7:0:
    .pio\libdeps\OpenRTK\OpenRTK-base-library\mbedTLS\lib\include\mbedtls/compat-1.3.h:1763:23: note: expected 'uint8_t * {aka unsigned char *}'
    but argument is of type 'unsigned int'
    #define base64_encode mbedtls_base64_encode
    ^
    .pio\libdeps\OpenRTK\OpenRTK-base-library\LWIP\lwip_app\ntrip\inc/base64.h:8:6: note: in expansion of macro 'base64_encode'
    void base64_encode(uint8_t *str, uint8_t *res);
    ^~~~~~~~~~~~~
    .pio\libdeps\OpenRTK\OpenRTK-base-library\mbedTLS\lib\include\mbedtls/compat-1.3.h:1763:23: error: too many arguments to function 'mbedtls_base64_encode'
    #define base64_encode mbedtls_base64_encode
    ^
    .pio\libdeps\OpenRTK\OpenRTK-base-library\LWIP\lwip_app\station\src\ntrip_client.c:51:5: note: in expansion of macro 'base64_encode'
    base64_encode(base64_buf, sizeof(base64_buf), &len, key, len);
    ^~~~~~~~~~~~~
    .pio\libdeps\OpenRTK\OpenRTK-base-library\mbedTLS\lib\include\mbedtls/compat-1.3.h:1763:23: note: declared here
    #define base64_encode mbedtls_base64_encode
    ^
    .pio\libdeps\OpenRTK\OpenRTK-base-library\LWIP\lwip_app\ntrip\inc/base64.h:8:6: note: in expansion of macro 'base64_encode'
    void base64_encode(uint8_t *str, uint8_t *res);
    ^~~~~~~~~~~~~
    *** [.pio\build\OpenRTK\lib5ba\OpenRTK-base-library\LWIP\lwip_app\station\src\ntrip_client.o] Error 1
    ======================================================== [FAILED] Took 4.22 seconds ========================================================

Short description for example

Please provide a short description for example using

[platformio]
description = This is 1-line description

These descriptions will be shown in OpenIMU Project Examples Wizard.

vscode cannot build firmware, nor can it install library files

Libraries: Could not install library
PIO Core Call Error: "Library Storage: C:\Users\Swing_23\.platformio\lib\r\nLibraryManager: Installing id=7066 @ ^1.0.6\r\nDownloading...\r\n\n\nError: Please read http://bit.ly/package-manager-ioerror\r\nError: Traceback (most recent call last):\r\n File "c:\users\swing_23\.platformio\penv\lib\site-packages\urllib3\response.py", line 425, in _error_catcher\r\n yield\r\n File "c:\users\swing_23\.platformio\penv\lib\site-packages\urllib3\response.py", line 507, in read\r\n data = self._fp.read(amt) if not fp_closed else b""\r\n File

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.