индзэец
крч и до моей святой седьмой винды добрались.... Переустановил семёрку теперь по официальной инструкции не хочет собирать модуль неки и крч не ставится rtos sdk а вот если на gnutoolchains взять и скачать тулчейн и оттуда вынять rtos sdk то всё магическим образом работает
economist
Под 7 ставится и работает почти всё. Слава кодерам, выпускающим платный софт профуровня для 7! Но геморрой размером с кулак с другим софтом и динамически линкуемыми либами- не самое приятное. Все таки обновляйтесь.
Max
спился?
Бороду отростил
Евгений
банда... не в тему, но ситуация такая у соседа комп для танкрв от 13..14 года (пока дешево было) все вроде ок (кроме батарейки) меняем... максимум неделю держится
Евгений
Ну непонятна же... (ц)
биос настройки слетают как свет моргнет
Max
И замена батарейки не помогает?
Евгений
И замена батарейки не помогает?
раз в неделю менял... на месте тестил мин на 15 на ходу шнур выдерну... все ок. . через неделю...две звонит жекан помоги с идые на сата переключить
Max
10 лет железке, мож ну его?
Евгений
И замена батарейки не помогает?
думал может дет подкорачиивает... вроде нет (но вроде)
Max
Кондей высох, через него стекает, но медленно
Евгений
10 лет железке, мож ну его?
ну недумаю... сам смотрю на старые синкпады (пока Руся м...ки не прорекламил, но там линух косяк)
Евгений
Кондей высох, через него стекает, но медленно
не подумал! спасибо (не намажешь 😂)
Mezzo Lab
Ура. День жестянщика
Днём было мало чёт
Alexey
Где купить хорошие батарейки?
То же маюсь. Да же с новыми батками проблемы. Напряжение в норме. То ли ток не держат, то ли ещё какая напасть.
SetPf
Здравствуйте. Я чет туплю в прерывания уартовские. Ну вот я зарегал хендлер. Вот я в него прилетел. Вот функция какие прерывания включены. Вот функция как прерывания сбросить. Ниче не забыли? А как проверить прерывание то какое? Я чет все что нашел - чет в какие-то кишки лезет. А выского апи найти не могу. Подскажет кто? IDF 4.x ESP32(базовая)
SetPf
Вот сижу думаю, мб оно регает конкретное прерывание
SetPf
а нашел, тупо из _ll.h
SetPf
хммм
SetPf
ок спс, я чет пропустил этот момент
SetPf
Вот сижу думаю, мб оно регает конкретное прерывание
Но вот это тоже интересно. Если 2 раза ее вызвать с разными флагами, зарегает 2 хендлера под конкретные прерывания?
SetPf
Я чет посмотрел функцию регистрации хендлера, там смерть на тыщу строк
ok-home
Но вот это тоже интересно. Если 2 раза ее вызвать с разными флагами, зарегает 2 хендлера под конкретные прерывания?
а зачем вообще в прерывания то лезть ? есть нормальный event в драйвере, отдаст что нужно и когда нужно. в IDF 5.x вообще апи прерываний убрали
SetPf
надо под модбас сконфигурировать, хочу таймаут в драйвере же иметь.
SetPf
Я бы так то с радостью не лез.
ok-home
uart_set_rx_full_threshold uart_set_tx_empty_threshold uart_set_rx_timeout https://docs.espressif.com/projects/esp-idf/en/release-v4.4/esp32/api-reference/peripherals/uart.html#_CPPv426uart_set_rx_full_threshold11uart_port_ti
SetPf
Ну типо ставишь ты их да, а че оно дает? Типо досрочный выход из uart_read?
SetPf
Если ты не обрабатываешь прерывание напрямую, то и толку тебе от него? Т.к. не понятно откуда оно происходит.
Piter
все работали, никита стас ева..
Никита, Стас, турбо, Дюша метелкин. Юсб здесь.
ok-home
Если ты не обрабатываешь прерывание напрямую, то и толку тебе от него? Т.к. не понятно откуда оно происходит.
как написано так и работают uart_set_rx_timeout - через какое время после приема последнего символа отдавать данные uart_set_rx_full_threshold - сколько символов принять в fifo до отдачи данных uart_set_tx_empty_threshold - сколько символов принять в fifo до передачи данных в линию (если мне не изменяет память)
SetPf
типо она прервыет uart_read досрочно? А как узнать от чего он прерван?
ok-home
типо она прервыет uart_read досрочно? А как узнать от чего он прерван?
// Read data from UART. const uart_port_t uart_num = UART_NUM_2; uint8_t data[128]; int length = 0; ESP_ERROR_CHECK(uart_get_buffered_data_len(uart_num, (size_t*)&length)); length = uart_read_bytes(uart_num, data, length, 100);
ok-home
можешь сначала взять первый символ из uart_read_bytes, потом проверить сколько еще в fifo осталось uart_get_buffered_data_len
ok-home
типо она прервыет uart_read досрочно? А как узнать от чего он прерван?
если тебе нужно поставь uart_set_rx_full_threshold = 1 и читай по 1 символу нужно гарантировано зачитать пакет и ты знаешь таймаут между символами - поставь uart_set_rx_timeout, и он отдаст данные после приема последних данных в пакете + таймаут нужно отправить данные в линию сразу без буферизации uart_set_tx_empty_threshold = 1
SetPf
ну чет варик - сделать на интерруптах выглядит как-то менее костыльно =)
SetPf
хотя если блочится на ридбайтах то наверно валидно выйдет
ok-home
ну чет варик - сделать на интерруптах выглядит как-то менее костыльно =)
не вопрос - есть желание поиграть с прерываниями - пиши на прерываниях ( идф это уже сделал внутри драйвера )
SetPf
не вопрос - есть желание поиграть с прерываниями - пиши на прерываниях ( идф это уже сделал внутри драйвера )
да нет никакого, а сделаны они как-то не полностью, плюс какая-то кривая документация =\ Ваш вариант подразумевает блок на ридбайтсе, а я чет планировал не блочить там таску (прелесть есп же, что можно не разводить асинхронщину без веской причине, а хреначить в цикле до последнего 240мгцжи). Чет хз над подумать, если это ИМЕННО ТАК РАБОТАЕТ. Т.к. описание этого момента я чет нефига не нашел.
SetPf
Я чет думал что ридбайтс блочится на фриртосовской очереди, а как прерывание в уарте распнет очередь из блока я хз (не помню можно ли так).
SetPf
В любом случае чет неочевидный функционал, надо проверять...
SetPf
Во кстати нашел как достают указатель для получения флагов прерываний =\
SetPf
там правда макро с ифом между UART0, лол
SetPf
хм. а что крутить то если данных нет ? появились и крути если есть необходимость по прерываниям работать - https://github.com/espressif/esp-idf/blob/309ffa5565ad88edc262f2d6fb3e45567192bbb0/examples/peripherals/uart/uart_events/main/uart_events_example_main.c
Да хз, а че не покрутится если ничего не стоит. Я просто как-то нагородил асинхронщины на 10 тасков, под казалось бы независимые задачи, с блоками, очередями и всей вот этой вот херней, сам в них охренел через пару месяцев, запутался, упал и лицо разбил. С тех пор я как-то стараюсь лишний раз это не плодить. Типо прокрутить какой метод аля rs485.IsOperationComplete() ничего особо не стоит, зато если такими методами делать все что получается, можно в одну таску половину приложения уместить, асинхроня только то, что ну прям уже никак не влазит. Оно просто на первый взгляд так выглядит, вау - просто блочишься и как при синхронной задержке получаешь результат. А по факту - тебе очереди прокидывать, обрабатывать пустоту или переполнение этих очередей. Какие-то асинхронные API для всего этого городить. Хз короче, а можно просто булев флаг в прерывании поставить, незащищенность мутексом которого в мк ничего плохого не сделает. Да по инфе всей засланной - спс.
Илья
Привет! Хочу сделать на базе esp32 универсальное устройство для ввода/вывода звука, регулировки мощности мосфетом, цифровой ввод вывод... Можно ли всё это реализовать на одном физическом разъёме, чтобы в зависимости от задачи просто переконфигурировать его программно?
alex...
Можно, весь вопрос в схемотехнике.
Илья
Можно, весь вопрос в схемотехнике.
Спасибо. Я тоже так думал, просто решил убедиться)
Илья
А правильно я понимаю, что, если у меня 2хядерный esp32, то я могу прям одновременно писать/читать 2 uart, например, или есть какие-то ограничения?
ㅤ
А правильно я понимаю, что, если у меня 2хядерный esp32, то я могу прям одновременно писать/читать 2 uart, например, или есть какие-то ограничения?
Количество ядер никак не коррелирует с возможностью взаимодействия с интерфейсами. Или ты думаешь что надо по одному ядру на каждый светодиод?
ㅤ
В есп32 вообще 3 юарта, а ядра два. Думаешь одно ядро не довезли?
Илья
Нахера?
Например, данные передавать кадрами по полкилобайта.
Евгений
Я знаю
доброго
ㅤ
доброго
Добро?
ㅤ
Например, данные передавать кадрами по полкилобайта.
В есп идф последнем даже прерывания выкинули из юарта, все на евентах хуевентах. А ему тайминги зачем-то нужны. Ну пиши на бареметал.
ㅤ
Или рмт присри
Евгений
Добро?
не беси! у меня утро/кофе и тебе хорошего желаю
ㅤ
Хуитень
Хуитень у тебя в штанах
Max
Утро в 8 утра. Щас день
С 6 до 12 - утро. День с 12 до 18.
Max
Я в курсе
Ааа, бесишь
ㅤ
Нах мне база из википедии
ㅤ
Лучше бы посоветовали мк в корпусе sop16/20 с тремя SPI
ㅤ
Так нет блять, базу из википедии копипастят. Пиздец
Евгений
а где эти? ... ардуины? 😁
ㅤ
Я вам пердуину нашел кстати