Вопрос к тем, кто работал с esp32-hal. Я тут пытаюсь

запилить драйвер для дисплея с кастомным протоколом, похожим на I2C, и хочу как-то сохранить у себя пины, на которых он сидит. Как их в структуре объявить? Я пробовал использовать дженерик на тип, который реализует InputPin и OutputPin, но компилятор на попытке позвать set_low начинает искать их реализации из устаревших версий этих трейтов, и обламывается. Ещё я пробовал использовать напрямую тип GpioPin, но это упирается в то, что всё равно требуется заранее указать режим io, и я не уверен, что потом его можно будет переключить. Посмотрел в драйвер I2C, он использует функции типа connect_input_to_peripheral, но на них нет документации, и список сигналов, которые она использует, закрыт, свои сигналы добавлять туда нельзя. Как тут быть? Можно, конечно, на первое время пины захардкодить, но не хотелось бы.

3 ответов

14 просмотров

Тебе имортить надо конкретный трейт outputpin

Белый-Кит Автор вопроса
Roman Samusevich
Тебе имортить надо конкретный трейт outputpin

Так gpio::OutputPin и заимпорчен, компилятор с какого-то рожна говорит, что нужен ещё и prelude::embedded_hal_OutputPin::v1 с конфликтующей сигнатурой

Не, конечно можно заимпортить, но если пишешь драйвер как отдельный крейт, то лучше это используй

Похожие вопросы

Обсуждают сегодня

А если без шуток, на чем десктоп сейчас пишут кроссплатформенный (ну чтобы с минимальным допиливанием под каждую платформу) и чтобы хорошая производительность софта была. Толь...
🐈
9
Гайз, кто-нибудь пробовал запустить probe-rs под камень, которого нет в probe-rs? Мб есть какой-нибудь пример у кого... Через target-gen попробовал сгенерировать chip-descript...
Максим Смирнов
2
Добрый день, коллеги, подскажите пожалуйста, есть ли кто-то тут, или у кого знакомые Senior / Lead C++, в идеале бы еще с QT с опытом или желанием работать с десктопом? Или эт...
🐈
5
Или мне дублировать структуру с информацией о следующем потоке в адресное пространство текущего потока?
One
9
Всем привет, подскажите где можно найти фриланс работы?
Вадим
7
Привет. Кто-то использует Vault KV как корпоративную хранилку паролей? Какие минусы?)
Alex R
3
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
Добрый день! Подскажите, пожалуйста: какими компетенциями нужно обладать, чтобы претендовать на работу эрланг (отдельная благодарность, если про элексир тоже подскажете) разр...
via ☸️ led
20
Qt Widgets или Qt Quick?
Michael
6
А кто-нибудь знает, есть в РФ случаи с ЗП от 500тр для Erlang программиста? На меньшее просто не готов😂
Denisk0
2
Карта сайта