You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+21-1Lines changed: 21 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,6 +29,8 @@ Each class of allocator can be configured to use a separate type of allocator. A
29
29
-`RNS_PSRAM_ALLOCATOR`: Basic allocator that uses PSRAM memory (if PSRAM is available)
30
30
-`RNS_PSRAM_POOL_ALLOCATOR`: Optimized TLSF managed PSRAM buffer (if PSRAM is available)
31
31
32
+
NOTE: When utilizing PSRAM on ESP32 boards, preprocessor directive `-DBOARD_HAS_PSRAM=1` must be included in build flags in order to enable on-board PSRAM.
33
+
32
34
Each class of allocator pool can have a separate buffer size:
33
35
-`RNS_HEAP_POOL_BUFFER_SIZE=N` Defines the HEAP TLSF memory pool buffer size (N bytes, default 0 which means dynamic)
34
36
-`RNS_PSRAM_POOL_BUFFER_SIZE=N` Defines the PSRAM TLSF memory pool buffer size (N bytes, default 0 which means dynamic)
NOTE: Currently `-DRNS_DEFAULT_ALLOCATOR=RNS_HEAP_POOL_ALLOCATOR` is only required on NRF52 boards since ESP32 already uses TLSF internally.
49
+
NOTE: Currently "POOL" allocators are only required on NRF52 boards since ESP32 already uses TLSF internally for both SRAM and PSRAM resources.
50
+
51
+
## microStore Options
52
+
53
+
When using microReticulum to implement a transpport node, storage for the path table and other persistent data must be configured. This is accomplished using the File and FileSystem abstrctions provided in `microStore`. Several pre-build adapters are provided with the library, and optionally custom storage (e.g., external flash and SD card) can be used by deriving custom implementations from `microStore::File` and `microStore::FileSystem` and passing them to microReticulum for internal use.
54
+
There are several pre-built filesystem "adapters" available in the `microStore` library that can be used without modification for the most common supported boards. These can be inluded using the following preprocessor directives:
55
+
`-DUSTORE_USE_POSIXFS`: Native as well as any ESP-IDF supported POSIX file system
56
+
`-DUSTORE_USE_STDIOFS`: Native STDIO file system
57
+
`-DUSTORE_USE_INTERNALFS`: InternalFileSystem for adafruit nrf52
58
+
`-DUSTORE_USE_LITTLEFS`: LittleFS file system
59
+
`-DUSTORE_USE_SPIFFS`: SPIFFS file system
60
+
`-DUSTORE_USE_FLASHFS`: Adafruit FlashFS file system
61
+
`-DUSTORE_USE_UNIVERSALFS`: Best supported file system for any platform
62
+
63
+
Also note the following preprocessor directives used to tune `microStore::FileStore` which is the Bitcask-style storage engine used by microReticulum to persist the path table and other internal tables:
64
+
`-DRNS_PATH_TABLE_SEGMENT_SIZE`
65
+
`-DRNS_PATH_TABLE_SEGMENT_COUNT`
66
+
Appropriate settings should be selected to match the storage and memory resources available on the target platform.
67
+
Note that `RNS_PATH_TABLE_SEGMENT_COUNT` must be at least 3, and `RNS_PATH_TABLE_SEGMENT_COUNT` x `RNS_PATH_TABLE_SEGMENT_SIZE` represents the total approximate storage space available to the the path table.
0 commit comments