Умный счетчик расхода воды: бюджетный подарок к Новому Году.

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 6 дек 2016.

  1. SergeiL

    SergeiL Оракул Модератор

    Это понятно. Но для человека впервые столкнувшегося с новым языком - это, ну очень большой "сюрприз" :(
    Я помню, как небольшой код, написанный на LUA вроде работает, но периодически рестартует... И как искать проблему?...
    А перейдя на Си под тот же ESP, пишешь код, и он работает месяцами без рестартов.
    Наверное это из : " ложки нашли, а осадок-то остался"

    Но все это касается Си, без плюсов.
    В свое время пробовали и С--. Никаких излишеств :).
     
  2. parovoZZ

    parovoZZ Гуру

    ардуино - это тоже Си.
     
  3. Простите, я затупил) Не сразу сообразил, что Вы автор блога)
     
  4. ИгорьК

    ИгорьК Гуру

    "И ты рассказывай".

    Покажите мне на этом форуме проект с лямбдой :) Можете, даже, на ардуино.ру, :)
     
  5. ИгорьК

    ИгорьК Гуру

    Для человека, впервые применяющего malloc/free тоже не все просто.
    У Lua есть две фишки с освобождением памяти у нелокальных переменных и очисткой "регистра анонимных ссылок". Это надо знать. Документации не было. Сейчас есть.

    Ответов от меня больше не будет, мои дорогие железнодорожники и летающие пастухи сферичеких коней.
     
    obuhanoe нравится это.
  6. DetSimen

    DetSimen Гуру

    Я в каждую программу добавляю лямбду, чтоб стандартные функции ввода/вывода перенаправлялись в сериал, если надо

    Код (C++):
    void setup()
    {
        Serial.begin(256000);
        stdout = fdevopen([](char ch, FILE* f) -> int {return Serial.print(ch); }, NULL);
        puts("Kitchen timer started...");
    много текста не занимает, а для отладки весьма полезно
     
    ИгорьК и Рокки1945 нравится это.
  7. ИгорьК

    ИгорьК Гуру

    Итак, на форуме появилась первая лямбда :) Пусть не в проекте, но хотя бы под соусом "я могу" :)
     
    DetSimen и obuhanoe нравится это.
  8. SergeiL

    SergeiL Оракул Модератор

    Когда я учил Си, в Си лямбд не было.
    Поэтому не знаю о чем вы :)
     
  9. parovoZZ

    parovoZZ Гуру

    не много - это сколько? 10 кБ? 20 кБ?
     
  10. DetSimen

    DetSimen Гуру

    Не тупи, о сверкающий разум этого форума, 1 строчка текста С++.
     
    Andrey12 нравится это.
  11. parovoZZ

    parovoZZ Гуру

    В МК это во сколько инструкций развернётся?
     
  12. ZAZ-965

    ZAZ-965 Гуру

    С arduino.ru автор Ворота - Вопрос в том, достаточно ли лямбдануто?. Или можно полямбданутее?
    Код (C++):
    //
    // Лямбда-блинк на пине LED_BUILTIN
    //

    constexpr auto pp = [] {return 500;}; // функция вычисления полупериода блинка

    void setup(void) {
        [] {
            [] {
                return pinMode;}() (
                    [] {
                        return LED_BUILTIN;
                    }(),
                    [] {
                        return OUTPUT;
                    }()
            );
            while(1)
                [] (void (*dw)(uint8_t, uint8_t)) {
                    auto b = [] {
                        return LED_BUILTIN;
                    }();
                    dw(
                        [&b] {
                            return b;
                        } (),
                        ![] {
                            return digitalRead;
                        }() ([=] {
                            return b;
                        }())
                    );
                    [] {
                        return delay;
                    } () (pp());
                } ([] {
                    return digitalWrite;
                }());
        } ();
    }

    void loop(void) {}
     
    SergeiL нравится это.
  13. DetSimen

    DetSimen Гуру

    2-2.5 килобайта флэша