/** * Hardware / sensor stills shown in the preview “Hardware” tab. * Prefer Wikimedia Commons (CC) or original studio stubs — see public/sensors/ATTRIBUTION.md */ export type SensorMedia = { /** Short part name shown under the photo */ label: string; /** Public URL under /sensors/… */ src: string; }; /** Map firmware project folder name → sensor/module still. */ const BY_PROJECT: Record = { temperature: { label: "DHT11 / DHT22", src: "/sensors/dht.jpg", }, gy30test: { label: "GY-30 / BH1750", src: "/sensors/bh1750.jpg", }, sgp30test: { label: "SGP30", src: "/sensors/sgp30.jpg", }, ld2420test: { label: "LD2420 mmWave", src: "/sensors/ld2420.jpg", }, phtotest: { label: "microSD / TF", src: "/sensors/microsd.jpg", }, tftest: { label: "Speaker (GPIO26)", src: "/sensors/speaker.jpg", }, activeBuzzerTest: { label: "Active buzzer", src: "/sensors/buzzer.jpg", }, btntest: { label: "Tactile button", src: "/sensors/button.jpg", }, touchbtntest: { label: "TTP223 touch", src: "/sensors/ttp223.jpg", }, humanInfraredModuletest: { label: "PIR SR505 / SR501", src: "/sensors/pir.jpg", }, voicechecktest: { label: "Whistle / sound (digital)", src: "/sensors/sound_sensor.jpg", }, hw069digitdisplaytest: { label: "HW-069 / TM1637", src: "/sensors/tm1637.jpg", }, hw269test: { label: "HW-269 white LED", src: "/sensors/white_led.jpg", }, smdky009ledtest: { label: "KY-009 RGB LED", src: "/sensors/rgb.jpg", }, lcd1602atest: { label: "LCD1602A + PCF8574", src: "/sensors/lcd1602.jpg", }, bletest: { label: "Onboard BLE (ESP32)", src: "/sensors/bluetooth_icon.svg", }, wifitest: { label: "Onboard Wi‑Fi (ESP32)", src: "/sensors/wifi_icon.svg", }, }; export function sensorMediaForProject(project: string): SensorMedia | null { return BY_PROJECT[project] ?? null; }