- app_net.c: replace bare httpd_req_recv with recv_body_capped/alloc helpers (TCP-safe, full-body reads); add OPTIONS/* CORS preflight handler; bump WS broadcast buffer to 2048; add CORS Allow-Methods - CMakeLists (net_service): add http_parser dep for HTTP_OPTIONS - nfc_engine/pn532_core: add nfc_access_lock/unlock mutex, board-RGB quiet helper, UL type detection, general-status improvements - pn532_transport: minor cleanup - main.c: call board_rgb_led_quiet() at boot to kill onboard LED - sdkconfig.defaults: add board RGB Kconfig defaults - README, docs/LIMITATIONS, docs/PINOUT: expand and correct Made-with: Cursor
33 lines
1.5 KiB
Markdown
33 lines
1.5 KiB
Markdown
# Pinout notes (ESP32-S3-DevKitC-1)
|
||
|
||
Strapping and USB pins differ by revision — **avoid** GPIO `19–20` for PN532 when using USB-Serial/JTAG on many boards. Prefer **SPI2** on free GPIOs from the [DevKitC-1 user guide](https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/esp32-s3-devkitc-1/user_guide_v1.1.html).
|
||
|
||
## Kconfig defaults (examples only)
|
||
|
||
The firmware Kconfig ships **example** GPIOs:
|
||
|
||
- **SPI**: MOSI `11`, MISO `13`, SCLK `12`, CS `10`
|
||
- **I2C**: SDA `8`, SCL `9`
|
||
|
||
**You must verify** these against your PCB/breadboard and PN532 breakout (Adafruit / Elechouse / clones often label SPI and I2C jumpers).
|
||
|
||
## PN532 wiring checklist
|
||
|
||
- **SPI**: connect `RSTO`/`RST` to MCU if exposed; some breakouts auto-reset via I2C/SPI activity.
|
||
- **I2C**: set address pins per module (usually **0x24** 7‑bit).
|
||
- **Power**: **3.3V** logic on ESP32; ensure PN532 module is 3.3V compliant (level-shift if using a 5V Arduino-style shield).
|
||
|
||
## Transport selection
|
||
|
||
Start with the bus your breakout is jumpered for — **I2C is often simplest** on ESP32 for bring-up; SPI may require **lower clock** initially (e.g. **100 kHz**).
|
||
|
||
## Common red module switch matrix
|
||
|
||
For the common Elechouse-style red PN532 board, the onboard two-position switch matrix is typically:
|
||
|
||
- **HSU**: `OFF/OFF`
|
||
- **I2C**: `ON/OFF`
|
||
- **SPI**: `OFF/ON`
|
||
|
||
Many of these boards boot in **HSU** by default, and the **I2C** and **HSU** labels often refer to the same physical header pins from opposite sides of the PCB. If the bus looks dead, check the switches before changing firmware.
|