Theu-blox host library - ubxlib - provides C libraries to build embedded applications easily. It is delivered as an add-on to existing microcontroller and RTOS SDKs to facilitate integration of connectivity, security, and localization into your embedded applications. The easy-to-use APIs make best use of module features in your application and run on the most common embedded platforms and RTOSs. ubxlib provides libraries that expose C APIs with examples. It supports integration to any cloud provider (Thingstream, AWS, Azure, GCP or others) via the easy-to-use MQTT client API. This works independently of communication method, be it Wi-Fi or Cellular.
APIs and examples
The convenience of not having to study AT command manuals in-depth, and instead using high-level C-APIs saves precious development time and eliminates repetitive workloads. ubxlib offers various C APIs that are concise and uniform across multiple u-blox modules. High-level APIs handle network sockets over cellular or Wi-Fi connectivity while low-level APIs handle AT commands or the UBX protocol. The location API enables positioning with GNSS modules. The BLE API offers functions for configuration and data exchange over Bluetooth LE. With the MQTT client API a developer can connect and communicate to an MQTT broker. Corresponding ready-to-use examples demonstrate how the APIs are used together with u-blox cloud services to build solutions to many real-world problems.
Supported modules and development boards
ubxlib works with most u-blox cellular, short range, and positioning modules, and it supports u-blox CellLocate, CloudLocate, MQTT Now, and MQTT Anywhere services. To find out which u-blox modules support which APIs, check out the ubxlib GitHub page.
ubxlib can be used in various architecture senarios:
ubxlib is portable and not tied to specific RTOS or MCU platforms. ubxlib currently runs on ESP32, STM32 with FreeRTOS, and nRF5 microcontroller platforms with ZephyrOS as well as on Windows and Linux PCs. On the ESP32 platform it also supports Arduino core. All supported platforms, RTOSs, and instructions to add new ones are listed on the ubxlib GitHub page.
sure its here
github.com CubePilot/cubepilot-docs/blob/master/here-3/here-3-manual.md# Here 3 Manual## Here3 GPS Manual### OverviewThe Here3 GPS is a high precision GNSS system that supports RTK mode, built with CAN protocol. It is also designed to be dust-proof and splash-proof up to a certain limit. Equipped with STM32F302 processor, the Here3 provides faster processing speed and better reliability.The Here3 has built-in sensors including compass, gyroscope, accelerometer, and status LED. It runs on Chibios real-time operation system. Its open-source structure is ideally suited to developers who need specialized requirements on their navigation system.### **Feature**1. Cost-efficient high precision and RTK supported GNSS chip \(base station needed for RTK\). Positioning accuracy down to centimetre-level in an ideal environment.2. Brand new design with improved visibility on signal LEDs. Better dust and water resistance \(Not guaranteed to be water-proof under any situation due to the complexity of the operating environment\).3. The high data rate, upgradeability, noise immunity, and real-time features benefited from CAN protocol4. Equipped with STM32F302 high-performance processor in a real-time operating system. The framework developed by Hex provides additional stabilities. Supports future firmware updates.5. Support from ground control software. Future updates will be available from Mission Planner.6. Built-in a complete set of Inertial Measurement Unit \(compass, gyroscope, and accelerometer\), which satisfy advanced navigation needs. This file has been truncated. show original
I found out recently that if you are using Cube Orange, that you cannot follow the instructions exactly. Do not connect with MAVLINK first. Also, restart Mission Planner to make sure it is not in a bad state. Connect the Cube Orange with the USB cable. Then go to the Windows Device Manager and look for the COM port on the Cube Orange that is for SLCan. Select this COM port in Mission Planner, but do not connect. Go to the UAVCAN page in Mission Planner. Click the SLCan Mode CAN1 button. A dialog box will open up - it says you might be doing things wrong, but it is fine - click OK. Then you should be connected to the GPS.
GPS Click is based on the LEA-6S, a high-performance position engine module from u-blox. The versatile, standalone LEA-6S receiver combines extensive features with flexible connectivity options. Its ease of integration results in fast time-to-market for various automotive and industrial applications. The positioning engine consists of cold start navigation, AssitsNow Autonomous for faster acquisition, configurable power management, a hybrid GPS/SBAS engine (WAAS, EGNOS, MSAS), and anti-jamming technology. The GPS module needs an SMA GPS antenna for the GPS applications, which can be bought from MIKROE separately.
Different power modes (Maximum performance, Eco, Power Save) allow you to control the acquisition and tracking engines to balance performance and power consumption. During a Cold start, a receiver in Maximum Performance Mode continuously deploys the acquisition engine to search for all satellites. Once the receiver has a position fix (or if pre-positioning information is available), the acquisition engine continues to search for all visible satellites that are not being tracked. During a Cold start, a receiver in Eco Mode works exactly as in Maximum Performance Mode. Once a position can be calculated and a sufficient number of satellites are tracked, the acquisition engine is powered off, resulting in significant power savings. The tracking engine continuously tracks acquired satellites and acquires other available or emerging satellites. Note that even if the acquisition engine is powered off, satellites continue to be acquired. Power Save Mode reduces system power consumption by selectively switching receiver parts on and off.
GPS Click as default communication with the host MCU uses a standard 2-Wire UART interface with commonly used UART RX and TX and supports 4800 and 9600bps, depending on settings. The I2C-compatible Display Data Channel (DDC) can also be used to interface host MCU. It is a standard mode compliant with a maximum bandwidth of 100kbps. On the other hand, GPS Click supports a full-speed USB 2.0 at 1.2Mbps. If such a case emerges, you can always reset the module over the RST pin.
Depending on the development board you are using, you may need USB UART click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all MIKROE compilers.
All of our u-blox based GPS boards share the same library: these two boards, their predeccesors and the higher precision u-blox cousins. The SparkFun u-blox Arduino library can be downloaded with the Arduino library manager by searching 'SparkFun u-blox GNSS' or you can grab the zip here from the GitHub repository to manually install:
Recent check-ins have all been made on the beta branch, but most or all of the recent work appears to be unrelated to Ublox receivers or the kinematic mode normally used for low cost receivers, so the functionality of the code should be nearly identical regardless of which branch you choose. I am using 2.4.3 because I think it may be easier to merge in any future changes. The repository includes all the executables, so there is no need to build any code before running it.
There are actually two sets of executables built from the same codebase, a GUI set, and a CUI set. I am using a combination of the two. For collecting the raw data, and plotting the results, I use the GUI versions (STRSVR and RTKPLOT) for convenience. For converting the raw data to RTCM and processing the data, I use the CUI versions (CONVBIN and RTKPOST). This is for two reasons. First, because making any changes to the GUI versions requires an Embarcadero/Borland VCL compiler to re-build the code and this compiler is not available for free.
The CUI versions can be rebuilt with the Microsoft Visual C++ compiler, which is free and one I am also much more familiar with. The second reason I use the CUIs is because I have found it easier to keep track of all the input and output files for each run when using the CUIs. I use simple Matlab wrappers to call the CUIs which save all the configuration, input, and output information to a separate folder. Python wrappers would probably work just as well and it is available for free, but I already have Matlab and again am more familiar with it.
Thanks for sharing such a nice experience with everyone. I need to run RTKPOST through MATLAB, and consequently load a certain configuration file, upload raw files, and so on. Do you have any article discussing that? I would appreciate any assistance.
Thanks!
Hi Hassan. From MATLAB it will be much easier to run RNX2RTKP, the CUI version of RTKPOST. The raw data files, config file, etc are all specified as command line parameters. Instructions for using RNX2RTKP are in the RTKLIB manual.
Hi Shubham. Your commands look correct. Is the ROM 2.01 as well as the firmware? If so, I would enable debug in the RTKLIB options, set the level to 4, and then look at the debug file to see if it provides any insight. You should see the commands being sent to the M8N and the M8N responses.
Hi g01. The recent versions of RTKLIB support the u-blox VALSET message which allows you to issue any command to the u-blox that you can issue from u-center. I explain how to use this feature in this post
Hi Em. Both the u-blox M8T and F9P have an on-board flash memory that can be used to save and retain configuration settings even after the module has been powered down. You can save the current settings to flash using the CFG-CFG command as described in the M8T or F9P receiver description document.
3a8082e126