Glamtie
но там подверсии все портят многое(
Glamtie
Уж не помню зачем ставил, ну побаловался формулы повычислял и всё
Гоша
вот то что я на питоне писал для поиска и замены )) https://hastebin.com/share/mivozemufe.python
Glamtie
ой боюсь если я начну вопросы задавать по коду то тут никакого чата не хватит) и терпения)
Glamtie
например что такое mmap и чо он дает, а там еще вызовы же откуда то знать нада)
Гоша
mmap - это для того чтобы файлы быстрее открывались/читались/записывались
Гоша
всё? )
Гоша
выговорился? )
Glamtie
Нет, это только верхушка айсберга
Гоша
я зелёному колобку )
Glamtie
ну хочешь в ЛС спрашивай
Я попозже если что в лс напишу.
Quiero vivir en España
Ребята, привет. Везде пишут, что софтверный UART на ESP8266 - это кака и всё такое. А почему кака (ну кроме скорости работы) нигде ни слова. И вот столкнулся я с интересной штукой: один и тот же скетч, написанный для Serial и SoftwareSerial работает чуть-чуть по-разному. Будто один (кажется последний) байт на софтварном сериале пропадает. Пока жду паяльник, нет возможности провести эксперимент. Но вдруг знаете вы.
Quiero vivir en España
Хватит прикалываться. Что знаете?
На 8266 еще норм, на 32 логично что еще хуже
Quiero vivir en España
Да вот софтовый ногодрыг он зачастую приносит всякие шуточки типа этой. Раздербанивать библиотеку или писать свою реализацию.
Благодарю. У меня ситуация смешная: приходит маркер начала сообщения, сообщение, маркер конца сообщения. Как только всё получили, ESP начинает парсить сообщение. На "железном" UART всё работает, на софтовом - тишина. Посылаю ещё несколько байт - идёт парсинг. Будто 1-2-3 байта до ESP не доходят.
Glamtie
Может прерывания где то мешают?
Саша
Всем привет! Подскажите пожалуйста, про шифрование флешки на esp32. Перечитал доку про флеш-шифрование и не могу понять - 1) в режиме выпуска при ота обновлении надо передавать уже закрытый ключом бинарник прошивки или он передается открытым и шифруется по факту перед записью во флеш?
w
Кто подскажет, как красиво и правильно сделать это? Железка шлёт 4 байта: 0х01 0х02 0х03 0х04 Она подразумевает под этим число 0х1234, укладывается всегда в int16 (от 0x0000 до 0x4000) Как проще сделать конвертацию?
@
Кто подскажет, как красиво и правильно сделать это? Железка шлёт 4 байта: 0х01 0х02 0х03 0х04 Она подразумевает под этим число 0х1234, укладывается всегда в int16 (от 0x0000 до 0x4000) Как проще сделать конвертацию?
эти 4 числа представить как uint16_t каждое и при этом для надежности умножить & на 0x0F для обнуления старшего полубайта, потом сдвинуть каждое влево на 0, 4, 8 и 12 бит, потом сложить |
w
эти 4 числа представить как uint16_t каждое и при этом для надежности умножить & на 0x0F для обнуления старшего полубайта, потом сдвинуть каждое влево на 0, 4, 8 и 12 бит, потом сложить |
Спасибо большое, попробую. Не даётся мне эта битовая магия пока ещё, хотя представляю в башке вроде все нормально как что лежит.
@
Спасибо большое, попробую. Не даётся мне эта битовая магия пока ещё, хотя представляю в башке вроде все нормально как что лежит.
ой это элементарно, послушай: нету никаких конъюнкций и дизъюнкций, это вредительство все! есть только лишь сложение и умножение сложение это минус - но перевернутый, получается палка | умножение это & : надо посмотреть в середину и увидишь x умножения, главное свойство умножение любого числа на ноль будет ноль
@
Последний этап - это 0x01 << 0 | 0x02 << 4 | 0x03 << 8 | 0x04 << 12 ?
да! но мне лень учить таблицу приоритетов, я скобочки ставлю всегда и везде и не парюсь
@
(0x01 << 0) | (0x02 << 4) | (0x03 << 8) | (0x04 << 12)
@
это все усложнено в учебниках, все проще вообще
@
если два числа XOR между собой, единицы останутся в отличающихся местах допустим
@
XOR и OR отличаются реакцией на две единички
w
Разбираюсь тут с китайской платой зума и sony visca. Мрази выпилили direct focus, абсолютное позиционирование. Хотел табличку сделать и просто гонять моторы зума фокуса на калиброванные позиции, а вот хрен там. Нужно запрашивать текущую позицию, что то куда то двигать, опять запрашивать и сравнивать. Расстояние перемещения - время между командами старт ехать и стоп ехать. Вот козлы
@
объединяющее ИЛИ это или исключающее ИЛИ, в русском языке имеется в виду, дай мне что-нибудь, ложку или вилку, это объединяющее
w
Да как надо на примере двух чисел разобраться - получается, а как много всего - клинит 🙈
@
если например тебе чувак сует и ложку и вилку то ты можешь его построить, типа, я просил ИЛИ ложку, ИЛИ вилку, но не оба сразу! это исключающее
w
1 или 1 это 1. 1 иск_или 1 это 0
@
если ты число инвертируешь в нужных битах только и при этом тебе совершенно пофигу что это за число, проверять биты ты не хочешь а просто хочешь тупо сделать инверсию, делаешь XOR с таким числом где в нужных битах единички
@
а там где в маске нули, там число останется прежним
w
Логично
@
01010101000001111 хочешь инвертировать младший бит а остальное не трогать - делаешь XOR с 000000000000000001
@
хочешь инвертировать там через один какой-нибудь, делаешь с 0101010
@
XOR это еще у нас обмен двух переменных между собой без третьей,
@
XOR a,b XOR b,a XOR a,b
@
поменялись местами a и b
w
поменялись местами a и b
Ахринеть ) ну да, логично
@
обнуление, XOR числа само с собой дает 0, это в процессорах реализовано через XOR
w
Надо макросов таких наклепать под руку кстати
@
шифровка-расшифровка через XOR делается еще и CRC
@
мигание нужного бита тоже
@
= инверсия туда-сюда
w
Мне как то рассказывали про чувака, который в написании кода везде применял сложные длинные конструкции regexp. Ну под ПК там софтины. Лучшая бл защита, можно исходниками делится, никто ничего не поймет )
w
Есть немного схожего
@
обычный OR это у нас установка нужных битов AND это обнуление нужных битов, а также проверка нужных битов в условии
w
00 or 01 = 01 00 and 01 = 00
@
Мне как то рассказывали про чувака, который в написании кода везде применял сложные длинные конструкции regexp. Ну под ПК там софтины. Лучшая бл защита, можно исходниками делится, никто ничего не поймет )
регэксп он инопланетянский. а эти все оры ксоры это умножения и сложения всего лишь 0 с 1 и все, это один раз надо увидеть и вся сложность уйдет сразу
w
01 and 01 = 01
w
На таких примерах все просто)
@
значит, таблицу истинности надо рисовать ПРАВИЛЬНО что бы сразу был виден смысл, ща...
@
слева данные
@
0 1 0 1
@
они разные, поэтому 0 1 0 1
@
а маска справа, она 0 0 1 1
@
чтобы было видно реакцию на 0 и 1
w
А, ну я просто число сверху, а маску снизу представляю, а не справа - слева
@
получается 0 0 1 0 0 1 1 1
w
И ниже - результат
@
получается 0 0 1 0 0 1 1 1
и вот на эту базовую штуку надо прописать результаты
@
сложение, умножение и сложение с переносом
@
OR и XOR отличия только в реакции на обе 1
@
у XOR это будет 0 и как бы перенос 1 куда-то
w
Будет чаще нужно - отложится в подкорке)
@
у OR переноса нет, 1 OR 1 будет 1
w
@testtest133 кстати, помнишь разговор про ота и жквери? Типа заменить на js? Я вообще js выпилил, тупо форма и поле файла. Немного оставил чтоб кнопку заблочить и надпись поменять. Работает. Если бегущие процентики не принципиально - самое то
@
(0x01 << 0) | (0x02 << 4) | (0x03 << 8) | (0x04 << 12)
ой ошибочка, надо так (0x04 << 0) | (0x03 << 4) | (0x02 << 8) | (0x01 << 12) чтобы 1234 получилось а не 4321
Н Е К И Б Е Р Л Е О
@ chatgpt ?)