Skip to content
  • Категории
  • Главная
  • Документация
  • Последние
  • Пользователи
Collapse
  1. Главная
  2. Raspberry Pi
  3. XBMC + GPIO

XBMC + GPIO

Запланировано Прикреплена Закрыта Перенесена Raspberry Pi
5 Сообщения 1 Posters 59 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • piP Не в сети
    piP Не в сети
    pi
    написал в отредактировано
    #1

    Хочу сделать аппаратные кнопки но не пойму как их прикрутить к xbmc, порыскал в интернете на русском статей не нашёл. Есть ли какое нибудь API?

    1 ответ Последний ответ
    0
    • piP Не в сети
      piP Не в сети
      pi
      написал в отредактировано
      #2

      в ходе поиска нащёл веб API Your text to link... , но в процессе поиска догадался похоже что гораздо проще эмулировать нажатия клавиш клавиотуры.

      1 ответ Последний ответ
      0
      • piP Не в сети
        piP Не в сети
        pi
        написал в отредактировано
        #3

        Всё верно, нужно эмулировать нажатия клавиш.

        Нужно внести изменения в файл bcm2708.c и потом пересобрать ядро.

        #if defined(CONFIG_KEYBOARD_GPIO_POLLED)|| defined(CONFIG_KEYBOARD_GPIO_MODULE)
        #include
        #include
        #define BCM2708_KEYS_DEBOUNCE 5

        static struct gpio_keys_button bcm2708_gpio_keys_table[] = {

            {
                    .type           = EV_KEY,
                    .code           = Код клвавиши (например KEY_ENTER),
                    .gpio           = #пина, на котором висит кнопка,
                    .active_low     = 1,
                    .desc           = "gpio-keys: enter",
                    .debounce_interval      = BCM2708_KEYS_DEBOUNCE,
            }
        

        };

        static struct gpio_keys_platform_data bcm2708_gpio_keys_data = {
        .buttons = bcm2708_gpio_keys_table,
        .nbuttons = ARRAY_SIZE(bcm2708_gpio_keys_table),
        .poll_interval = 20
        };

        static struct platform_device bcm2708_device_gpio_keys = {
        .name = "gpio-keys-polled",
        .dev = {
        .platform_data = &bcm2708_gpio_keys_data,
        },
        };

        static void __init bcm2708_init_gpio_keys(void)
        {
        platform_device_register(&bcm2708_device_gpio_keys);
        }
        #else
        static inline void bcm2708_init_gpio_keys(void)
        {
        }
        #endif

        1 ответ Последний ответ
        0
        • piP Не в сети
          piP Не в сети
          pi
          написал в отредактировано
          #4

          Можно весь файл bcm2708.c а то я не понял куда что вставлять и где изменять, и наверно вы имели ввиду скомпилировать bcm2708.c а не пересобирать ядро linux?

          1 ответ Последний ответ
          0
          • piP Не в сети
            piP Не в сети
            pi
            написал в отредактировано
            #5

            Он лежит в папке исходников ядра - linux/arch/arm/mach-bcm2708/bcm2708.c
            Перекомпилировать нужно всё ядро, не забыв в конфиге выбрать KEYBOARD_GPIO_POLLED и KEYBOARD_GPIO_MODULE

            1 ответ Последний ответ
            0

            • Войти

            • Нет учётной записи? Зарегистрироваться

            • Login or register to search.
            • Первое сообщение
              Последнее сообщение
            0
            • Категории
            • Главная
            • Документация
            • Последние
            • Пользователи