Import dives from Cressi Cartesio

Linus Torvalds torvalds at linux-foundation.org
Tue Feb 18 13:57:19 PST 2020


On Tue, Feb 18, 2020 at 1:43 PM Linus Torvalds
<torvalds at linux-foundation.org> wrote:
>
> There's two possibilities:
>
>  (a) the Cressi protocol isn't the same on BLE as it is on a regular serial line
>
>  (b) the Nordic UART service needs more setup for the other end (tell
> it baud-rate etc)

Ugh. A quick look at some Nordic docs seems to imply that _both_ of
these will be true.

Not only does Nordic have a APP_UART_FIFO_INIT() thing in their UART
SDK, there's also magic for reading buttons and setting LED lights
etc. So it looks like there is a lot more than just "transfer data".

It also looks like the buffering done by the UART->BLE end is line-based:

  "Received characters are buffered into a string until a new line
character is received or the size of the string exceeds the limit
defined by NUS_MAX_DATA_LENGTH"

which means that I wouldn't be surprised if Cressi might have added
newlines to the protocol just to get that UART->BLE side to flush in a
timely manner.

So ouch. This looks more complex than most BLE things have been.

                Linus


More information about the subsurface mailing list