aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormrfaptastic <12006953+mrfaptastic@users.noreply.github.com>2023-02-21 09:28:54 +1000
committerGitHub <noreply@github.com>2023-02-21 09:28:54 +1000
commit85640b2bca323cb7b6acc97a91eb05da0f090da1 (patch)
treea8cd79ddde7cd733c7afa842ec5c2da4e3705dee
parent57d88db8aeb46ec8a151b20049df303f82582556 (diff)
parent14a685e44c72b5cbca48378c782d924eb867e9d0 (diff)
Merge pull request #404 from LostInCompilation/fix_readme
Fixed README Table Of Contents
-rw-r--r--README.md41
1 files changed, 20 insertions, 21 deletions
diff --git a/README.md b/README.md
index c32b4af..b4a2acc 100644
--- a/README.md
+++ b/README.md
@@ -2,38 +2,37 @@
__[BUILD OPTIONS](/doc/BuildOptions.md) | [EXAMPLES](/examples/README.md)__ | [![PlatformIO CI](https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-DMA/actions/workflows/pio_build.yml/badge.svg)](https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-DMA/actions/workflows/pio_build.yml)
- **Table of Content**
+**Table of Content**
- [Introduction](#introduction)
* [Features](#features)
- * [Supported ESP32](#esp32-supported)
- * [Supported Panels](#panels-supported)
- * [Panel driver chips known to be working well](#panel-driver-chips-known-to-be-working-well)
- * [Panels Not Supported](#panels-not-supported)
- * [Update for 16x32 Panels](#update-for-16x32-panels)
- * [Cool uses of this library](#cool-uses-of-this-library)
+ * [ESP32 variants supported](#esp32-variants-supported)
+ * [Required memory](#required-memory)
+ * [Supported Panels](#supported-panels)
+ * [Panel driver chips known to be working well](#driver-chips-known-to-be-working-well)
+ * [Unsupported Panels](#unsupported-panels)
- [Getting Started](#getting-started)
* [1. Library Installation](#1-library-installation)
- * [2. Wiring ESP32 with the LED Matrix Panel](#2-wiring-esp32-with-the-led-matrix-panel)
+ * [2. Wiring the ESP32 to an LED Matrix Panel](#2-wiring-the-esp32-to-an-led-matrix-panel)
* [3. Run a Test Sketch](#3-run-a-test-sketch)
-- [More Information](#more-information)
- * [Build-time options](#doc/BuildOptions.md)
- * [Memory constraints](#memory-constraints)
- * [Can I use with a larger panel (i.e. 64x64px square panel)?](#can-i-use-with-a-larger-panel-ie-64x64px-square-panel)
+- [Further Information](#further-information)
* [Can I chain panels?](#can-i-chain-panels)
- * [Panel Brightness](#panel-brightness)
+ * [Can I use with a larger panel (i.e. 64x64px square panel)?](#can-i-use-with-a-larger-panel-ie-64x64px-square-panel)
+ * [Adjusting Panel Brightness](#adjusting-panel-brightness)
+ * [Build-time options](#build-time-options)
* [Latch blanking](#latch-blanking)
- * [Power, Power and Power!](#power--power-and-power)
+ * [Power, Power and Power!](#power-power-and-power)
* [Inspiration](#inspiration)
- - [Thank you!](#thank-you)
+ * [Cool uses of this library](#cool-uses-of-this-library)
+- [Thank you!](#thank-you)
-## Introduction
+# Introduction
* This is an ESP32 Arduino/IDF library for HUB75 / HUB75E RGB LED panels.
* This library 'out of the box' (mostly) supports HUB75 panels where TWO rows/lines are updated in parallel... referred to as 'two scan' panels within this library's documentation.
* 'Four scan' panels are also supported - but please refer to the Four Scan Panel example.
* The library uses the DMA functionality provided by the ESP32's 'LCD Mode' for faster output.
-### Features
+## Features
- **Low CPU overhead** - Pixel data is sent directly with the use of hardware-backed DMA, no CPU involvement
- **Fast** - Updating pixel data involves only bit-wise logic over DMA buffer memory, no pins manipulation or blocking IO
- **Full screen BCM** - Library utilizes [binary-code modulation](http://www.batsocks.co.uk/readme/art_bcm_5.htm) to render pixel color depth / brightness over the entire matrix to give reasonable colour depth
@@ -48,7 +47,7 @@ __[BUILD OPTIONS](/doc/BuildOptions.md) | [EXAMPLES](/examples/README.md)__ | [!
RISC-V ESP32's (like the C3) are not supported as they do not have the hardware 'LCD mode' required for this library.
-## Memory is required!
+## Required memory
"*What's the price for those features?*" - It's [memory](/doc/memcalc.md), you pay it all by precious MCU's internal memory (SRAM) for the DMA buffer.
A typical 64x32px panel at 24bpp colour uses about 20kB of internal memory.
@@ -62,7 +61,7 @@ To enable PSRAM support on the ESP32-S3, refer to [the build options](/doc/Build
For all other ESP32 variants (like the most popular ‘original’ ESP32), [only *internal* SRAM can be used](https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA/issues/55), so you will be limited to the ~200KB or so of 'free' SRAM (because of the memory used for your sketch amongst other things) regardless of how many megabytes of SPIRAM/PSRAM you may have connected.
-## Suported panels
+## Supported panels
### Parallel scan lines
* 'Two scan' panels where **two** rows/lines are updated in parallel.
* 64x32 (width x height) 'Indoor' panels, such as this [typical RGB panel available for purchase](https://www.aliexpress.com/item/256-128mm-64-32-pixels-1-16-Scan-Indoor-3in1-SMD2121-RGB-full-color-P4-led/32810362851.html). Often also referred to as 1/16 'scan panel' as every 16th row is updated in parallel (hence why I refer to it as 'two scan')
@@ -85,7 +84,7 @@ Due to the high-speed optimized nature of this library, only specific panels are
* FM6126A AKA ICN2038S, [FM6124](https://datasheet4u.com/datasheet-pdf/FINEMADELECTRONICS/FM6124/pdf.php?id=1309677) (Refer to [PatternPlasma](/examples/2_PatternPlasma) example on how to use.)
* SM5266P
-## Panels Not Supported
+## Unsupported Panels
* RUL5358 / SHIFTREG_ABC_BIN_DE based panels are not supported.
* ICN2053 / FM6353 based panels - Refer to [this library](https://github.com/LAutour/ESP32-HUB75-MatrixPanel-DMA-ICN2053), which is a fork of this library ( [discussion link](https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-DMA/discussions/324)).
* Any other panel not listed above.
@@ -100,7 +99,7 @@ Please use an [alternative library](https://github.com/2dom/PxMatrix) if you bou
Library also tested to work fine with PlatformIO, install into your PlatformIO projects' lib/ folder as appropriate. Or just add it into [platformio.ini](/doc/BuildOptions.md) [lib_depth](https://docs.platformio.org/en/latest/projectconf/section_env_library.html#lib-deps) section.
-## 2. Wiring the ESP32/ESP32-S2/ESP32-S3 to an LED Matrix Panel
+## 2. Wiring the ESP32 to an LED Matrix Panel
Refer to the '*default-pins.hpp' file within the [applicable platforms folder](https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-DMA/tree/master/src/platforms).