initialize.ino 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #include "initialize.h"
  2. void initialize(CameraModel *model)
  3. {
  4. // Set up the model defaults.
  5. model->isDitheringDisabled = false;
  6. model->isInverted = false;
  7. model->isFlashEnabled = false;
  8. model->isStreamEnabled = true;
  9. model->ditherAlgorithm = FLOYD_STEINBERG;
  10. // Set initial camera configurations for grayscale.
  11. config.ledc_channel = LEDC_CHANNEL_0;
  12. config.ledc_timer = LEDC_TIMER_0;
  13. config.pin_d0 = Y2_GPIO_NUM;
  14. config.pin_d1 = Y3_GPIO_NUM;
  15. config.pin_d2 = Y4_GPIO_NUM;
  16. config.pin_d3 = Y5_GPIO_NUM;
  17. config.pin_d4 = Y6_GPIO_NUM;
  18. config.pin_d5 = Y7_GPIO_NUM;
  19. config.pin_d6 = Y8_GPIO_NUM;
  20. config.pin_d7 = Y9_GPIO_NUM;
  21. config.pin_xclk = XCLK_GPIO_NUM;
  22. config.pin_pclk = PCLK_GPIO_NUM;
  23. config.pin_vsync = VSYNC_GPIO_NUM;
  24. config.pin_href = HREF_GPIO_NUM;
  25. config.pin_sscb_sda = SIOD_GPIO_NUM;
  26. config.pin_sscb_scl = SIOC_GPIO_NUM;
  27. config.pin_pwdn = PWDN_GPIO_NUM;
  28. config.pin_reset = RESET_GPIO_NUM;
  29. config.xclk_freq_hz = 20000000;
  30. config.pixel_format = PIXFORMAT_GRAYSCALE;
  31. config.frame_size = FRAMESIZE_QQVGA;
  32. config.fb_count = 1;
  33. // Initialize camera.
  34. esp_err_t err = esp_camera_init(&config);
  35. if (err != ESP_OK)
  36. {
  37. return;
  38. }
  39. // Check if the flash is already on, if it is turn it off.
  40. if (digitalRead(FLASH_GPIO_NUM) == HIGH)
  41. {
  42. pinMode(FLASH_GPIO_NUM, OUTPUT);
  43. digitalWrite(FLASH_GPIO_NUM, LOW);
  44. model->isFlashEnabled = false;
  45. }
  46. // Set global reference to the camera.
  47. sensor_t *cam = esp_camera_sensor_get();
  48. // Set up the frame buffer reference.
  49. camera_fb_t *frame_buffer = esp_camera_fb_get();
  50. // Set initial brightness.
  51. cam->set_brightness(cam, 0);
  52. // Set initial contrast.
  53. cam->set_contrast(cam, 0);
  54. // Set initial rotation.
  55. cam->set_vflip(cam, true);
  56. cam->set_hmirror(cam, true);
  57. // Set initial saturation.
  58. cam->set_saturation(cam, 0);
  59. // Set initial sharpness.
  60. cam->set_sharpness(cam, 0);
  61. }