реклама на сайте
подробности

 
 
> embedded cron
evgen2
сообщение Dec 1 2015, 21:04
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 1-04-06
Пользователь №: 15 688



А вот не подскажет ли кто - есть ли в природе embedded cron не для линукса, а для мелкопроцессоров типа ARM Cortex 3,
и чтоб в исходниках на Це, и чтоб памяти не ел, и чтоб difftime мухой считал без double.
Go to the top of the page
 
+Quote Post
2 страниц V  < 1 2  
Start new topic
Ответов (15 - 20)
Forger
сообщение Dec 2 2015, 09:51
Сообщение #16


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(evgen2 @ Dec 2 2015, 12:26) *
Причём тут вайфай? Веб морда с тысипями кушает память, а в M0 ее кот наплакал - 8-12 кб

А как вы будете подключать М0 в сеть, где будут бегать ваши TCP пакеты?
Размер занимаемой озу стеком TCP/IP сильно зависит от числа одновременных одкрытых соедений, других поддерживаемых протоколов,
в М0 ни у кого нет RMI интерфейса, чтобы подключить эзернет, но есть spi и uart как минимум, к ним пожно подключать внешние крохотные модули с реализаванных внутри них TCP/IP. В этом случае даже 8-битный адруино справиться с задачей на ура.
Я для примера предложил самый бюджетный и простой вариант - вайфай ESP.

Цитата
которая несколько меньше линукса,
Ну, это все меняет sm.gif


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
evgen2
сообщение Dec 2 2015, 10:32
Сообщение #17


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 1-04-06
Пользователь №: 15 688



Цитата(arhiv6 @ Dec 2 2015, 12:33) *
А какой минимальный шаг времени нужен? Поддержка дат нужна? Или просто "запуск задачи через час", "запуск задачи раз в сутки"? Если второй вариант, можно сделать свой планировщик, взяв за основу этот. Умеет периодический запуск задач. отложенный запуск.


О, спасибо. Минимализм, как и хотелось. И можно и RTC прикручивать.

Цитата(AVI-crak @ Dec 2 2015, 12:40) *
Это невозможно на физическом уровне. Ваш мк будет управлять физикой с двумя состояниями - вкл-выкл, ну может быть ещё шим - но у него тоже пишется единственное значение.
Значит все эти глюки необходимо разрулить ещё до фактической установки будильника.
Функция - будильник каждую секунду - задаётся с некорректными значениями неиспользуемых разрядов будильника. Например каждую секунду - число секунд, а минуты, часы дни - года FFFF. Тогда при установке будильника можно будет задействовать отдельный канал со спец режимом, именно для этих целей, но таких каналов кажись всего один штук. Ну и управление физикой будет очень ограниченным. С этим делом прекрасно справляется программный таймер, там даже ничего изобретать не нужно.

Почему невозможно? Просыпаемся по RTC, смотрим, какие есть "задачи", если нет - то спим дальше, если есть - выполняем их - последовательно - типа дрыгнуть ногами, запустить АПЦ и дождаться результата (т.е. квазиодновременно, если у нас минимальный квант от RTC секунда), перед тем как заснуть пробегаемся по будильникам, находим ближайший, программируем время следующего прерывания RTC и засыпаем. RTC позволяет (более лучше спать и) меньше потреблять, чем программный/нутряной таймер.

Цитата(Forger @ Dec 2 2015, 12:51) *
А как вы будете подключать М0 в сеть, где будут бегать ваши TCP пакеты?
Размер занимаемой озу стеком TCP/IP сильно зависит от числа одновременных одкрытых соедений, других поддерживаемых протоколов,
в М0 ни у кого нет RMI интерфейса, чтобы подключить эзернет, но есть spi и uart как минимум, к ним пожно подключать внешние крохотные модули с реализаванных внутри них TCP/IP. В этом случае даже 8-битный адруино справиться с задачей на ура.
Я для примера предложил самый бюджетный и простой вариант - вайфай ESP.

Ну, это все меняет sm.gif


Всё равно веб сервер надо будет в М0 делать.

Но сама идея мне нравится, как раз под дивайс, в котором крон должен жить.
Вайфай ESP - это ESP8266 или есть другие варианты?
Go to the top of the page
 
+Quote Post
Forger
сообщение Dec 2 2015, 12:56
Сообщение #18


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(evgen2 @ Dec 2 2015, 13:32) *
Вайфай ESP - это ESP8266 или есть другие варианты?

Конечно, есть и другие, этот я указал для примера и как самый ходовой и доступный.


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Dec 2 2015, 16:45
Сообщение #19


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(evgen2 @ Dec 2 2015, 01:04) *
А вот не подскажет ли кто - есть ли в природе embedded cron не для линукса, а для мелкопроцессоров типа ARM Cortex 3,
и чтоб в исходниках на Це, и чтоб памяти не ел, и чтоб difftime мухой считал без double.


Если вам надо сделать просто запуск задач по определенным моментам времени, то можно создать функцию которую вызываете каждую секунду, в ней считаете минуты, часы, дни.
секунды, минуты, часы, дни считаете в глобальных переменных.
Заводите необходимое количество структур моментов времени срабатывания содержаших обработчик явления, далее простой обработчик, который каждую секунду сравнивает все структуры с текущим временем и все.

Правда difftime не считает.

Могу рассказать более подробно (с примерами имплементации) если интересно.
Go to the top of the page
 
+Quote Post
AVI-crak
сообщение Dec 2 2015, 19:34
Сообщение #20


Частый гость
**

Группа: Участник
Сообщений: 182
Регистрация: 16-10-15
Пользователь №: 88 894



Цитата(evgen2 @ Dec 2 2015, 17:32) *
Почему невозможно? Просыпаемся по RTC, смотрим, какие есть "задачи", если нет - то спим дальше, если есть - выполняем их - последовательно - типа дрыгнуть ногами, запустить АПЦ и дождаться результата (т.е. квазиодновременно, если у нас минимальный квант от RTC секунда), перед тем как заснуть пробегаемся по будильникам, находим ближайший, программируем время следующего прерывания RTC и засыпаем. RTC позволяет (более лучше спать и) меньше потреблять, чем программный/нутряной таймер.


Да вот фига.
Просыпаемся когда уже пора что-то делать, потому как будильник на это время взведён. Иначе смысл в будильнике отпадает, можно на программных таймерах считать, с точностью в миллисекунды. Завёл одну переменную в 64 бита - и железяка её за всю твою жизнь не обнулит.
Go to the top of the page
 
+Quote Post
evgen2
сообщение Dec 2 2015, 23:02
Сообщение #21


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 1-04-06
Пользователь №: 15 688



Цитата(AVI-crak @ Dec 2 2015, 22:34) *
Да вот фига.
Просыпаемся когда уже пора что-то делать, потому как будильник на это время взведён. Иначе смысл в будильнике отпадает, можно на программных таймерах считать, с точностью в миллисекунды.


Да фига. Я как раз об этом и говорю.

Цитата(AVI-crak @ Dec 2 2015, 22:34) *
Завёл одну переменную в 64 бита - и железяка её за всю твою жизнь не обнулит.

не всю. До разряда батарейки/зависания/сбоя
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 03:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.0138 секунд с 7
ELECTRONIX ©2004-2016