v1.3.0
ubxlib v1.3.0
In the 1.3 release of ubxlib
, we introduce exciting new features and a number of improvements. Highlights are the support of native Linux as host platform as well as WiFi access point and WiFi positioning support. In addition we would like to inform you of the future deprecation of two platforms. Read more below.
As always, we welcome your feedback on the road-map of features/improvements to ubxlib
: simply post something in the issues list of this repo and we will respond.
WiFi 🌐
Wifi Access Point / Captive Portal
Support is provided for using Wifi as an access point during provisioning. When connected-to by, for example, a mobile phone, the access point will scan for other Wifi access points, present a HTML page that allows the correct SSID to be selected and a password entered, before switching back to Wifi station mode in order to operate normally.
As part of this implementation the uSockBind()
, uSockListen()
and uSockAccept()
APIs are supported for short range (i.e. Wifi) modules.
An example Connect to an access point or start the captive portal can be found [here] (https://github.com/u-blox/ubxlib_examples_xplr_iot/blob/master/examples/captive_portal/src/main.c)
Wifi Positioning
Support is added for positioning using the Google Maps, Skyhook or Here cloud services, which base their position on knowledge of local Wifi access points; a subscription to one or more of these services will be required.
This feature is supported only by u-blox Wifi/BLE modules NINA-W13 and NINA-W15 (with u-connectXpress version 5.0.0 or later).
Wifi HTTP Maximum Page Size
The maximum HTTP page size that can be retrieved over Wifi HTTP is increased from 512 bytes to 2 kbytes.
Positioning 🛰️
GNSS AssistNow support added
Support is provided for AssistNow: online, offline and autonomous, enabling faster time to first fix and reducing GNSS power consumption.
Support use of UART 2 in ZED-F9P added
The second UART of the ZED-F9P GNSS device may now be used (specify U_GNSS_TRANSPORT_UART_2
instead of U_GNSS_TRANSPORT_UART
).
GNSS power save modes support added
Support is added in the uGnssPwr API for all of the GNSS power saving features. Note that these features are not supported by all GNSS devices: see details in the API itself.
Cellular 📶
Cellular CloudLocate support added
Support is added for version 2 CloudLocate, using the new compact RRLP message formats available in u-blox M10 GNSS modules and later, which give a significant improvement in transmission speed/cost.
CellTime support for SARA-R5 modules added
CellTime, the feature through which accurate hardware timing may be achieved through the cellular network and/or GNSS, is now supported: see u_cell_time.h and the uCellTime API. This feature is supported on SARA-R5 cellular modules only.
Cellular Timeouts
The timeouts for certain cellular operations are increased in order to match the times recommended in the AT command manuals:
-
U_CELL_NET_UPSD_CONTEXT_ACTIVATION_TIME_SECONDS
(only relevant for SARA-U201) is changed from 30 to 180 seconds. -
U_CELL_NET_SCAN_TIME_SECONDS
, the time to wait foruCellNetScanGetFirst()
to return, is changed from 180 to 1580 seconds. -
U_CELL_SOCK_CONNECT_TIMEOUT_SECONDS
, the timeout when making a sockets connection over cellular, is changed from 30 to 332 seconds. -
U_CELL_SOCK_DNS_LOOKUP_TIME_SECONDS
, the timeout on returning the domain name for a given IP address over cellular, is changed from 60 to 332 seconds. -
U_MQTT_CLIENT_RESPONSE_WAIT_SECONDS
, the time to wait for a response from the MQTT server over cellular, is changed from 30 to 120 seconds.
Set time and read local time
It is now possible to set the time in the cellular module manually (uCellCfgSetTime()
) and to read the local time and timezone (uCellInfoGetTime()
).
Cellular PlatformIO ESP32 MQTT-SN Thingstream example
An example is added, showcasing how to connect a cellular module to the Thingstream MQTTSN broker with an ESP32.
Many thanks from the u-blox ubxlib
team to Jan-OleGliebel for taking the time to contribute this.
SLIPPED TO ubxlib
v1.4: LENA-R8 Support
Support for the LENA-R8 cellular module will now be added in release 1.4, not release 1.3.
Platforms 🖥
Native Linux support 🐧
Up to now it was only possible to run ubxlib
on Linux with the Zephyr/Posix implementation. In this release we introduce native Linux as a ubxlib
platform.
With this u-blox modules can be attached and be operated from a host processor running Linux. Modules can be attached via I2C, SPI or UART. GPIO is also supported. All native Linux testing has been carried out on a 64-bit Raspberry Pi 4.
ESP-IDF Version 5
Support is added for using ubxlib
with ESP-IDF version 5 (5.0.1 to be exact); support for ESP-IDF version 4 will remain.
PlatformIO Registry
ubxlib
is now listed in the PlatformIO registry
STM32
Support for the CMSIS v2 API is added.
Arduino (the non-PlatformIO one) and nRF5SDK Future Deprecation Notice
We would like to inform you of the future deprecation of two platforms:
-
port/platform/arduino, i.e. the version of Arduino where we supply a Python script which copies the
ubxlib
files into a structure that Arduino understands, -
port/platform/nrf5sdk, i.e. the previous generation of Nordic SDK, which Nordic have put into maintenance mode.
We will continue to support Arduino through port/platform/platformio; if you wish to continue to use ubxlib
with Arduino, please consider moving to the rather excellent PlatformIO IDE.
We will continue to support nRF52/nRF53 through what is now the Nordic standard nRF Connect SDK (i.e. Zephyr 3). If you use ubxlib
with nRF52/nRF53 please consider moving to nRF Connect.
Nothing will actually happen at release 1.3: the deprecation clock will begin ticking. At release 1.4 we will formally deprecate these two platforms (i.e. they will still be supported but you may get some additional annoying prints) and, at release 1.5, support for the platforms will be removed; you likely have until the end of 2023 before support for these platforms disappears.
Test Change Only: ubxlib.redirectme.net
-> ubxlib.com
The server used with the ubxlib
tests and the test farm as a TCP/UDP/TLS/MQTT/MQTTSN/HTTP peer will move from ubxlib.redirectme.net
to ubxlib.com
.