Этюды о буферизации: асинхронные оповещения, репликация обновлений, объединен...corehard_by
Практика разработки конкретного приложения может приводить к постановке задачи, которая, в зрелом размышлении, оказывается достаточно общей, чтобы вычленить её в абстракцию, потенциально полезную для множества различных приложений. Приведение решения к виду, пригодному для многократного применения, в отличие от решения, отвечающего нуждам конкретного приложения, требует дополнительных мыслительных усилий по выделению вариативных аспектов задачи, и по их моделированию средствами языка. В докладе представлен опыт реализации трёх абстракций, объединенных общей темой — буферизацией данных при многопоточной обработке. Показан ход мысли от анализа задачи до реализации средствами языка C++17.
TMPA-2015: The dynamic Analysis of Executable Code in ELF Format Based on Sta...Iosif Itkin
The dynamic analysis of executable code in ELF format based on static binary instrumentation
Mikhail Yermakov,ISP RAS
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
Модульное тестирование является неотъемлемой частью современного процесса разработки. В своем докладе я хочу поговорить о том как нужно разрабатывать модульные тесты в проекте на C++ так чтобы это приносило максимум пользы.
Formal Methods in Robotics
Dmitry Mordvinov, Yury Litvinov, Saint Petersburg State University, Saint Petersburg
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
Этюды о буферизации: асинхронные оповещения, репликация обновлений, объединен...corehard_by
Практика разработки конкретного приложения может приводить к постановке задачи, которая, в зрелом размышлении, оказывается достаточно общей, чтобы вычленить её в абстракцию, потенциально полезную для множества различных приложений. Приведение решения к виду, пригодному для многократного применения, в отличие от решения, отвечающего нуждам конкретного приложения, требует дополнительных мыслительных усилий по выделению вариативных аспектов задачи, и по их моделированию средствами языка. В докладе представлен опыт реализации трёх абстракций, объединенных общей темой — буферизацией данных при многопоточной обработке. Показан ход мысли от анализа задачи до реализации средствами языка C++17.
TMPA-2015: The dynamic Analysis of Executable Code in ELF Format Based on Sta...Iosif Itkin
The dynamic analysis of executable code in ELF format based on static binary instrumentation
Mikhail Yermakov,ISP RAS
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
Модульное тестирование является неотъемлемой частью современного процесса разработки. В своем докладе я хочу поговорить о том как нужно разрабатывать модульные тесты в проекте на C++ так чтобы это приносило максимум пользы.
Formal Methods in Robotics
Dmitry Mordvinov, Yury Litvinov, Saint Petersburg State University, Saint Petersburg
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
TMPA-2015: Multi-Module Application Tracing in z/OS EnvironmentIosif Itkin
Multi-Module Application Tracing in z/OS Environment
Rostislav Efremov, Saint Petersburg State University, Saint Petersburg
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...Iosif Itkin
Standards and Standartization in Program Engineering. Why Would You Care?
Nikolay Pakulin, ISP RAS, Moscow
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
This document provides a report on branding strategies for Sing2Live (S2L) to build its brand around the concept of "Hope". It recommends targeting youth aged 25 and under, as well as baby boomers, through archetypal marketing and establishing brand authenticity. Specifically, the report suggests S2L identify the role it wants to play for members, develop an effective mission statement, and identify hot buttons to push through repeated messaging on social media and peer-to-peer marketing. Building an authentic brand story and tapping into archetypes like "The Hero" are also recommended to appeal to different generations.
Alcoholism is characterized by physical and psychological dependence on alcohol that causes distress or harm. While many people drink alcohol regularly without negative consequences, around 7% of adults experience alcohol use disorder in a given year. The development of alcoholism involves genetic, developmental, and psychological factors. Alcoholism is also marked by the development of tolerance, meaning more alcohol is needed to feel effects, and withdrawal symptoms when not drinking. While the condition is complex and difficult to understand from the outside, treatment programs can help alcoholics overcome addiction by providing detox support and teaching new life and relapse prevention skills to achieve long-term sobriety.
Jake surprises his wife Catherine by returning home from war earlier than expected. During the night, Jake has a nightmare about his time at war which leaves him sweating and breathing heavily. Catherine comforts him and assures him he is now safe at home. The next morning, Catherine suggests Jake see a therapist to address his nightmares, but Jake wants to wait and see if they stop on their own before seeking medical help.
Municipal Perspectives for Renewable Energy Adoption_BarnesJeffrey S. Barnes
This document summarizes the town of Hopkinton, Massachusetts' efforts towards sustainability and renewable energy adoption. It outlines Hopkinton's history with initiatives like community recycling in the 1970s and becoming a designated Green Community in 2010. It also lists various renewable energy and efficiency projects implemented at municipal buildings. The document discusses key drivers for municipal adoption of sustainability practices including leadership, return on investment, local stakeholders, public involvement, practical opportunities, and remaining focused. It provides recommendations for overcoming common barriers.
This document provides instructions for setting up and using the USB audio function of the Kenwood TS-590S transceiver. It explains how to configure settings on the transceiver and install and configure the ARUA-10 software on a connected computer to enable two-way audio transmission between the transceiver and computer microphones and speakers via a USB connection. The document also outlines some limitations of the USB audio function, such as potential delays, and provides answers to frequently asked questions about installation and operation issues.
Σενάριο Διδασκαλίας στην Νεοελληνική Λογοτεχνία Α΄ Γυμνασίου στην ενότητα Άνθρωπος και φύση, "Τζιτζίκια στήσαν το χορό, Κάτω στης μαργαρίτας τ' αλωνάκι" των Γ. Ρίτσου και Ο. Ελύτη.
Lors de la Chaire Quetelet 2015, qui avait pour thème « la démographie locale », l’Institut Bruxellois de Statistique et d’Analyse a présenté l’exposé suivant : « Capter les disparités territoriales du boom démographique bruxellois : le Monitoring des Quartiers, un outil interactif d’aide à la décision. »
Intervenants : Carole THAYS et Jean-Pierre HERMIA
Tijdens de CHAIRE QUETELET 2015 over de lokale demografie, heeft het Brusselse Instituut voor Statistiek en Analyse de volgende presentatie: “De territoriale verschillen van de Brusselse demografische boom begrijpen: de Wijkmonitoring, een interactieve beslissingsondersteunende tool” voorgesteld.
Sprekers : Carole THAYS en Jean-Pierre HERMIA
Este documento describe los pasos para acceder a la base de datos ISIWeb Knowledge a través de la biblioteca de la Universidad de Sevilla y buscar información sobre revistas de ortopedia en el Journal Citation Reports (JCR) de 2014. Se selecciona la categoría de ortopedia y los resultados se ordenan por número de artículos publicados. La revista con más artículos publicados en 2014 fue JOURNAL OF ARTHROPLASTY con 509, la cual se ubicó en el puesto 13 dentro de su categoría y en el cuartil superior.
The document provides an overview of the historical development of American law, including the establishment of the U.S. Constitution and Bill of Rights. It discusses how the Constitution created a system of checks and balances between the three branches of government to limit any one branch from having too much power. It also summarizes key Supreme Court cases that helped define the powers of each branch.
Este documento resume los tipos de liderazgo y características de dos personajes políticos venezolanos: Lorenzo Mendoza y Nicolás Maduro. Mendoza exhibe un liderazgo democrático descentralizado que busca beneficiar a todos los venezolanos, mientras que Maduro tiene un estilo autocrático centralizado que solo favorece a sus simpatizantes.
El documento proporciona instrucciones para realizar una búsqueda en la base de datos Dialnet Plus. Indica que primero se debe definir la estrategia de búsqueda y los términos clave. Luego, se debe ingresar a Dialnet Plus y copiar la estrategia de búsqueda en el buscador, filtrando por texto no completo, años 2010-2019, idioma español y país España. Finalmente, se deben seleccionar dos artículos.
TMPA-2015: Multi-Module Application Tracing in z/OS EnvironmentIosif Itkin
Multi-Module Application Tracing in z/OS Environment
Rostislav Efremov, Saint Petersburg State University, Saint Petersburg
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...Iosif Itkin
Standards and Standartization in Program Engineering. Why Would You Care?
Nikolay Pakulin, ISP RAS, Moscow
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
This document provides a report on branding strategies for Sing2Live (S2L) to build its brand around the concept of "Hope". It recommends targeting youth aged 25 and under, as well as baby boomers, through archetypal marketing and establishing brand authenticity. Specifically, the report suggests S2L identify the role it wants to play for members, develop an effective mission statement, and identify hot buttons to push through repeated messaging on social media and peer-to-peer marketing. Building an authentic brand story and tapping into archetypes like "The Hero" are also recommended to appeal to different generations.
Alcoholism is characterized by physical and psychological dependence on alcohol that causes distress or harm. While many people drink alcohol regularly without negative consequences, around 7% of adults experience alcohol use disorder in a given year. The development of alcoholism involves genetic, developmental, and psychological factors. Alcoholism is also marked by the development of tolerance, meaning more alcohol is needed to feel effects, and withdrawal symptoms when not drinking. While the condition is complex and difficult to understand from the outside, treatment programs can help alcoholics overcome addiction by providing detox support and teaching new life and relapse prevention skills to achieve long-term sobriety.
Jake surprises his wife Catherine by returning home from war earlier than expected. During the night, Jake has a nightmare about his time at war which leaves him sweating and breathing heavily. Catherine comforts him and assures him he is now safe at home. The next morning, Catherine suggests Jake see a therapist to address his nightmares, but Jake wants to wait and see if they stop on their own before seeking medical help.
Municipal Perspectives for Renewable Energy Adoption_BarnesJeffrey S. Barnes
This document summarizes the town of Hopkinton, Massachusetts' efforts towards sustainability and renewable energy adoption. It outlines Hopkinton's history with initiatives like community recycling in the 1970s and becoming a designated Green Community in 2010. It also lists various renewable energy and efficiency projects implemented at municipal buildings. The document discusses key drivers for municipal adoption of sustainability practices including leadership, return on investment, local stakeholders, public involvement, practical opportunities, and remaining focused. It provides recommendations for overcoming common barriers.
This document provides instructions for setting up and using the USB audio function of the Kenwood TS-590S transceiver. It explains how to configure settings on the transceiver and install and configure the ARUA-10 software on a connected computer to enable two-way audio transmission between the transceiver and computer microphones and speakers via a USB connection. The document also outlines some limitations of the USB audio function, such as potential delays, and provides answers to frequently asked questions about installation and operation issues.
Σενάριο Διδασκαλίας στην Νεοελληνική Λογοτεχνία Α΄ Γυμνασίου στην ενότητα Άνθρωπος και φύση, "Τζιτζίκια στήσαν το χορό, Κάτω στης μαργαρίτας τ' αλωνάκι" των Γ. Ρίτσου και Ο. Ελύτη.
Lors de la Chaire Quetelet 2015, qui avait pour thème « la démographie locale », l’Institut Bruxellois de Statistique et d’Analyse a présenté l’exposé suivant : « Capter les disparités territoriales du boom démographique bruxellois : le Monitoring des Quartiers, un outil interactif d’aide à la décision. »
Intervenants : Carole THAYS et Jean-Pierre HERMIA
Tijdens de CHAIRE QUETELET 2015 over de lokale demografie, heeft het Brusselse Instituut voor Statistiek en Analyse de volgende presentatie: “De territoriale verschillen van de Brusselse demografische boom begrijpen: de Wijkmonitoring, een interactieve beslissingsondersteunende tool” voorgesteld.
Sprekers : Carole THAYS en Jean-Pierre HERMIA
Este documento describe los pasos para acceder a la base de datos ISIWeb Knowledge a través de la biblioteca de la Universidad de Sevilla y buscar información sobre revistas de ortopedia en el Journal Citation Reports (JCR) de 2014. Se selecciona la categoría de ortopedia y los resultados se ordenan por número de artículos publicados. La revista con más artículos publicados en 2014 fue JOURNAL OF ARTHROPLASTY con 509, la cual se ubicó en el puesto 13 dentro de su categoría y en el cuartil superior.
The document provides an overview of the historical development of American law, including the establishment of the U.S. Constitution and Bill of Rights. It discusses how the Constitution created a system of checks and balances between the three branches of government to limit any one branch from having too much power. It also summarizes key Supreme Court cases that helped define the powers of each branch.
Este documento resume los tipos de liderazgo y características de dos personajes políticos venezolanos: Lorenzo Mendoza y Nicolás Maduro. Mendoza exhibe un liderazgo democrático descentralizado que busca beneficiar a todos los venezolanos, mientras que Maduro tiene un estilo autocrático centralizado que solo favorece a sus simpatizantes.
El documento proporciona instrucciones para realizar una búsqueda en la base de datos Dialnet Plus. Indica que primero se debe definir la estrategia de búsqueda y los términos clave. Luego, se debe ingresar a Dialnet Plus y copiar la estrategia de búsqueda en el buscador, filtrando por texto no completo, años 2010-2019, idioma español y país España. Finalmente, se deben seleccionar dos artículos.
Presentacion fundamentos del derecho empresarial fuentes y fundamentos del ...ACRF15
Este documento presenta los fundamentos del derecho empresarial según tres estudiantes. Orianna Bracho describe las fuentes del derecho como la costumbre, la ley y la jurisprudencia. Luego, explica que la ley incluye el Código de Comercio y leyes especiales, mientras que la jurisprudencia son las interpretaciones de las leyes dadas por los jueces. María Álvarez y Andrea Rodríguez definen tres fundamentos: la celeridad como la rapidez de los actos comerciales, la seguridad como la confianza en el sistema
Este documento proporciona instrucciones para realizar búsquedas bibliográficas sobre úlceras de pie en personas mayores de 65 años desde 2010 a 2015. Describe los pasos para definir los términos de búsqueda, ejecutar búsquedas en buscadores y descriptores, filtrar los resultados por edad y fecha, seleccionar artículos relevantes y crear alertas para recibir nuevos artículos de manera periódica.
Sanjay Alaham has over 16 years of experience in business development, project management, and sales. He has a track record of successfully driving revenue growth and securing major orders worth millions. Currently he works as a senior management professional promoting customized solar power solutions. Previously he has held roles managing sales, business operations, and project execution for companies in the solar energy and electronics industries. He possesses strong skills in strategic planning, relationship management, contract negotiations, and leading high-performing teams.
Vipin Kumar Verma is seeking a challenging role in supply chain and demand planning. He has over 10 years of experience in supply chain functions like demand planning, material management, and production planning through ERP systems. As Assistant Manager at Timex Group India, he boosted inventory health by 30% and improved on-time delivery to 92% through stock level planning and cyclic corrections based on component lead times. He is proficient in demand and supply analysis, inventory management, supply management, and productivity analysis.
The document discusses the surgical management of peptic ulcers. It outlines the diagnosis of peptic ulcers using tests like upper gastrointestinal studies and endoscopy. Conservative management involves lifestyle changes and medications like antacids, H2 blockers, and PPIs. Surgical options are considered for intractable or life-threatening ulcers and include procedures like Billroth II gastrectomy, gastrojejunostomy, truncal vagotomy and drainage, and highly selective vagotomy. Potential complications of surgical management are also detailed.
TeaVM: dead code elimination and devirtualizationАлексей Андреев
This presentation is in Russian!
TeaVM is a AOT compiler of Java bytecode primarily targetted to JavaScript. This presentation explains technique used by to remove unused code
Как показывает практика, повсеместное применение классического, основанного на callback’ах подхода к асинхронному программированию обычно оказывается неудобным. Для упрощения написания и поддержки сложного асинхронного кода можно использовать иной подход — с использованием сопрограмм. Он значительно сокращает объём и сложность кода, превращая код из асинхронного в синхронный.
Jenkins Imperative Pipeline vs Declarative Pipeline Кирилл Толкачёв
Презентация со встерчи JUG MSK про Groovy DSL
Проводитили сравнение новой фичи Jenkins – Declarative Pipelines путем попытки переписать уже существующий пайплайн по доставке ПО на декларативный. Описали подводные камни и обсудили проблемы.
Видео можно будет найти тут https://vk.com/jugmsk или тут https://plus.google.com/communities/115981831554057619568
Юрий Ефимочев, Компилируемые в реальном времени DSL для С++ Sergey Platonov
В последнее время в промышленной разработке ПО особую популярность обретают Domain-Specific Lanugages (DSL). Они драматически упрощают разработку и дают возможность “программировать” не только программистам, но и пользователям прикладных программ.
В своем докладе я расскажу об опыте использования DSL применительно к С++, причем упор будет сделан на производительность кода DSL, и его мгновенную “встраиваемость” в запущенную программу путем компиляции DSL-кода в нативный код с помощью инструментария LLVM.
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишковcorehard_by
Вот уже более двух лет мы создаём онлайн-специализацию по С++ на платформе Coursera. Её цель — обучить языку C++ с нуля до уровня, достаточного для решения практических задач, с которыми приходилось сталкиваться авторам в своей практике. В своём докладе я расскажу, как мы создаём наши онлайн-курсы, и уделю особое внимание техническим проблемам, которые нам пришлось решить в процессе создания автоматической системы проверки программ студентов.
Подробная статья по докладу: https://habrahabr.ru/company/mobileup/blog/314838/
Team Lead MobileUp Константин Цховребов выступил в Новосибирске на IT-конференций DevFest.
Поделиться азами гибкой простой и функциональной навигации по экранам при использовании MVP в Android. Рассказал, как сделать код навигации чистым и lifecycle-безопасным, а любую, даже самую навороченную цепочку переходов по экранам – делом пары строк.
разработка серверов и серверных приложений лекция №2etyumentcev
Причины потерь процессорного времени при организации последовательности вычислений внутри потока: 1. Ожидание ответа на запрос (поток спит). 2. Выполнение дополнительных "лишних" действий. Как способ устранения этих потерь - паттерн Пул потоков. Анализ императивного и функционального подхода к борьбе с "жадными" операциями. Эволюция методов организации параллельных вычислений на основе пула потоков.
Причины потерь процессорного времени при организации последовательности вычислений внутри потока: 1. Ожидание ответа на запрос (поток спит). 2. Выполнение дополнительных "лишних" действий. Как способ устранения этих потерь - паттерн Пул потоков. Анализ императивного и функционального подхода к борьбе с "жадными" операциями. Эволюция методов организации параллельных вычислений на основе пула потоков.
В любой программе разработчики сталкиваются с необходимостью обработки ошибок. Основной механизм работы с ошибками в .NET Framework — это исключения. Мы поговорим о преимуществах и недостатках их использования. Вы узнаете, используются ли исключения для обработки ошибок в программном обеспечении марсохода NASA, а также о том, какие способы обработки исключений имеются в нашем распоряжении. Также обсудим, можно ли не использовать исключения для обработки ошибочных ситуаций. Приходите, будет интересно.
Moscow .Net Meetup #3
13 октября 2016
Григорий Демченко — Асинхронное программирование и сопрограммыYandex
Как показывает практика, повсеместное применение классического, основанного на callback’ах подхода к асинхронному программированию обычно оказывается неудобным. Для упрощения написания и поддержки сложного асинхронного кода можно использовать иной подход — с использованием сопрограмм. Он значительно сокращает объём и сложность кода, а также существенно упрощает реализацию нетривиальных сценариев, связанных с отменой вычислений и таймаутами операций.
Similar to тихонов кв работа с прерываниями в микроконтроллерах в 21 веке (20)
2. Структура доклада
Главные проблемы
Уровень представления прерывания
(interrupt managers)
Уровень объектов, имеющих в себе методы,
являющиеся прерываниями.
Сам пример
Плюсы и минусы
3. Главные проблемы:
Вектор прерывания стандартно не
масштабируем
Вектор прерывания один, объектов много
В вектор прерывания нельзя передать
параметр, функция реализующая
прерывание узнает все из глобальных
переменных.
4. Стандартный подход
void __attribute__ ((weak, alias ("Default_Handler")))
TIM2_IRQHandler(void);
extern "C" void TIM2_IRQHandler(void) {
Led1Up();
FlagLed=1;
}
void Led1Up(void)
{
Bla bla bla
}
5. ● Плюсы
Быстро
● Минусы
Нельзя менять на ходу
Никакая инкапсуляция
нужная глобальная переменная
при нескольких источниках прерывания по
одному вектору, нужно проверять все
7. Он же в статическом классе
class InterruptManager {
private:
static pHandlerPointer_t volatile IsrVectors[81];
public:
static void DefaultHandler(void) {asm volatile("nop"::);};
static void AddHandler(pHandlerPointer_t handler, IRQn_Type irq)
{IsrVectors[irq] = handler;};
static void RemoveHanlder(IRQn_Type irq) {IsrVectors[irq] =
DefaultHandler;};
static void Raise(IRQn_Type irq) {IsrVectors[irq]();};
};
InterruptManager::AddHandler(MyFuncton,TIM2_IRQHandler);
8. ● Плюсы
Можем менять на ходу.
● Минусы
Нельзя указать вектором прерывания ничего
кроме void*.
Все еще требуются глобальные
переменные.
9. Смещение таблицы прерываний в
оперативную память
void remap_vector_table (void)
{
if (SCB->VTOR)return;
memcpy ((void*) IsrVectors, (void*) SCB->VTOR, sizeof IsrVectors);
__disable_irq();
SCB->VTOR = (uint32_t) (IsrVectors);
__DSB ();
__enable_irq();
__ISB();
}
10. ● Плюсы
То же самое, что и предыдущий метод, но
указатель на функцию это и есть вектор, что
убирает косвенный вызов.
● Минусы
Нельзя указать вектором прерывания ничего
кроме void*.
Применимо только в Cortex M3,M4,M7,M0+
Все еще требуются глобальные
переменные.
12. ● Плюсы
Можно вызывать все что угодно функции с
параметрами,лямбды ,методы у классов.
и.т.п.
std::function<void()> Display42OnLCD = []() { lcd.write(42,4); };
std::function<void()> Testfunctor = [&]() { this->testmethod(); };
InterruptManager::AddHandler(Display42OnLCD,TIM2_IRQn);
InterruptManager::AddHandler(Testfunctor,TIM3_IRQn);
Теперь не нужны глобальные переменные
14. Пойдем на уровень выше
Не хотим решать проблему наличия
глобальных переменных на столь низком
уровне проектирования.
Считаем, что interruptManager уже
реализован.
15. Статический метод класса и
статическая переменная
возвращающая thisclass Clock
{
public:
Clock():pThis(this){}
static void StaticIrq(void) {pThis->Irq();}
void SetActiveIrq(void) {pThis=this;}
private:
void Irq(void);
static Clock *pThis;
}
InterruptManager::AddHandler(Clock::StaticIrq,TIM3_IRQn);
16. ● Плюсы
Мы избавились от глобальных переменных,
без std::function
Можно указывать какой класс сейчас
активен и примет сейчас управление
прерывания.
Минусы
Добавляем косвенный вызов
18. class InterruptSubject{
public:
InterruptSubject(){}
void IrqHandle(){
for(size_t i = 0; i < MAX_INTERRUPTS; i++){
if(ArrayOfInterruptClasses[i]!=NULL)
ArrayOfInterruptClasses[i]->interruptHandle();
};}
void SetInterrupt(Interruptable * pInterrupt);
void RemoveInterrupt(Interruptable * pInterrupt);
private:
Interruptable* ArrayOfInterruptClasses[MAX_INTERRUPTS];
};
19. ● Плюсы
Масштабируемо
Гибко
● Минусы
При системе один экземпляра класса
InterruptSubject на один вектор прерывания,
невозможно сделать IrqHandle статическим,
что позволяет использовать его только с
массивом std::function
21. ● Плюсы
Все то же самое, что и стандартный
observer, но у каждого прерывания
находится свой статический массив
указателей на функции, что позволило
сделать методы вызова прерывания
статическим (можно менять на лету в
оперативной памяти)
● Минусы
НЕТ :)
22. Осталось за кадром
● Mbed interrupt manager
(синглтон с самодельным связным списком
который хранит и указатели void* и указатель
на обьект, если это метод объекта)
● Статья с Embedded.com
Interrupts in C++
Arduino TimerOne lib
TimerOne Timer1; глобальный таймер
ISR(TIMER1_OVF_vect) {Timer1.isrCallback();}) стандартный подход