Необъяснимая работа программы

Ложь и клевета на советского работника! Совсем не этим я возмущён.

Пора тему переименовать: “Объяснимая работа программы”)))

Этим, этим! Вы просто “сказать не можете” :slight_smile:

Я понял, как собака.
…мне не интересны внутренности, мне интересны внешности. И они кривые, какая бы оправдательная сторона под ними не лежала.

ты мне идею подкинул. сделать scriptable генератор узоров. :slight_smile:

А что в этом мире прямое?

Вот те же яблоки, как справедливо заметил сэр Исаак Ньютон, всегда падают на землю, хотя могли бы сразу планировать в ящики или в кузова машин, для удобства пользователя.

Нет, не так. А так:
Библиотека данных авторов заведомо вводит пользователей в заблуждение при их самостоятельном программировании ws2812b.
…эх жаль, надо отъехать, а спорить так интересно.

Сделаешь, покажешь, а то я ни бум-бум, что ты написал :slight_smile:

не рассчитана на #ардуиноэтопросто, а предназначена для использования программистами.

Но, кстати, к стыду этой библиотеки (по крайней мере, той версии, что у меня хз когда установлена), они там с переполнением micros попытались бороться и, разумеется, напарили :frowning:

функция, которая будет тебе генерировать массив на основании описания.
Типа:

rgb_generate_16x16(MassivKartinka, ""
    "color(cosine, 10, 0,"
    "  linear(A, B, "
    "     radius("
    "        circle(8,8,0)))"

“Цветом, меняющимся по косинусу (f=A*cos+B), нарисовать
кружочек в центре, радиусом, меняющимся как линейная функция (f=Ax+B)”

Ну и операторы поворота фрагмента и масштаб фрагмента еще нужны.

Ну вот - дошли до алгебраического тригонометрического мата …

В этом и заключается одно из существенных отличий embedded программирования и мира больших устройств. Но и там и там контроль входных данных и сохранение работоспособности при любых входных условиях - задача программиста. Написать алгоритм основной ветки - это пустяки. Сложность отработать все частные случаи.

Вот и я о том. Учимся потихоньку.

Можно, конечно и к ИИ обратиться, возможно уже есть что-то подобное, но это будет мне не интересно , по крайней мере на сейчас.

Когда элементы не меняются, это константный. Ни к статическому, ни к динамическому никакого отношения не имеет.
Статический - память выделяется ДО начала исполнения первого оператора программы, динамический - ПОСЛЕ - в процессе выполнения программы.
Статический массив создает компилятор, динамический - выполняемая программа.

Что значит “берем”?

Не, ну кто спорит!
Всяко удобнее, когда у каждого: и у компилятора и у МК есть по своему хрустальному шару.

Сэр что-нибудь слышал о законах сохранения?
Или не слышал и слышать не хочет, так как они все кривые.
Увы, окружающая нас действительность такова, какова есть, а не такова, какой бы нам хотелось ее видеть.
И для того, чтобы успешно существовать в этой действительности, нужно знать и учитывать ее особенности, а не сетовать на то, что мир несовершенен.

Вы уверены?
Надпись на столбе “Не влезай - убьет!” тоже вводит в заблуждение т.к. не указывает в явном виде способ убийства?

вот не надо, все должно быть прекрасно и душа и тело и мысли )))

мудила!» —
Ну конечно, влез… Убило.
Следом лезет обормот
С криком: «Всех не перебьёт!»
Что бы там ни говорили —
Несгибаемый народ.

Есть мнение,что ии как раз общее направление дает, а с частностями у него туго. Ии это ведь что - просто текст статистически похожий на то что уже есть в сети. Частности редки, неочевидны, модель на них не натаскана.

Работа программы необъяснима на человеческом языке. Это чистая магия.

Именно. Именно эта надпись и отсутствует по итогам компиляции , а нужна бы.
… Не помню где, но были чужие скетчи с итогами типа: динамической памяти использовано 97%. Возможна некорректная работа программы… автор писал не бойтесь, всё фигня.
А тут всё наоборот. Так что уверен - блуд в чистом виде.
…а так да, хорошая библиотека. Главное - массовая в использовании.

Да, стремиться к этому надо.

Чёта никого не впечатлило, в этой библиотеке детская ошибка, вылезшая из борьбы с переполнением micros. А я вот, так сильно удивился. Не ожидал от них.