process_serial_commands.ino 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #include "process_serial_commands.h"
  2. void process_serial_commands() {
  3. if (Serial.available() > 0) {
  4. char input = Serial.read();
  5. sensor_t* cam = esp_camera_sensor_get();
  6. switch (input) {
  7. case '>': // Toggle dithering.
  8. camera_model.isDitheringEnabled = !camera_model.isDitheringEnabled;
  9. break;
  10. case 'i': // Turn invert off.
  11. camera_model.isInvertEnabled = false;
  12. break;
  13. case 'I': // Turn invert on.
  14. camera_model.isInvertEnabled = true;
  15. break;
  16. case 'b': // Remove brightness.
  17. cam->set_contrast(cam, cam->status.brightness - 1);
  18. break;
  19. case 'B': // Add brightness.
  20. cam->set_contrast(cam, cam->status.brightness + 1);
  21. break;
  22. case 'c': // Remove contrast.
  23. cam->set_contrast(cam, cam->status.contrast - 1);
  24. break;
  25. case 'C': // Add contrast.
  26. cam->set_contrast(cam, cam->status.contrast + 1);
  27. break;
  28. case 'f': // Turn the flash off.
  29. toggle_flash_off();
  30. break;
  31. case 'F': // Turn the flash on.
  32. toggle_flash_on();
  33. break;
  34. case 'P': // Save image to the onboard SD card.
  35. // @todo - Future feature.
  36. // save_picture_to_sd_card();
  37. break;
  38. case 'M': // Toggle Mirror.
  39. cam->set_hmirror(cam, !cam->status.hmirror);
  40. break;
  41. case 's': // Stop stream.
  42. camera_model.isStreamEnabled = false;
  43. break;
  44. case 'S': // Start stream.
  45. camera_model.isStreamEnabled = true;
  46. break;
  47. case '0': // Use Floyd Steinberg dithering.
  48. camera_model.ditherAlgorithm = FLOYD_STEINBERG;
  49. break;
  50. case '1': // Use Jarvis Judice dithering.
  51. camera_model.ditherAlgorithm = JARVIS_JUDICE_NINKE;
  52. break;
  53. case '2': // Use Stucki dithering.
  54. camera_model.ditherAlgorithm = STUCKI;
  55. break;
  56. default:
  57. // Do nothing.
  58. break;
  59. }
  60. }
  61. }