GPIO_reader_item.c 835 B

123456789101112131415161718192021222324252627
  1. #include "GPIO_reader_item.h"
  2. const char* gpio_item_get_pin_name(uint8_t index) {
  3. furi_assert(index < GPIO_ITEM_COUNT);
  4. return gpio_item[index].name;
  5. }
  6. const char* gpio_item_get_pull_mode(uint8_t pull_mode) {
  7. furi_assert(pull_mode < GPIO_PULL_COUNT);
  8. return gpio_pull_mode[pull_mode].name;
  9. }
  10. const char* gpio_item_get_pin_level(uint8_t index) {
  11. furi_assert(index < GPIO_ITEM_COUNT);
  12. //furi_hal_gpio_write(gpio_item[index].pin, level);
  13. if(furi_hal_gpio_read(gpio_item[index].pin)) {
  14. return "High";
  15. } else {
  16. return "Low";
  17. }
  18. }
  19. void gpio_item_configure_pin(uint8_t index, uint8_t pull_mode) {
  20. furi_assert(index < GPIO_ITEM_COUNT);
  21. furi_hal_gpio_init(
  22. gpio_item[index].pin, GpioModeInput, gpio_pull_mode[pull_mode].pull, GpioSpeedVeryHigh);
  23. }