zephyr/samples/drivers
Luis Ubieda 94a7f028ef ubx: Refactor codebase in order to improve usability
During testing and code inspection, there were various anti-patterns
on this (and U-Blox driver) codebase(s), including obfuscation, and
lack of data validation. This made it increasingly difficult to
introduce further variants of u-blox GNSS modems.

With this patch, both the UBX modem and the M8 driver have been
refactored to ease the reliability and maintainability of these
codebases. Here are some highlights:

WRT UBX modem:
- Helper macros to easily create UBX frames, (including checksum
calculation), at compile time; thus, making it easier to extend UBX
commands.
- Logic validation by the inclusion of the modem_ubx testsuite, used to
refactor the code through TDD.
- Ability to receive unsolicited messages, in order to enable U-Blox
drivers to rely on modem_ubx to transceive all commands, and avoid
hopping between modem_ubx and modem_chat.

WRT M8 driver:
- Remove GNSS specific protocol header files. Instead, unify them under
modem/ubx/protocol.h. Background: After a survey and looking at ubxlib
SDK I conclude the UBX protocol is by definition a GNSS protocol (there
are non-GNSS u-blox modems, but they're not interfaced through UBX
protocol).
- Establish pattern to create and send/receive commands using new
foundations on modem ubx.
- Remove dependency of Modem chat, and instead use UBX unsolicited
messages to get Navigation and Satellites data.
- Switch from the auto-baudrate detection pattern to a pattern of
transitioning between an initial known baudrate to a desired baudrate,
in order to improve initialization time.
- Add dts property to configure default fix-rate.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-05-30 19:40:19 +02:00
..
adc samples: adc_dt: add overlay for STM32F0-DISCO 2025-05-27 15:46:19 +02:00
audio samples: Add BL54L15/L15u DVK support 2025-04-23 15:02:20 +02:00
auxdisplay
auxdisplay_digits samples: drivers: Add auxdisplay_digits sample 2025-05-09 21:08:32 +02:00
can
charger
clock_control_litex boards: enjoydigital: adopt new zephyr:board directive and role 2025-02-28 14:52:23 +01:00
clock_control_xec
counter samples: counter: alarm: undef redefined TIMER for ambiq 2025-05-30 10:28:13 +02:00
crypto drivers; crypto: Remove TinyCrypt shim 2025-05-23 17:41:06 -04:00
dac boards: nxp: add mcx_n9xx_evk 2025-04-25 11:04:08 +02:00
display test: driver: display: add test case for x_nucleo_gfx01m2 2025-05-13 16:22:52 +02:00
eeprom boards native_posix: Remove twister support 2025-03-07 19:16:14 +01:00
espi dts: bindings: spi: use hyphen instead of underscore 2025-03-18 16:40:19 +01:00
ethernet samples: net: enable NET_ZPERF_SERVER 2025-04-23 11:48:42 +02:00
flash_shell drivers uart_native_posix: rename to native_pty and support N instances 2025-03-11 18:54:02 +01:00
fpga
gnss ubx: Refactor codebase in order to improve usability 2025-05-30 19:40:19 +02:00
haptics
ht16k33 doc: boards: nordic: Adopt zephyr:board directives 2025-03-31 22:00:02 +02:00
i2c samples: drivers: i2c: add target_eeprom support for frdm_mcxa153 board 2025-05-09 12:51:20 +02:00
i2s boards: esp32c6_devkitc: Add i2s support and samples 2025-05-22 15:25:12 +02:00
ipm tests, samples: update esp32_devkitc board records 2025-04-29 16:48:55 +02:00
jesd216 samples: drivers: jesd216: Make output correct DTS syntax 2025-04-24 16:54:59 +02:00
lcd_cyclonev_socdk
lcd_hd44780
led boards: esp32c6_devkitc: Add i2s support and samples 2025-05-22 15:25:12 +02:00
lora samples: lora: send: counter in packet 2025-05-01 09:34:21 +02:00
mbox tests, samples: update esp32_devkitc board records 2025-04-29 16:48:55 +02:00
mbox_data boards: nxp: add mcx_n9xx_evk 2025-04-25 11:04:08 +02:00
memc
misc samples: drivers: misc: Enabled timeaware-gpio for BTL-S 2025-05-20 15:24:18 +02:00
mspi tests/samples: use integration platforms where possible 2025-03-11 11:35:15 +01:00
peci
ps2
rtc drivers: rtc: add rtc support for apollo510 2025-05-08 08:55:06 +02:00
smbus
soc_flash_nand
soc_flash_nrf samples: drivers: nrf: flash: Execute nrf soc flash sample on nrf54l 2025-05-28 12:22:04 +02:00
spi_bitbang samples: drivers: spi: Add support for RZ/G3S-SMARC 2025-05-15 09:00:31 +02:00
spi_flash samples: spi_flash: add support for blackpill_f411ce 2025-04-24 01:27:27 +02:00
spi_flash_at45 tests/samples: use integration platforms where possible 2025-03-11 11:35:15 +01:00
spi_fujitsu_fram
stepper drivers: stepper: refactor enable(dev,flag) to enable & disable 2025-04-03 00:03:29 +02:00
uart samples: drivers: uart: async_api: exclude some platforms with LPUART 2025-04-29 02:42:19 +02:00
video samples: drivers: video: fix capture_to_lvgl statistics 2025-05-28 16:38:05 +02:00
virtualization
w1 samples: drivers: w1: Add MAX boards sample overlay files 2025-02-12 23:15:57 +01:00
watchdog tests: drivers: watchdog: Add intel_btl_s_crb overlay 2025-05-20 15:24:18 +02:00
drivers.rst