Андрій
а так + и - не написаны что ли?
А кто читает инструкцию/смотрит обозначения?
только не библиотечной гпио_сет_левел, а напрямую регистром
Толку всеравно мало. На «ртосе» заниматься ногодрыгом. Да и с собакой придется бороться
Anton
стесняюсь спросить - а что в этом коде такого неприличного ?
ну стесняешься, так чего спрашиваешь? ты либо не стесняйся, либо не спрашивай. человек проверяет левел на гпио и делает задержку в 1/10 сек. а если за это время что-то произойдёт, то кто об этом узнает?
Anton
я пытаюсь понять как ардуиновский спи устроен — там еспрессиф прямо заморочились и всё на низком уровне сделали, а не через есп-идф
ok-home
ну стесняешься, так чего спрашиваешь? ты либо не стесняйся, либо не спрашивай. человек проверяет левел на гпио и делает задержку в 1/10 сек. а если за это время что-то произойдёт, то кто об этом узнает?
Если ему не нужно отрабатывать быстрые переключения ? Вполне корректный код. Там проблема в другом. Судя по всему это механические кнопки а защиты от дребезга не сделано
Александр
добрый вечер. подскажите есть скетч где в обработчике прерывания используется noInterrupts() и после апгрейда ядра esp32 с 1.0.6 до 2.0.3 на строчке noInterrupts(); модуль ресетится сразу же
Александр
можно что-то сделать?
Александр
не работает даже тест где noInterrupts();Interrupts(); вообще подряд и мгновенно и более ничего между ними
ok-home
Так она а библиотеке есть
в какой ? gpio_get_level - просто читает состояние GPIO
Артем
а сколько вообще времени передается сигнал на 433 МГц?
Александр
а сколько вообще времени передается сигнал на 433 МГц?
я предысторию вопроса не читал, но сейчас как раз занимаюсь рефакторингом кода по работе с keelog брелком
Александр
стабильно работающим на старом ядре, но имеющем проблемы на новом
Артем
Артем
чуть более 0.03 секунды
Артем
ну хз, во время тестов проблем не было
Артем
в любом случае можно повесить обработчик прерываний и ебаться уже там, но не думаю что эксплуатация "хорошего" и "плохого" кода будет как-то отличаться
Артем
в любом случае решать проблему которой нет это удел институтских профессоров
Артем
можно написать грязный код за неделю и его купят за 10к
Артем
можно написать идеальный код за месяц, но его не купят, так-как уже купили грязный
Александр
спрошу более широко. Как переписать вот такой код в имеющемся проекте под rtos чтоб работало
Александр
noInterrupts(); len = micros() - last; last = micros(); interrupts();
Александр
в функции разбора чего-то типа манчестера
Артем
спрошу более широко. Как переписать вот такой код в имеющемся проекте под rtos чтоб работало
FreeRTOS doesn't support blocking inside a section of code where task switch cannot happen. For example, calling xQueueReceive or vTaskDelay inside a critical section is not supported. When use usleep to wait for an interval longer than the tick period, it will use vTaskDelay; for shorter periods it will busy-wait. Your task is created with no CPU affinity, so it may, by chance, initialize the timer group driver while running on one CPU, and then proceed to do the interrupt disabling test on the other CPU, if the scheduler moves it there. I recommend use xTaskCreatePinnedToCore in this case to ensure the task is not switching between the CPUs.
Артем
https://github.com/espressif/esp-idf/issues/7367
Артем
пердуино скорее всего какие-то костыли придумала
Александр
может можно конкретно на 1 ядре запретить
Александр
а на 0 пускай себе делает что хочет
ok-home
спрошу более широко. Как переписать вот такой код в имеющемся проекте под rtos чтоб работало
ну что вы все ногодрыгом то на esp32 ?? https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/rmt.html
Александр
ну я не готов сейчас весь код переписывать
Max
Ждет, пока привалит до размера MTU, не дожидается и отправляет
Max
Это предположение, не факт, что верное. Надо кишки смотреть, сначала вэбсервера, потом стека. Возможно, там есть какой-то flush / nodelay, позволяющий форсировать передачу без ожидания заполнения буфера.
Roman
Железка https://www.unihiker.com/
Max
M5Stack Core 3, кмк, веселее
Max
А, gd32
Evgen
Вы будете смеяться... Ведроид студия тоже говно. Завесила компуктер вусмерть и отрубила адаптер беспроводной мышызы так, что после перезагрузки он не определялся, только после вытыркивания-втыркивания
SSR
Что я делаю не так?
Evgen
Работаю с ней больше 5 лет, почему-то не имею с ней никаких проблем
"У вас несчастные случаи на стройке были?"(тм)
Evgen
Складывай пазлы в AppInventor2....
оно еще и онлайновое? а со студией какое-нибудь экспорт-импорт есть?
Evgen
Результат будет плачевный имхо
Ну хелло хелл оно небось сможет
SSR
Ну хелло хелл оно небось сможет
И тебе этого достаточно?
Evgen
И тебе этого достаточно?
Ну.. Чтоб послать туда андуриниста - достаточно
Александр
подскажите по битовым операциям пожалуйста . есть uint32_t из него нужно получить uint32_t содержащий значащие цифры 28 правых бит ( младших ) а все двоичные разряды старше 28 помножить на ноль
Александр
Не солидно такое спрашивать, когда своего опыта 30 лет
ну я же не на ардуино языке 30 лет шпарил?
Александр
Там какой-то свой язык?
а что, нет? Я еще ни одной стандартно работающей команды не нашел. все через какую-то хитро закрученную жопу
Evgen
...... Звук упавшего со стулА тела...
ну я же не на ардуино языке 30 лет шпарил?
А что битовые операции у нас теперь какие-то особенные? Причем тут ардуину?
Александр
в общем годы идут местная тусовка не меняется
Александр
чванство самолюбование и выпендреж
Александр
вопрос решен
вопрос решен
Ну то есть ты сказал "ой все", так?
Evgen
Да все тот же stdlib там есть, хватит выдумывать
Какая к хуям стдлиб для битовых операций
Какая к хуям стдлиб для битовых операций
Это вообще про другое блять
SSR
Александр
вот уж в чем точно мне не надо экспертных знаний так это в программировании на arduino
Александр
Твой вопрос противоречит твоему же утверждению
у меня нету задачи изучать arduino. у меня задача сделать 5-минутный патч на год назад внедренной и работающей железке и забыть про нее еще надого
Evgen
Это вообще про другое блять
Да какой хер разница. Ардуино ж - це плюс минус чистой воды
SSR
Да какой хер разница. Ардуино ж - це плюс минус чистой воды
У него 30 лет опыта, он же написал, что у него язык ардуино
SSR
А ты со своими плюсами лезешь
Александр
Да какой хер разница. Ардуино ж - це плюс минус чистой воды
если бы это было так, не было бы моего вопроса. логично?
Да я не пойму ты че за 30 лет стажа не можешь битовую маску высрать и забрать 28 бит?
Если бы ты не кичился своим стажем в 30 лет, возможно мы бы общались иначе
Alex
ну я же не на ардуино языке 30 лет шпарил?
Ардуино не язык, а набор сишных библиотек
Александр
Если бы ты не кичился своим стажем в 30 лет, возможно мы бы общались иначе
склероз пролечи. я ничем не кичился. мой стаж в 30 лет был уже крайним 100500 аргументов в бессмысленном диалоге где вы мне так чванно и надменно втирали такую же дичь как сейчас
Александр
по умолчанию считая что любой задающий вопрос нуб идиот и неуч и не умеет ни гуглить ни читать доки
Александр
Ардуино не язык, а набор сишных библиотек
бинго. и я в своем маленьком патче на 50 строк к огромному чужому проекту в 50 тысяч файлов не хочу выеживатся и что-то делать нестандартно
Александр
Побитовое & с маской в 28 младших бит?
уже залито, протестировано и в работе