Ujson should only worry about whitespace before JSON. This becomes apparent when you are using MP stream protocol to read directly from input buffers.
When you attempt to read(1) on a UART (and possibly other protocols) you have to wait for either the byte or the timeout.
Fixes:
- Waiting for a timeout after you have completed reading a correct and complete JSON off the input.
- Raising an OSError after reading a correct and complete JSON off the input.
- Eating more data than semantically owned off the input buffer.
- Blocking to start parsing JSON until the entire JSON body has been loaded into a potentially large, contiguous Python object.
Code you would write before:
```
line = board_busio_uart_port.read_line()
json_dict = json.loads(line)
```
or reaching for fixed buffers and swapping them around in Python.
Code that did not work before that does now:
```
json_dict = json.load(board_busio_uart_port)
```
- This removes the need for intermediate copies of data when reading JSON from micropython stream protocol inputs.
- It also increases total application speed by parsing JSON concurrently with receiving on boards that read from UART via DMA.
- It simplifies code that users write while improving their apps.
This gets all the purely internal references. Some uses of
protomatter/Protomatter/PROTOMATTER remain, as they are references
to symbols in the Protomatter C library itself.
I originally believed that there would be a wrapper library around it,
like with _pixelbuf; but this proves not to be the case, as there's
too little for the library to do.
ports/atmel-samd/boards/bdmicro_vina_m0/board.c
ports/atmel-samd/boards/bdmicro_vina_m0/mpconfigboard.h
ports/atmel-samd/boards/bdmicro_vina_m0/mpconfigboard.mk
ports/atmel-samd/boards/bdmicro_vina_m0/board.c
This board includes the newly added MX25L51245G 64MB SPI flash chip
for the CircuitPython file system. Also included is the PCF2129T/2,518
high accuracy, battery backed, RTC. Also includes an independent USB
HOST connector in addition to USB DEVICE making it easy to connect USB
peripherals. Designed mainly as a general purpose module to piggy back
onto application-specific boards, it can also run low power standalone
in harsh environments for data logging and other control applications
using an appropriate enclosure.
Has been extensively tested with CircuitPython and works well.