freq_slider.c 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #include <stdbool.h>
  2. #include "driver/usb_serial_jtag.h"
  3. #include "portmacro.h"
  4. #include "esp_log.h"
  5. #include "buzzer.h"
  6. #include "arraylen.h"
  7. extern const uint32_t init_buzzer_freq;
  8. static const char* TAG = "FREQ_SLIDER_C";
  9. void freq_slider_task(void* param) {
  10. buzzer_init(init_buzzer_freq);
  11. usb_serial_jtag_driver_config_t jtag_config = {.rx_buffer_size = 1024,
  12. .tx_buffer_size = 1024};
  13. ESP_ERROR_CHECK(usb_serial_jtag_driver_install(&jtag_config));
  14. int modify_amount = 10;
  15. char buf[4] = {0};
  16. while (true) {
  17. int read_count = usb_serial_jtag_read_bytes(buf, ARRAY_LEN(buf) - 1, portMAX_DELAY);
  18. buf[read_count + 1] = '\0';
  19. switch (buf[0]) {
  20. case 'q':
  21. ESP_LOGI(TAG, "Increasing frequency. New frequency: %d", modify_frequency(modify_amount));
  22. break;
  23. case 'a':
  24. ESP_LOGI(TAG, "Decreasing frequency. New frequency: %d", modify_frequency(-modify_amount));
  25. modify_frequency(-modify_amount);
  26. break;
  27. case '1':
  28. reset_frequency();
  29. break;
  30. }
  31. }
  32. }