Pico panels get static IPs on 10.1.1.10–14 with per-panel LED counts, Makefile deploy targets, and Python examples for animations, sync tests, and direct Pi SPI control. Co-authored-by: Cursor <cursoragent@cursor.com>
54 lines
1.1 KiB
C
54 lines
1.1 KiB
C
#ifndef BOARD_CONFIG_H
|
||
#define BOARD_CONFIG_H
|
||
|
||
/* Matches adapter/code.py — W5500 on SPI1, WS2812 on GP27 */
|
||
|
||
#define PIN_LED_STATUS 25
|
||
|
||
#define SPI_PORT spi1
|
||
#define SPI_CLK_MHZ 20
|
||
|
||
#define PIN_CS 9
|
||
#define PIN_SCK 10
|
||
#define PIN_MOSI 11
|
||
#define PIN_MISO 12
|
||
#define PIN_RST 13
|
||
|
||
#ifndef PIN_WS2812
|
||
#define PIN_WS2812 27
|
||
#endif
|
||
|
||
#ifndef NUM_LEDS
|
||
#define NUM_LEDS 405
|
||
#endif
|
||
|
||
#define LED_RGB_BYTES (NUM_LEDS * 3)
|
||
|
||
/* W5500 socket assignments */
|
||
#define SOCKET_DHCP 0
|
||
#define SOCKET_UDP 1
|
||
|
||
/* UDP port (same as CircuitPython adapter) */
|
||
#define UDP_PORT 50007
|
||
|
||
/* Compile-time panel index for filtered frames (0–4). 255 = accept all. */
|
||
#ifndef PANEL_ID
|
||
#define PANEL_ID 255
|
||
#endif
|
||
|
||
/* 1 = DHCP, 0 = static IP below */
|
||
#ifndef USE_DHCP
|
||
#define USE_DHCP 0
|
||
#endif
|
||
|
||
#define STATIC_IP_OCT4 ((PANEL_ID) == 255 ? 19u : (10u + (unsigned)(PANEL_ID)))
|
||
#define STATIC_IP {10, 1, 1, (uint8_t)STATIC_IP_OCT4}
|
||
#define STATIC_SN {255, 255, 255, 0}
|
||
#define STATIC_GW {10, 1, 1, 1}
|
||
#define STATIC_DNS {10, 1, 1, 1}
|
||
|
||
/* Locally administered; last byte = PANEL_ID (unique per panel 0–4). */
|
||
#define MAC_ADDR {0x02, 0x50, 0x52, 0x54, 0x4C, (uint8_t)PANEL_ID}
|
||
|
||
#endif
|