From 866912e1d78bdeac05fad8d516c5236ecfc25d6a Mon Sep 17 00:00:00 2001 From: Peter Hinch Date: Thu, 29 Jul 2021 12:04:18 +0100 Subject: [PATCH] Serialisation: add reference to MessagePack. --- README.md | 4 ++-- SERIALISATION.md | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 7b0e180..655cfeb 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ and modules which are documented and supported. 2.4 [DS3231 precision RTC](./README.md#24-ds3231-precision-rtc) Use cheap hardware to calibrate Pyboard RTC. 3. [Essays](./README.md#3-essays) General thoughts. 3.1 [Resilient](./README.md#31-resilient) A guide to writing resilient WiFi code - 3.2 [Serialisation](./README.md#32-serialisation) Review of MicroPython's four serialisation libraries + 3.2 [Serialisation](./README.md#32-serialisation) Review of MicroPython's five serialisation libraries 3.3 [Measurement of relative timing and phase of fast analog signals](./README.md#33-measurement-of-relative-timing-and-phase-of-fast-analog-signals) For Pyboard. 4. [Code samples](./README.md#4-code-samples) Samples prefixed Pyboard are Pyboard specific 4.1 [Pyboard Mutex](./README.md#41-pyboard-mutex) Share data between threads and ISR's. @@ -139,7 +139,7 @@ Probably applies to other WiFi connected MicroPython devices. ## 3.2 Serialisation [A discussion](./SERIALISATION.md) of the need for serialisation and of the -relative characteristics of four libraries available to MicroPython. Includes a +relative characteristics of five libraries available to MicroPython. Includes a tutorial on a Protocol Buffer library. ## 3.3 Measurement of relative timing and phase of fast analog signals diff --git a/SERIALISATION.md b/SERIALISATION.md index 95970b4..ebc2f76 100644 --- a/SERIALISATION.md +++ b/SERIALISATION.md @@ -40,10 +40,11 @@ the byte sequences are relatively long. Numbers 1, 2 and 4 are self-describing: the format includes a definition of its structure. This means that the decoding process can re-create the object in the absence of information on its structure, which may therefore change at runtime. -Self describing formats inevitably are variable length. This means that the -receiving process must be provided with a means to determine when a complete -message has been received. In the case of ASCII formats a delimiter may be used -but in the case of `MessagePack` this presents something of a challenge. +Self describing formats inevitably are variable length. This is no problem +where data is being saved to file, but if it is being communicated across a +link the receiving process needs a means to determine when a complete message +has been received. In the case of ASCII formats a delimiter may be used but in +the case of `MessagePack` this presents something of a challenge. The `ustruct` format is binary: the byte sequence comprises binary data which is neither human readable nor self-describing. The problem of message framing