board.c 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /*
  2. * board.c
  3. *
  4. * Created on: Jun 15, 2019
  5. * Author: curiousmuch
  6. */
  7. #include <stdio.h>
  8. #include "freertos/FreeRTOS.h"
  9. #include "freertos/task.h"
  10. #include "driver/gpio.h"
  11. #include "driver/adc.h"
  12. #include "board.h"
  13. // Debugging IO Functions
  14. inline void IRAM_ATTR enable_debug_IO(uint32_t io_num)
  15. {
  16. gpio_set_level(io_num, 1);
  17. }
  18. inline void IRAM_ATTR disable_debug_IO(uint32_t io_num)
  19. {
  20. gpio_set_level(io_num, 0);
  21. }
  22. // Red LED Functions
  23. void enable_red_led(void)
  24. {
  25. gpio_set_level(RED_LED, 1);
  26. }
  27. void disable_red_led(void)
  28. {
  29. gpio_set_level(RED_LED, 0);
  30. }
  31. // Green LED Functions
  32. void enable_green_led(void)
  33. {
  34. gpio_set_level(GREEN_LED, 1);
  35. }
  36. void disable_green_led(void)
  37. {
  38. gpio_set_level(GREEN_LED, 0);
  39. }
  40. int32_t battery_measure(void)
  41. {
  42. adc1_config_width(ADC_WIDTH_BIT_12);
  43. adc1_config_channel_atten(ADC1_CHANNEL_0,ADC_ATTEN_DB_0);
  44. int val = adc1_get_raw(BATTERY_ADC_CHANNEL);
  45. return val;
  46. }
  47. void board_init(void)
  48. {
  49. // setup LED IO
  50. gpio_config_t led_pin_config =
  51. {
  52. .pin_bit_mask = (uint64_t) (BIT64(RED_LED)|BIT64(GREEN_LED)),
  53. .mode = GPIO_MODE_OUTPUT,
  54. .pull_up_en = GPIO_PULLUP_DISABLE,
  55. .pull_down_en = GPIO_PULLDOWN_DISABLE,
  56. .intr_type = GPIO_INTR_DISABLE
  57. };
  58. gpio_config(&led_pin_config);
  59. // setup debugging IO
  60. gpio_config_t debug_pin_config =
  61. {
  62. .pin_bit_mask = (uint64_t) (BIT64(DEBUG_0)|BIT64(DEBUG_1)|BIT64(DEBUG_2)|BIT64(DEBUG_3)),
  63. .mode = GPIO_MODE_OUTPUT,
  64. .pull_up_en = GPIO_PULLUP_DISABLE,
  65. .pull_down_en = GPIO_PULLDOWN_DISABLE,
  66. .intr_type = GPIO_INTR_DISABLE
  67. };
  68. gpio_config(&debug_pin_config);
  69. }