Тайминг

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем Игорь Начинающий, 12 мар 2017.

  1. Здрасте! Кто-то может знает какую команду надо выполнить что-бы искра включала реле по таймеру раз в неделю? Помогите если знаете как! Спасибо!
     
  2. FomaLSSJ

    FomaLSSJ Нерд

    В принципе все просто:
    Код (Javascript):
    let weakTime = 7 * 24* 60 * 60 * 1000;
    let worker = () => {
      //code
    };
    setInterval(worker, weakTime);
    Расчет просто 7 дней в неделю * 24 часа в день * 60 минут в часу * 60 секунд в минуте * на секунды в JS, это - 1000, получаем время недели. Запускать будет по истечению недели с момента запуска.
    А в функцию worker уже пишешь, что нужно делать с реле.
     
    arkadyf и Игорь Начинающий нравится это.
  3. Спасибо огромное!!! Спасибище!
     
  4. Konkery

    Konkery Гик

    обрекаете начинающих на танцы с бубном ))
    let номально не поддерживается в Espruino, впрочем как и многие другие
    нововведения ECMAScript 5, например данная конструкция не исполняется
    Код (Javascript):
    for(let i = 0; i<10; i++) {.....}
     
  5. FomaLSSJ

    FomaLSSJ Нерд

    Я видимо что-то не так делаю, что мне сделать, чтобы она не исполнялась?)
    Возможно работает потому-что стоит Minification = Closure (online) - Whitespace Only
     

    Вложения:

    • 123.png
      123.png
      Размер файла:
      56,2 КБ
      Просмотров:
      492
  6. Konkery

    Konkery Гик

    Подскажите версию прошивки. У меня искра двухмесячной "давности",
    когда залил первые скетчи с let и др. "новинками" не заработало сразу
    (именно интерпретатор после прошивки не исполняет код)
    возможно у вас более свежая прошивка, будет интересно узнать

    upload_2017-3-12_19-16-12.png
     
  7. FomaLSSJ

    FomaLSSJ Нерд

    Прошивка последняя, сам пробовал использовать фичи ES5 на только распакованной и не получалось, по этому сразу обновился.
     

    Вложения:

    • 123.png
      123.png
      Размер файла:
      28,9 КБ
      Просмотров:
      517
  8. Konkery

    Konkery Гик

    Если нужно что бы была гарантия исполнения временных дистанций между включ

    Если нужно что бы была гарантия исполнения временных дистанций между включениями
    то нужно привязывать к астрономическим показаниям часов иначе как минимум со временем
    начнется сдвиг, а если будет выключение плат, то все "съедет". У амперки есть модуль с часовой
    микросхемой, у нее уход маленький (схему можно и самому спаять, довольно простая микросхема
    soic 8), есть и др. возможности взять астрономическое время
     
  9. Konkery

    Konkery Гик

    тогда и мне пора ! спасибо, подтолкнули к апгрейду )
     
  10. FomaLSSJ

    FomaLSSJ Нерд

    Да я люто советую обновится, даже работает сборка строки типа - `Value:${parseInt(value / 2)}`, только вот IDE судя по всему при минификации ругается, а самое главное как считаю, теперь Promise работают)
     
  11. Спасибо, а тогда как сделать чтобы реле включалось например в каждую пятницу в 16:00 по мск на 10 минут, и если перебой с питанием то функция продолжалась выполнятся???
     
  12. sys

    sys Злобный Буратино Модератор

    Konkery, FomaLSSJ и arkadyf нравится это.
  13. Konkery

    Konkery Гик

    откуда модуль берет время и каково его точность (уход) ?
     
  14. Модуль берет время от Часов реального времени
     
  15. Konkery

    Konkery Гик

    RTC встроенное или нужно подключить внешний модуль ? Если встроенное то нужно напаивать 32 кГц кварц ?
     
  16. sys

    sys Злобный Буратино Модератор

    для нормальной работы со временем лучше использовать внешний модуль с батарейкой
     
  17. Konkery

    Konkery Гик

    так я вот и спрашиваю откуда "там" rtc ? т.е. внешние часы обязательны для работы cron ?
     
  18. sys

    sys Злобный Буратино Модератор

    Наша плата умеет Date() и да, у нас есть встроенные часы, но они несколько ограничены в таких предметах как батарейка, кварц и область памяти для данных. В первородном виде они скорее выполняют роль таймера и т.п. Для более сложной работы добавляется синхронизация времени от внешнего источника (сервера, компа и т.п.) и другие костыли. Поэтому я и склоняюсь в сторону внешних часов, если такие вещи как дата время ставятся во главу угла...

    Cron.js работает совместно с модулем DateExt.js, который в свою очередь для удобства расширяет возможности стандартного Date().
     
  19. Konkery

    Konkery Гик

    Можно пояснить что означает "Наша плата умеет Date()" ? Date это встроенный в JS тип, который поддерживает ядро Espruino. Вопрос при создания объекта Date() он "пойдет ? т.е. после инициализации
    его некоторым значением, его содержимое начнет нарастать ? если да, тогда возвращаюсь к своему
    первоначальному вопросу что тактирует созданный объект Date() и с какой точностью ?
     
    arkadyf нравится это.