Я использую сторожевой таймер в каком-то скрипте. Эта функция может автоматически сбросить ваш Arduino, если вы не сбросили сторожевой таймер во время перерыва.
вы выполняете wdt_enable () в setup () и wd_reset () в начале цикла
time before watchdog firing argument of wdt_enable()
-------------------------------------------------------
15mS WDTO_15MS
30mS WDTO_30MS
60mS WDTO_60MS
120mS WDTO_120MS
250mS WDTO_250MS
500mS WDTO_500MS
1S WDTO_1S
2S WDTO_2S
4S WDTO_4S
8S WDTO_8S
пример использования:
#include <avr/wdt.h>
void setup()
{
wdt_enable(WDTO_4S); // enable the watchdog
// will fire after 4s without reset
}
void loop(){
wdt_reset(); // resets the watchdog timer count
:
:
// if program hangs more than 4s, launch the reset of arduino
}
Это чрезвычайно трудно и здесь почему: файл PS является программой, результаты выполнения которой в пикселях ставят страницу. Инструкция в программе PS на уровне, "чертят линию с помощью текущего пера и цвета", или "поворачивают систему координат на 90 градусов", но нет никакого понятия слоев, или сложные объекты как Вы видели бы их в приложении рисования вектора.
Существует очень немного конвенций в структуре файлов PS, чтобы позволить внешним программам изменять их: страницы отмечены отдельно, ресурсы шрифта, и размеры медиа разъяснены в специальных комментариях. Это особенно верно для Встроенного Постскриптума (EPS), который должен следовать этим инструкциям, потому что они предназначены, чтобы быть считанными приложениями, но не для общей PS, когда это отправляется на принтер. Программа PS является намного более низким уровнем абстракции, чем, в чем Вы нуждаетесь и существует теперь способ восстановить его для произвольного кода PS. В принципе мог файл PS приводить к другому выводу каждый раз, когда он печатается, потому что он может запросить свою среду выполнения и ответвление на основе случайных решений.
Приложения как Adobe Illustrator испускают код PS, которые следуют за твердой структурой. Существует шанс, что они могли анализироваться и управляться, не интерпретируя код. Я все еще предложил бы заново продумать текущую архитектуру: Вы на слишком низком уровне абстракции для того, в чем Вы нуждаетесь.
PDF не manipulable, так как не возможно измениться, любые существующие части PDF (в целом) только добавляют материал. EPS совпадает с PostScript за исключением того, что он имеет граничный заголовок.
Проблема с выполнением, что Вы хотите, состоит в том, что PS является языком программирования, вывод которого (главным образом) является некоторым изображением. Таким образом, вопрос мог быть указан как, "как я могу потянуть формы на новом слое в файле Java". Вероятно, необходимо генерировать полную PS на лету или использовать другой формат изображения в целом.
Я думаю, что Ваш лучший выбор состоит в том, чтобы генерировать PDF от EPS и затем управлять PDF. Затем обратно к EPS. PDF намного более "manipulable", чем EPS.
Я не знаю ни о каких доступных библиотеках для этого, но Вы можете создавать что-то для удовлетворения потребностей на основе epstool от Ghostscript/GSview