I have an external GPS module connected to an nrf9151dk over UART. The module is correctly powered, and sending messages over its tx pin, which has been confirmed by attaching a logic analyzer in parallel with the dev board and seeing valid NMEA 0183 messages being sent. Despite this, and despite trying both the interrupt driven and DMA-based async api for uart, I've been unable to come up with firmware that can read any data. Below I've provided the overlay file definitions pertaining to this peripheral, and the code handling the UART device.
app.overlay
prj.conf
gps_uart.c:
gps_uart.h
The actual UART driver code here is substantially based off the lpuart example found here.
The GPS module is sending ~10 (I haven't actually counted, but a significant number) NMEA messages every second, and yet at runtime the only UART events received by the callback are one or two buf requests, and one ready event at most.
I would appreciate any guidance as to what mistakes there may be here that are leading to the bizarre behaviour
Kaitlyn