ok-home
Anton
Anton
я пытаюсь понять как ардуиновский спи устроен — там еспрессиф прямо заморочились и всё на низком уровне сделали, а не через есп-идф
ok-home
Александр
добрый вечер. подскажите есть скетч где в обработчике прерывания используется noInterrupts() и после апгрейда ядра esp32 с 1.0.6 до 2.0.3 на строчке noInterrupts(); модуль ресетится сразу же
Александр
можно что-то сделать?
Александр
не работает даже тест где noInterrupts();Interrupts(); вообще подряд и мгновенно и более ничего между ними
Артем
Артем
а сколько вообще времени передается сигнал на 433 МГц?
Александр
стабильно работающим на старом ядре, но имеющем проблемы на новом
Артем
Артем
чуть более 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 пускай себе делает что хочет
Александр
ну я не готов сейчас весь код переписывать
Max
Ждет, пока привалит до размера MTU, не дожидается и отправляет
Max
Это предположение, не факт, что верное. Надо кишки смотреть, сначала вэбсервера, потом стека.
Возможно, там есть какой-то flush / nodelay, позволяющий форсировать передачу без ожидания заполнения буфера.
Roman
Железка
https://www.unihiker.com/
Max
M5Stack Core 3, кмк, веселее
Max
А, gd32
Evgen
Вы будете смеяться... Ведроид студия тоже говно. Завесила компуктер вусмерть и отрубила адаптер беспроводной мышызы так, что после перезагрузки он не определялся, только после вытыркивания-втыркивания
Ruslan
Жексон
SSR
SSR
Что я делаю не так?
Evgen
SSR
SSR
Александр
подскажите по битовым операциям пожалуйста . есть uint32_t из него нужно получить uint32_t содержащий значащие цифры 28 правых бит ( младших ) а все двоичные разряды старше 28 помножить на ноль
SSR
Александр
SSR
Александр
Там какой-то свой язык?
а что, нет? Я еще ни одной стандартно работающей команды не нашел. все через какую-то хитро закрученную жопу
Evgen
...... Звук упавшего со стулА тела...
ㅤ
Александр
в общем годы идут местная тусовка не меняется
Александр
чванство самолюбование и выпендреж
Александр
вопрос решен
ㅤ
вопрос решен
Ну то есть ты сказал "ой все", так?
Evgen
ㅤ
SSR
Александр
вот уж в чем точно мне не надо экспертных знаний так это в программировании на arduino
SSR
SSR
А ты со своими плюсами лезешь
Александр
Alex
ㅤ
Да я не пойму ты че за 30 лет стажа не можешь битовую маску высрать и забрать 28 бит?
ㅤ
Если бы ты не кичился своим стажем в 30 лет, возможно мы бы общались иначе
Александр
по умолчанию считая что любой задающий вопрос нуб идиот и неуч и не умеет ни гуглить ни читать доки
Alex
SSR
Александр