Firmware:
- fix 90° rotation (was transpose)
- fix Adafruit_Thermal constructor (spurious DTR pin arg)
- wire up uploadImage; heatInterval now applied
- PSRAM-free strip dithering: 2-row buffers (~1KB) replace 153KB PSRAM alloc
- consolidate all pins into config.h; BUTTON_PIN → Config::PIN_BUTTON
- constrain contrast/brightness/heat in settings save handler
- uploadImage size param int → size_t
Server:
- canonicalize upload_dir at startup (fixes path traversal guard)
- path traversal guard in serve_image
- replace unwrap in gallery_data with error handling
- IMAGE_WIDTH/IMAGE_HEIGHT named constants
Gallery:
- innerHTML → createElement (XSS-safe)
- encodeURIComponent on image URLs
- replace("_"," ") → regex /_/g
Docs: rewrite README, clarify GUEST_MANUAL placeholders
688 B
688 B
Welcome to the Party Cam!
Snap a photo, get a receipt, and view the digital archive instantly.
How to use
- Frame your shot. (Wide-angle lens — back up a little!)
- Press the button.
- Wait ~5 seconds.
- A thermal print comes out of the printer.
- The photo is uploaded to the live gallery.
View the Live Gallery
Want to save the photo to your phone?
- Connect to the WiFi: [FILL IN: venue WiFi name]
- Go to: http://[FILL IN: server IP]:3000/gallery
- Password: [FILL IN: gallery password]
(Ask the host if you can't connect!)
Host checklist before printing this: fill in the three
[FILL IN]fields above.