S
что-то эпизодически ребутится и показывает вообще не те результаты......
Evgeniy
Обычные диоды есть у меня. А вот шотки, надо искать где-то...
Нормальные фронты на I2C получаются с такой подтяжкой и на 100 кГц, зачем здесь такие заморочки? Если внутри вентиллятора подтяжка к +12 - то стабилитрон туда вжарить бы.
Evgeniy
Действительно, разница невелика, код обработки бы глянуть
S
больше вопрос почему все равно даже с резистором подтяжки погоду показывает
Evgeniy
Вообще жлобство экономить на 1 резисторе, установив стабилитрон 😁
S
Действительно, разница невелика, код обработки бы глянуть
pulseCount = 0; attachInterrupt(digitalPinToInterrupt(PIN_COOLER_RPM), pulseCounter, FALLING); Timer0_Cfg = timerBegin(1000); timerAttachInterrupt(Timer0_Cfg, &Timer0_ISR); timerAlarm(Timer0_Cfg, 1000, true, 0); timerStart(Timer0_Cfg);
S
hw_timer_t* Timer0_Cfg = NULL; void IRAM_ATTR Timer0_ISR() { RPMCount = pulseCount; pulseCount = 0; }
S
Возможно косяк в инициализации таймера, везде по интернету в примера показываются другие команды инициализации
S
Ну там физически столько оборотов не может быть...
S
конкретно R26 в моем случае тяжело реализуем )
S
RPM берется с вот такой вот штуки
S
блин, а что я считаю то обороты в секунду )))
Tonchik
У ESP32 нативный счетчик импульсов есть
Tonchik
И как его задействовать?
В доках на idf удобоваримые примеры и на гитхабе неплохие примеры были, но там портянки кода надо дописать
S
Нашел либу, тут есть пример
S
А вообще я просто делитель 8 поставил и стало показывать адекватные обороты )
S
рано обрадовался )
Роман
добрый вечер. подскажите как выбраться из этой ситуации пожалуйста? в интернете не смог найти ответ. нейросети на помойку
Михаил(Kotaro)
Подскажите пожалуйста где можно посмотреть правильную / общепринятую реализацию юнит тестирования под ESP32 Тесты которые выполняются на плате, даже если их разбиваешь на разные файлы, они все собираются в один и выполняются в одной области видимости всегда. можно как то сделать так, что бы каждый файл тестировался независимо, если нет где посмотреть хорошие примеры по тестированию? Использую platform = espressif32@6.10.0 board = esp32-s3-devkitc-1 framework = arduino test_framework = unity Изначально пытался написать два файла с тестами, но когда в обоих был setup и loop они падали с ошибкой из за того что методы 2 раза проинициализированы сделал вот такую конструкцию #include <Arduino.h> #include <unity.h> extern void run_user_tests(); extern void run_effect_zone_tests(); // Для сохранения информации о путях, создаем обертку void run_tests_with_module_info(const char* module_name, void (*test_function)()) { Serial.printf("\n=== Running tests for module: %s ===\n", module_name); test_function(); Serial.printf("=== End of tests for module: %s ===\n\n", module_name); } void setup() { delay(3000); Serial.begin(115200); Serial.println("\n\n*** STARTING ALL TESTS ***\n"); // Единственный UNITY_BEGIN/END для всех тестов UNITY_BEGIN(); // Запуск каждого модуля тестов с информацией о модуле run_tests_with_module_info("User", run_user_tests); run_tests_with_module_info("EffectZone", run_effect_zone_tests); UNITY_END(); Serial.println("\n*** ALL TESTS COMPLETE ***"); } void loop() { // Nothing to do here } Теперь снова застрял из за того что функция setUp не хочет вызываться внутри пространства имен т.к полагаю Unity ищет ее глобально #include <Arduino.h> #include <unity.h> namespace user_tests { void setUp() { Serial.println("Setting up User tests..."); } void test_user() { TEST_ASSERT_EQUAL_STRING_MESSAGE( "", "", "Expected no validation errors"); } } // namespace user_tests void run_user_tests() { // UNITY_BEGIN(); RUN_TEST(user_tests::test_user); // UNITY_END(); } В общем есть ощущение что делаю дичь, все примеры для тестирования которые есть конкретно для platformIO скудные и в 1 файл, а в доке по самой юнити они все таки запускаются независимо друг от друга
Роджер
Подскажите пожалуйста где можно посмотреть правильную / общепринятую реализацию юнит тестирования под ESP32 Тесты которые выполняются на плате, даже если их разбиваешь на разные файлы, они все собираются в один и выполняются в одной области видимости всегда. можно как то сделать так, что бы каждый файл тестировался независимо, если нет где посмотреть хорошие примеры по тестированию? Использую platform = espressif32@6.10.0 board = esp32-s3-devkitc-1 framework = arduino test_framework = unity Изначально пытался написать два файла с тестами, но когда в обоих был setup и loop они падали с ошибкой из за того что методы 2 раза проинициализированы сделал вот такую конструкцию #include <Arduino.h> #include <unity.h> extern void run_user_tests(); extern void run_effect_zone_tests(); // Для сохранения информации о путях, создаем обертку void run_tests_with_module_info(const char* module_name, void (*test_function)()) { Serial.printf("\n=== Running tests for module: %s ===\n", module_name); test_function(); Serial.printf("=== End of tests for module: %s ===\n\n", module_name); } void setup() { delay(3000); Serial.begin(115200); Serial.println("\n\n*** STARTING ALL TESTS ***\n"); // Единственный UNITY_BEGIN/END для всех тестов UNITY_BEGIN(); // Запуск каждого модуля тестов с информацией о модуле run_tests_with_module_info("User", run_user_tests); run_tests_with_module_info("EffectZone", run_effect_zone_tests); UNITY_END(); Serial.println("\n*** ALL TESTS COMPLETE ***"); } void loop() { // Nothing to do here } Теперь снова застрял из за того что функция setUp не хочет вызываться внутри пространства имен т.к полагаю Unity ищет ее глобально #include <Arduino.h> #include <unity.h> namespace user_tests { void setUp() { Serial.println("Setting up User tests..."); } void test_user() { TEST_ASSERT_EQUAL_STRING_MESSAGE( "", "", "Expected no validation errors"); } } // namespace user_tests void run_user_tests() { // UNITY_BEGIN(); RUN_TEST(user_tests::test_user); // UNITY_END(); } В общем есть ощущение что делаю дичь, все примеры для тестирования которые есть конкретно для platformIO скудные и в 1 файл, а в доке по самой юнити они все таки запускаются независимо друг от друга
А не побывал в массив забивать? Типо сначала первый юнитест из 0 , а потом второй из 1?
Михаил(Kotaro)
А не побывал в массив забивать? Типо сначала первый юнитест из 0 , а потом второй из 1?
Не совсем понял, всм в массив я их и так по очереди через RUN_TEST запускаю или имеете ввиду сами файлы через какой либо скрипт поочередно запускать 🤔🤔
Михаил(Kotaro)
Там вроде как можно запустить прям вот конкретный файл, но мне кажется это не совсем то, я нашел сейчас статейку, что есть тесты которые на компе запускаются и тесты которые запускаются на устройстве, и вот которые на ПК можно независимо друг от друга запустить на сколько я понял, правда не разобрался пока как их настроить 😁
Михаил(Kotaro)
Не знаю как подсказать, я не юзаю чисто юнит тесты. Гоняю проверки по другому.
Я пока начал с того, что вообще без тестов все это делал, но сейчас что бы проверить что все ок, приходится перепрошивать устройство и делать довольно много действий, подумал, что стоит попробовать тесты написать. А вы как проверки делаете?
Роджер
Я пока начал с того, что вообще без тестов все это делал, но сейчас что бы проверить что все ок, приходится перепрошивать устройство и делать довольно много действий, подумал, что стоит попробовать тесты написать. А вы как проверки делаете?
При написании. Кода внутри куча Serial.println() Ну и код пишу и тестирую кусками, стараюсь разбивать его так, чтобы при дописывании функциона не нужно было лезть в тот кусок кода где все работает. Можно кстати делать и потом игнорирование при с борке тестовых сериал сообщений.
NeiroN
ESP32 не хочет шиться после очистки флешки, в чем может быть проблема? Адаптер PL2303, процесс как бы начинается, но прерывается.
NeiroN
esptool.py v4.8.1 Serial port COM4 Connecting........ Detecting chip type... Unsupported detection protocol, switching and trying again... Connecting... Detecting chip type... ESP32 Chip is ESP32-D0WD-V3 (revision v3.1) Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None Crystal is 40MHz MAC: 08:a6:f7:6a:da:54 Uploading stub... Running stub... Stub running... Configuring flash size... Flash will be erased from 0x00001000 to 0x001a0fff... Compressed 1702240 bytes to 1117021... Writing at 0x00001000... (1 %) Lost connection, retrying... Waiting for the chip to reconnect Connecting......
NeiroN
Так собственно вопрос на что менять?
NeiroN
сейчас такой
NeiroN
в других местах с ним не было вопросов.
NeiroN
и какой чип лучше CH340, CP2102 чтобы с драйверами не было проблем
NeiroN
на PL2303 драйвер крашит систему иногда
NeiroN
Попробую таким CP2102
NeiroN
А вопрос то в процессе прошивки, что там такого происходит, что не справляются адаптеры?
NeiroN
просто PL2303 в основном паль продают, какая ситуация c CP2102 - не знаю. Просто хочется дешевле.
Роджер
Я так на js пишу, удобнее чем через отладчик выходит, ты просто хочу для себя что то новое попробовать. Спасибо за ответ
Просто при написание на JS можно не экономить на коде. жеский диск все стерпит, отличии от чипа, к котором всего 4 метра
Роджер
Я так на js пишу, удобнее чем через отладчик выходит, ты просто хочу для себя что то новое попробовать. Спасибо за ответ
Для меня это хобби, унит тесты, я не гоняю. Предпочитаю сразу сказать условия вхождения, чтобы пользователь не мог ввести то, что вызовет сбой.
ㅤ
просто PL2303 в основном паль продают, какая ситуация c CP2102 - не знаю. Просто хочется дешевле.
https://sl.aliexpress.ru/p?key=bb1q3nX Вот такой купи. А дешевле ну страдай тогда. Есть копии его же у других продавцов, но дешевле. Но я нарвался на партию нерабочих. Точнее рабочих но там неверно была разведена линия 3.3 и он оставался с 5 вольтовой логикой вне зависимости от положения джампера
NeiroN
ㅤ
Ну это клон weactа. Я выше написал что попался на брак
NeiroN
как понять то?
ㅤ
как понять то?
Ну все клоны что я видел без термоусадки). А weact в термоусадку пихает)
ㅤ
Ну и нет надписи weact studio соответственно
NeiroN
Ну ок, посмотрим weact ...
ㅤ
Ну ок, посмотрим weact ...
Че на него смотреть все железки у weact качественные. Но стоят денег
NeiroN
с алика просто идет дольше
Max
https://kotyara12.ru/iot/esp32-wroom-32e_datasheet_ru/
Max
M5Stack Tab5 Review – Part 2: Getting started with ESP32-P4 firmware development using the ESP-IDF Framework and Arduino IDE In the first part of the review, we checked out the hardware of the M5Stack Tab5 ESP32-P4 IoT development kit and tried the demo firmware, whose user interface allows the user to quickly experiment with the camera, microphone, speaker, WiFi, power consumption, GPIOs, RS485, and more. Since there’s no user application for the Tab5 at… https://www.cnx-software.com/2025/05/18/m5stack-tab5-review-getting-started-esp32-p4-esp-idf-framework-arduino-ide/
Cat3872
Здравствуйте, я новичок в ESP32, я хочу подключить адресную светодиодную ленту к ESP32, до пайки я прошил ESP32 и всё нормально прошилось с зажатием кнопки BOOT на ESP32, когда я всё припаял по схеме, у меня адресная светодиодная лента не заработала, я решил просто зажечь все имеющиеся светодиоды, начал прошивать, нажимаю кнопку BOOT - 0 реакции, подскажите мне, что я сделал не так?
Cat3872
Как подключал, что за светодиоды, и сколько их на ленте?
Я всё подключал по этой схеме, на ленте всего 25 светодиодов
ㅤ
Я всё подключал по этой схеме, на ленте всего 25 светодиодов
На схеме ардуино нарисована. Ты говорил про есп32
Cat3872
Я всё подключал по этой схеме, на ленте всего 25 светодиодов
Но резистор у меня не на 330 Ом, а на 360 Ом, какой-то больше, чем обычный, не было на рынке в наличии резистора на 330 Ом
Cat3872
На схеме ардуино нарисована. Ты говорил про есп32
А я не нашёл схему на ESP32, типо вместо ардуино у меня ESP32 по пинам подключается
Cat3872
Подскажите, я много жидкого флюса на плату налил, это может как-то повлиять на это?
ㅤ
А я не нашёл схему на ESP32, типо вместо ардуино у меня ESP32 по пинам подключается
По "каким"пинам? Схему нормально сделай. Здесь PD7 у есп32 нет никаких pd7 поэтому куда ты там воткнул - неизвестно. Да и вообще датапин напрямую от есп32 подключать не стоит без конвертера. Лента будет работать некорректно
ㅤ
Подскажите, я много жидкого флюса на плату налил, это может как-то повлиять на это?
Может что угодно быть. Просишь показать схему - показывает схему с ардуиной и выясняется что там вообще все не так и плюс плата во флюсе. Забавно
Cat3872
Может что угодно быть. Просишь показать схему - показывает схему с ардуиной и выясняется что там вообще все не так и плюс плата во флюсе. Забавно
Всё тоже самое, но от V блока питания идёт к VIN ESP32 и к +5V ленты, от G блока питания идёт к GND ESP32 и к GND ленты, от D4 идёт на резистор 360 Ом, от резистора 360 Ом идёт к DIN ленты
ㅤ
D4 (если он на плате именно GPIO4) не страповый пин. Значит не шьется оно не из-за этого
Cat3872
D4 (если он на плате именно GPIO4) не страповый пин. Значит не шьется оно не из-за этого
А какие могут быть догатки из-за чего не прошиваеться ESP32?
ㅤ
А какие могут быть догатки из-за чего не прошиваеться ESP32?
Из-за чего угодно тем более плата была залита флюсом и неизвестно что там с чем замкнуло. Я не гадаю по фотографии для этого есть инструменты
Agent
что мне надо проверить? у меня есть мультиметр
Как минимум отпаять и проверить. Если все равно не будет шиться, попробовать прошить через UART. Также можно проверить есть ли 3.3В там, где они должны быть или сгорел стаб или диод.
Agent
Не, у него лампочка горит
Может она от 5В горит)