В Debug прошивка работает, в Release - нет. Думалось и проверялось разное, дошло до пресловутого "мрачного разглядывания дизассемблерного листинга". И тут вообще стало жутко. В дебаге по некой формуле рассчитывается значение и кладётся в переменную. В релизе - какие-то ошметки от предвычислений, и на этом всё.
Переменная для обмена с соседним ядром, данную кладёт одно, проверяет содержимое - другое. В объявлении потеряли volatile, релиз "оптимизировал" код сохранение "не используемого" значения, и половину его вычисления. Какие-то ошметки вычислений в скобках при этом почему-то остались.
С одной стороны - осознанно расширяемая архитектура, "операционная система" набор процедур для блочной обработки событий с обменом сообщений между ними, внутренний таймер и синхронизация.
А с другой - реализация всего этого на корявой и специфической аппаратной среде прямиком из забытого с облегчением прошлого.
Но выдывать при тактовой в 100 кГц результат за десятые доли-единицы секунд - это очень хилое соотношение.
"Коммутационный" обработчик данных вместо "обычного" АЛУ, частично из-за этого очень абстрактная-иерархическая система построения и команд и системы в целом (повеселил раздел из книги Трохименко об "Операционной системе ПМК" ). Не знаю, может в СССР это и был уровень 70-х, в общемировом масштабе же - эдакий BrainFuck из 60-х, если не ранее.
Если сравнивать с Курой - есть отдельные плюсы, но не скажу, что прямо на две головы лучше.
+ Более подробная работа с поддержками, их добавлением и удалением. Сами стандартные поддержки вроде чуток более адекватны + Аналогично, чуть более подробная работа с подложками + Слайсер вроде чуток похитрее, например отдельно учитывает и дает возможность настроить величину растекания пластика из сопла. Но не так, чтоб прям небо и земля. + Нормальный монитор работы принтера, с возможностью лога сообщений с него
- Вместе с тем, разнообразия вариантов поддержек, как мне показалось, меньше чем в Куре - Настройка железа, как по мне, ещё более неудобная по сравнению с Курой. Например нет возможности быстро и без опасений за ошибку(!) переключиться на другой тип сопла. - Интерфейс позиционирования моделей как бы не более убогий чем в Куре. Хотя наконец-то аж к 4.1.2 появились наконец некоторые подвижки в сторону повышения функционала и удобства. - Местами странноватые глюки. Например, модель с русским названием файла при повторном открытии отображается кракозябрами.
Самый большой трындец тут, что эта "цепочка сдвиговых регистров" - просто эмуляция древнючей памяти на линии задержки! Прямо из шестидесятых годов.
Вот такой, как была в "Искре111". Эта самые крутильные "дзынь-дзынь", бегущие по мотку проволоки, только реализованные на сдвиговых регистрах.
Отсюда и "безумный", сложный микрокод для последовательного, "однобитного" по сути АЛУ, и жуткая медленность работы по сравнению с тактовой частотой, и чехарда с "тремя фазовыми сигналами".
Ну, если вся проблема в шалостях QoS - тогда да, нет смысла. Но рядом говорится о каких-то загадочных изменениях TCP стека. Вот и любопытно было в этом смысле сравнить с "эталонным", старым вариантом.
А если поставить не два, а 3/4 умножителя - то найдутся тройные и четверные излучения фотонов?
"Отладка: Длительный и мучительный процесс понимания того, что программа работает именно так, как написано." (с)
"Вот модульный тест на то, что SPI в самом деле отправляет данные."
Гм. А как тут проверяется, что SPI действительно отправил данные?
К турелям?
"Оказалось ток светика оптопары находился на границе включения. И, иногда, просто было солнечно "
Вот это прямо хорошо.
Встречал ещё более фееричное - когда блик от вращ. детале не опытном стенде триггерил оптический концевик.
В Debug прошивка работает, в Release - нет. Думалось и проверялось разное, дошло до пресловутого "мрачного разглядывания дизассемблерного листинга". И тут вообще стало жутко.
В дебаге по некой формуле рассчитывается значение и кладётся в переменную. В релизе - какие-то ошметки от предвычислений, и на этом всё.
Переменная для обмена с соседним ядром, данную кладёт одно, проверяет содержимое - другое.
В объявлении потеряли volatile, релиз "оптимизировал" код сохранение "не используемого" значения, и половину его вычисления. Какие-то ошметки вычислений в скобках при этом почему-то остались.
Зачастую спасает банальная замена if(Ticks()>OldTick){... на if( (Ticks()-OldTick)> ...)
"Размерностью Хаусдорфа хорошего множества X будет являться такое уникальное число d, что N( r ) будет расти как 1/r^d при d стремлении r к нулю."
Это "Размерность Минковского", не Хаусдорфа. Хаусдорфова определяется несколько по иному.
ps:
интересно, как добились, что на движке форума в WYSWIG режиме паста не работает. И нафига.
Она побывает ближе любого заданного расстояния от произвольно точки.
Что в смысле этих размерностей равно "побывает".
Да чепуха полная.
Максимум - это количество денег, которые нужно профукать, чтоб выкупить акции обратно )
А так - действительно спекулятивные ожидания держателей.
А по факту годный компилятор и через 10 лет не подтянулся.
... прямо когнитивный диссонанс какой-то.
С одной стороны - осознанно расширяемая архитектура, "
операционная система" набор процедур для блочной обработки событий с обменом сообщений между ними, внутренний таймер и синхронизация.А с другой - реализация всего этого на корявой и специфической аппаратной среде прямиком из забытого с облегчением прошлого.
Брейнфак как он есть.
Но выдывать при тактовой в 100 кГц результат за десятые доли-единицы секунд - это очень хилое соотношение.
"Коммутационный" обработчик данных вместо "обычного" АЛУ, частично из-за этого очень абстрактная-иерархическая система построения и команд и системы в целом (повеселил раздел из книги Трохименко об "Операционной системе ПМК" ).
Не знаю, может в СССР это и был уровень 70-х, в общемировом масштабе же - эдакий BrainFuck из 60-х, если не ранее.
Если сравнивать с Курой - есть отдельные плюсы, но не скажу, что прямо на две головы лучше.
+ Более подробная работа с поддержками, их добавлением и удалением. Сами стандартные поддержки вроде чуток более адекватны
+ Аналогично, чуть более подробная работа с подложками
+ Слайсер вроде чуток похитрее, например отдельно учитывает и дает возможность настроить величину растекания пластика из сопла. Но не так, чтоб прям небо и земля.
+ Нормальный монитор работы принтера, с возможностью лога сообщений с него
- Вместе с тем, разнообразия вариантов поддержек, как мне показалось, меньше чем в Куре
- Настройка железа, как по мне, ещё более неудобная по сравнению с Курой. Например нет возможности быстро и без опасений за ошибку(!) переключиться на другой тип сопла.
- Интерфейс позиционирования моделей как бы не более убогий чем в Куре. Хотя наконец-то аж к 4.1.2 появились наконец некоторые подвижки в сторону повышения функционала и удобства.
- Местами странноватые глюки. Например, модель с русским названием файла при повторном открытии отображается кракозябрами.
Самый большой трындец тут, что эта "цепочка сдвиговых регистров" - просто эмуляция древнючей памяти на линии задержки! Прямо из шестидесятых годов.
Вот такой, как была в "Искре111". Эта самые крутильные "дзынь-дзынь", бегущие по мотку проволоки, только реализованные на сдвиговых регистрах.
Отсюда и "безумный", сложный микрокод для последовательного, "однобитного" по сути АЛУ, и жуткая медленность работы по сравнению с тактовой частотой, и чехарда с "тремя фазовыми сигналами".
Похоже
https://rutracker.nl/forum/viewtopic.php?t=5462398 (445 ГБ)
https://rutracker.nl/forum/viewtopic.php?t=5649566 (1.19 TБ)
Оказывается, зачастую даже 3R, "до 5 мВт".
Забавно, что когда-то писали, что 5-мВт - "безопасные".
Понятно. У меня, оказывается, тут был пробел в информированности.
Извините, не могу +1 выставить.
А почему "продажные" 5 мВт лазеры считаются "безопасными"?
Ну, если вся проблема в шалостях QoS - тогда да, нет смысла. Но рядом говорится о каких-то загадочных изменениях TCP стека. Вот и любопытно было в этом смысле сравнить с "эталонным", старым вариантом.