The esp32-camera library already includes a full OV3660 driver, so no
library changes are needed. This commit wires in the sensor-specific
initialization the OV3660 requires:
- Increase XCLK from 15 MHz to 20 MHz in InitCameraModule(); the OV3660
requires 20 MHz and the OV2640 is compatible with both frequencies
- Apply OV3660-specific settings in ApplyCameraCfg() when the detected
sensor PID matches OV3660_PID: enable vflip (sensor image is natively
inverted), reduce initial saturation, and clamp frame size to SXGA
(1280x1024) if a larger size was stored in EEPROM, since UXGA exceeds
the OV3660's maximum resolution
- Update CAMERA_MODEL EXIF string from "OV2640" to "OV3660"
- Add OV3660 to the supported camera modules table in the AI Thinker
README
- Add build/ to .gitignore to exclude Arduino IDE compiled output
- Added max attempts limit to avoid infinite loops which would let the flash on continuously
Additional cleanups:
- Removed redundant frame buffer handling
- Added error handling for semaphore take failure
- Ensured semaphore release on capture failure