ㅤ
Может к окулисту надо? А не решение "кривым" называть
Evgeniy
А почему они вот у меня есть а у тебя их почему-то НЕТ?
Может и есть, но не выполняют ожидаемых функций. Реально - выдумка, что достаточно поставить плагин и всё запустится 😄
ㅤ
ㅤ
Может и есть, но не выполняют ожидаемых функций. Реально - выдумка, что достаточно поставить плагин и всё запустится 😄
Да мне пофигу веришь ты или нет. Вот сейчас на полностью чистым ноутбуке я ради интереса протыкал от установки vscode и настройки esp-idf и все заработало. Мне стало интересно а вдруг там че-то поломали. Но нет, как ни странно все работает.
Evgeniy
Во, спасибо, никогда бы не подумал, что это кнопка build, потому что во всех решениях от microsoft она была в другом месте. Да и в любых IDE. Мог бы сразу нормально ответить.
Evgeniy
Надо было им сделать 1х1 пиксель эту кнопку и разместить в левом углу 😄
ㅤ
А говоришь не надо
Evgeniy
Я ж говорю - может к окулисту?
А причем здесь окулист, если кнопка не подписана и располагается не там, где ожидается. Я никогда не встречал такого расположения ни в одной IDE до этого.
ㅤ
А причем здесь окулист, если кнопка не подписана и располагается не там, где ожидается. Я никогда не встречал такого расположения ни в одной IDE до этого.
Это лишь твои ожидания. Для меня все очевидно. И идф тут не причем. Таков сам вскод. В конце концов есть команд палет.
ㅤ
Не хами
Я даже не начинал ещё
Evgeniy
Я даже не начинал ещё
Ну в любом случае, нужную инфу от тебя я выведал, потратив твоё время)))
ㅤ
Ну в любом случае, нужную инфу от тебя я выведал, потратив твоё время)))
Да ты тролль, я уже понял. А я один хер щас нихера не делаю, поэтому с радостью им поделился
Сергей
Ага показывал
Сергей
читаю вот так def read_uart_data(): global buffer while True: if uart.any(): # Проверяем, есть ли данные для чтения received_data = uart.read(1024) # Читаем до 1024 байт, можно изменить количество в зависимости от ожидаемой длины пакета if received_data[0] == 0x55: received_data = received_data[1:] # Убираем стартовый байт # Вычисляем CRC для всех данных кроме последних двух байтов received_crc = ustruct.unpack('<H', received_data[-2:])[0] calculated_crc = calculate_crc(received_data[:-2]) if received_crc == calculated_crc: buffer.extend(received_data[:-2]) # Добавляем данные в буфер (без CRC) # Распаковка данных и вывод while len(buffer) >= ustruct.calcsize('<ifff'): data = buffer[:ustruct.calcsize('<ifff')] buffer = buffer[ustruct.calcsize('<ifff'):] id, x_scaled, y_scaled, z_scaled = ustruct.unpack('<ifff', data) print(f"ID: {id}, X_scaled: {x_scaled}, Y_scaled: {y_scaled}, Z_scaled: {z_scaled}") #print("Data received and CRC matched") else: print("CRC mismatch") print(f"Buffer length: {len(buffer)}, Expected size: {ustruct.calcsize('<ifff')}") else: print("Invalid start byte") time.sleep(0.1) отправляю вот так def send_data(): global buffer data_to_send = bytearray(collect_data()) crc = calculate_crc(data_to_send) data_to_send.extend(ustruct.pack('<H', crc)) # Добавляем CRC в конец пакета uart.write(bytearray([0x55]) + data_to_send) # Добавляем стартовый байт и отправляем данные через UART #print(f"Buffer length: {len(buffer)}, Expected size: {ustruct.calcsize('<ifff')}") buffer = bytearray() # Очищаем буфер после отправки данных led.on() time.sleep(0.1) # Пауза для предотвращения слишком частой передачи led.off()
Вот тут
Евгений
Вот тут
А потери в конце посылки всегда? Уверен, что да
Денис
@testtest133 неееееееттттт, он меня достать хочет... 😁
Денис
Bokul
ноу
You have so many skills, Again you are poor.. Why?
Bokul
сам ты poor, again.
I Spend 10k dollars in every month's,when I am beginner
Денис
I Spend 10k dollars in every month's,when I am beginner
хватит спамить, за спам можно и в муте посидеть
Ruslan
Таки тратит на блядей
Bokul
🐯
Денис
Are you doing any professional job in it sector?
это интервью?, да.. не заметно?
Bokul
это интервью?, да.. не заметно?
I want to know from you the real life experience, I am beginner
Аргентина
Таки тратит на блядей
он не написал чью десятку) мамкину мошт)
Павел
Че за срачь
Павел
1 он не сказал каких долларах
Аргентина
1 он не сказал каких долларах
- а у меня сосед говорит что он по три раза на дню - ну и ты говори =)
Павел
Может он думал зимбабве
Сергей
А потери в конце посылки всегда? Уверен, что да
ищу сначала стартовый бит, потом стоповый, потом проверяю CRC тела и если всё сошлось распаковываю пакет else: print("CRC mismatch") error_packets += 1 # Увеличиваем счетчик пакетов с ошибками buffer = bytearray() # Очищаем буфер при ошибке CRC else: print("Stop byte not found") error_packets += 1 # Увеличиваем счетчик пакетов с ошибками buffer = bytearray() # Очищаем буфер при отсутствии стоп-бита else: print("Invalid start byte") error_packets += 1 # Увеличиваем счетчик пакетов с ошибками buffer = bytearray() # Очищаем буфер при неверном стартовом байте ошибки всегда разные зависимости нет Total packets: 565, Error packets: 59, Error rate: 10.44% CRC mismatch Stop byte not found Invalid start byte Invalid start byte CRC mismatch CRC mismatch CRC mismatch Stop byte not found Invalid start byte Invalid start byte
Сергей
датчик отправляет пакет в 20 байт, я пытаюсь также читать по 20 байт, почему странно как нужно? if uart.any(): # Проверяем, есть ли данные для чтения received_data = uart.read(20) if received_data and received_data[0] == 0x55: received_data = received_data[1:] # Убираем стартовый байт stop_byte_index = received_data.find(b'\xAA') # Находим индекс стоп-бита if stop_byte_index != -1: packet_data = received_data[:stop_byte_index] # Данные пакета без стоп-бита # Вычисляем CRC для всех данных кроме последних двух байтов received_crc = ustruct.unpack('<H', packet_data[-2:])[0] calculated_crc = calculate_crc(packet_data[:-2]) total_packets += 1 # Увеличиваем счетчик общих пакетов if received_crc == calculated_crc: buffer.extend(packet_data[:-2]) # Добавляем данные в буфер (без CRC) # Распаковка данных и вывод while len(buffer) >= ustruct.calcsize('<ifff'): data = buffer[:ustruct.calcsize('<ifff')] buffer = buffer[ustruct.calcsize('<ifff'):] id, x_scaled, y_scaled, z_scaled = ustruct.unpack('<ifff', data) #print(f"ID: {id}, X: {x_scaled:.3f}, Y: {y_scaled:.3f}, Z: {z_scaled:.3f}")
Сергей
читать можно хоть по 1024 суть чуть не меняется никак
Евгений
датчик отправляет пакет в 20 байт, я пытаюсь также читать по 20 байт, почему странно как нужно? if uart.any(): # Проверяем, есть ли данные для чтения received_data = uart.read(20) if received_data and received_data[0] == 0x55: received_data = received_data[1:] # Убираем стартовый байт stop_byte_index = received_data.find(b'\xAA') # Находим индекс стоп-бита if stop_byte_index != -1: packet_data = received_data[:stop_byte_index] # Данные пакета без стоп-бита # Вычисляем CRC для всех данных кроме последних двух байтов received_crc = ustruct.unpack('<H', packet_data[-2:])[0] calculated_crc = calculate_crc(packet_data[:-2]) total_packets += 1 # Увеличиваем счетчик общих пакетов if received_crc == calculated_crc: buffer.extend(packet_data[:-2]) # Добавляем данные в буфер (без CRC) # Распаковка данных и вывод while len(buffer) >= ustruct.calcsize('<ifff'): data = buffer[:ustruct.calcsize('<ifff')] buffer = buffer[ustruct.calcsize('<ifff'):] id, x_scaled, y_scaled, z_scaled = ustruct.unpack('<ifff', data) #print(f"ID: {id}, X: {x_scaled:.3f}, Y: {y_scaled:.3f}, Z: {z_scaled:.3f}")
Не кодом. Откройте в терминале и посмотрите на пакеты глазами. Вангую, что у них отрезается конец посылки,либо две посылки слипаются в одну.
Сергей
да, появляется смещение b'U\x01\x00\x00\x00o\x12\x83\xbb\x00\x00\x00\x00\x19\x04\x96?\xb2\xcc\xaa' b'U\x01\x00\x00\x00o\x12\x83\xbb\x00\x00\x00\x00\x06\x81\x95?\x02\x86\xaa' b'U\x01\x00\x00\x00o\x12\x83\xbbo\x12\x03\xbe\x9a\x99\x99?\x94\x8c\xaa' b'U\x01\x00\x00\x00o\x12\x03\xbco\x12\x03<\x19\x04\x96?\xea\xd3\xaa' b'U\x01\x00\x00\x00o\x12\x83\xbbo\x12\x03<\xf4\xfd\x94?\xb8 \xaa' b'U\x01\x00\x00\x00o\x12\x83\xbbo\x12\x03<\x19\x04\x96?u\x86\xaa' b'U\x01\x00\x00\x00o\x12\x03\xbco\x12\x03<+\x87\x96?ap\xaa' b'U\x01\x00\x00\x00o\x12\x03\xbc\xa6\x9bD<+\x87\x96?]\x00\xaa' b'U\x01\x00\x00\x00o\x12\x03\xbco\x12\x03<\x19\x04\x96?\xea\xd3\xaa' b'U\x01\x00\x00\x00o\x12\x03\xbco\x12\x03<\x19\x04\x96?\xea\xd3\xaa' b'U\x01\x00\x00\x00o\x12\x83\xbbo\x12\x03<+\x87\x96?\xfe%\xaa' b'U\x01\x00\x00\x00o\x12\x83\xbb\xa6\x9bD<\x19\x04\x96?I\xf6\xaa' b'U\x01\x00\x00\x00o\x12\x83\xbbo\x12\x83;\x06\x81\x95?1\x7f\xaa' b'U\x01\x00\x00\x00\x04\x96?\x815\xaaU\x01\x00\x00\x00o\x12\x83\xbb' CRC mismatch b'o\x12\x03<\x19\x04\x96?u\x86\xaaU\x01\x00\x00\x00o\x12\x03\xbc' Invalid start byte b'o\x12\x03<+\x87\x96?ap\xaaU\x01\x00\x00\x00o\x12\x83\xbb' Invalid start byte b'o\x12\x03<\x19\x04\x96?u\x86\xaaU\x01\x00\x00\x00o\x12\x83\xbb' Invalid start byte b'o\x12\x03<\x06\x81\x95?\xc5\xcc\xaaU\x01\x00\x00\x00o\x12\x83\xbb' Invalid start byte b'o\x12\x03<+\x87\x96?\xfe%\xaaU\x01\x00\x00\x00o\x12\x83\xbb' Invalid start byte b'o\x12\x03<\x19\x04\x96?u\x86\xaaU\x01\x00\x00\x00o\x12\x03\xbc' Invalid start byte b'o\x12\x03<\x06\x81\x95?Z\x99\xaaU\x01\x00\x00\x00o\x12\x03\xbc'
Сергей
сверху без ошибок, на кривых пакетах видно, что x01\x00\x00\x00o\x12\ находится не там
Сергей
спасибо, переделал чтение, остались только ошибки по контрольной сумме ID: 1, X: -0.004, Y: 0.004, Z: 1.160 Total packets: 563, Error packets: 20, Error rate: 3.55%
Bokul
Heyy
Сергей
при отправке 50 раз в секунду Total packets: 575, Error packets: 53, Error rate: 9.22% это может влиять из-за багнутости самих модулей? пробую заказать Приёмопередатчик RS-485 (Troyka-модуль)
Сергей
огонь, на baudrate=19200 Total packets: 2495, Error packets: 24, Error rate: 0.96%
Евгений
при отправке 50 раз в секунду Total packets: 575, Error packets: 53, Error rate: 9.22% это может влиять из-за багнутости самих модулей? пробую заказать Приёмопередатчик RS-485 (Troyka-модуль)
Нормальные модули, они тупые как молоток и такие же надежные. Передаете не так или принимаете не так. Я питонами не владею, так что не могу сказать что у вас с кодом. Тем более там и кода нету, одни функции отправки/получения - которые тоже неизвестно как работают. На Сях бы подсказал где вы ошиблись, на 485-х собаку съел.
Сергей
Хочу сделать проводной вариант устройства для подсчёта IRI (International Roughness Index – международный индекс ровности) считываются ускорения с датчика на не подрессоренной массе ( колесе) и на подрессоренной (кузове) по ускорениям можно высчитать ход подвески на 100 метров, сколько там колесо напрыгало больше кузова
Сергей
два вопроса, какая связь лучше подойдёт для работы внутри подкапотного? и второй вопрос какие например?
Евгений
два вопроса, какая связь лучше подойдёт для работы внутри подкапотного? и второй вопрос какие например?
485 нормально, но кабель желательно экранировать, а вот на второй вопрос - не знаю, но прям чувствую что проблем будет море. Первая, которая прямо на виду: датчики будут безбожно врать и калибровать их офигеешь...
Piter
Total packets: 553, Error packets: 100, Error rate: 18.08%
Мне лень археологией сейчас заниматься, на мой склероз говорит, что там уровни 15 вольт. Но не 5 от юсб.
Piter
You have so many skills, Again you are poor.. Why?
because it is not customary to steal from Russians.
Денис
Подскажите рабочую схему для сборки анально-разрыхлительной машины для моей матери и всей моей семьи.
Твердынечка
Т9?
Maxim
Осторожно. Может ещё деньги начать клянчить.
alex...
ищу сначала стартовый бит, потом стоповый, потом проверяю CRC тела и если всё сошлось распаковываю пакет else: print("CRC mismatch") error_packets += 1 # Увеличиваем счетчик пакетов с ошибками buffer = bytearray() # Очищаем буфер при ошибке CRC else: print("Stop byte not found") error_packets += 1 # Увеличиваем счетчик пакетов с ошибками buffer = bytearray() # Очищаем буфер при отсутствии стоп-бита else: print("Invalid start byte") error_packets += 1 # Увеличиваем счетчик пакетов с ошибками buffer = bytearray() # Очищаем буфер при неверном стартовом байте ошибки всегда разные зависимости нет Total packets: 565, Error packets: 59, Error rate: 10.44% CRC mismatch Stop byte not found Invalid start byte Invalid start byte CRC mismatch CRC mismatch CRC mismatch Stop byte not found Invalid start byte Invalid start byte
Наверное стартовый байт всё-же. А что за странный формат кадра, обычно что то типа : один или два стартовых байта, количество байт в кадре, можно счётчик кадра ввести ещё для контроля количества потерянного, данные и потом CRC16.
Сергей
байт верно, CRC16 есть
Bokul
#SaveBangladeshiStudents
SSR
Дождь что ли у них пошёл?
Alex
Только если кислотный 🫡
Bokul
12 innocent students killed by police..
Аргентина
Они ж киллед уже, хуле их спасать?
SSR
Вроде 30
Я слышал 60
ㅤ
Я слышал 60
Вот число уже растет. Поэтому и надо спасать тех кто остался
Bokul
Fool
Сергей
А зачем в чате про esp32 этот спам?