#include "..\\include\Lib_Clara.h" #include "..\\include\Dir.h" u16 timer; // ID таймера
int lamp=0; // текущая яркость лампы
BOOK * HWBook;
int TerminateElf(void * ,BOOK* book)
{
FreeBook(book);
return(1);
}
typedef struct
{
BOOK * book;
}MSG;
int ShowAuthorInfo(void *mess ,BOOK* book)//Что будет показывать при нажатии автор в BookMan
{
MSG * msg = (MSG*)mess;
MessageBox(0x6fFFFFFF,STR("Hello Wordl!\n\nExample elf.."),0, 1 ,5000,msg->book);
return(1);
}
const PAGE_MSG HW_PageEvents[]@ "DYN_PAGE" ={
ELF_TERMINATE_EVENT , TerminateElf,
ELF_SHOW_INFO_EVENT , ShowAuthorInfo,
0,0
};
PAGE_DESC base_page ={"HW_BasePage",0,HW_PageEvents};
void elf_exit(void)
{
kill_data(&ELF_BEGIN, (void(*)(void*))mfree_adr());
}
void onTimer (u16 * unk , void * data)//Обьявляем таймер
{
{
// перезапускаем таймер
Timer_ReSet(&timer,500,onTimer,0);
// переключаем лампу
SetLampLevel(lamp^=0x10);//Уровень яркости.Для 2020 нужно писать SetLampLevel(lamp^=1)
}
}
void onCloseHWBook(BOOK * book)//Выключение эльфа
{
if (book)
{
Timer_Kill(&timer);
StatusIndication_ShowNotes(0x6FFFFFFF);
SetLampLevel(0);
SUBPROC(elf_exit);
}
}
BOOK * CreateHWBook()
{
HWBook= new BOOK;
CreateBook(HWBook,onCloseHWBook,&base_page,"Example",-1,0);
return(HWBook);
}
int main (void)//Запуск
{
CreateHWBook();
// выводим текст в "заметки" на StandBy
StatusIndication_ShowNotes(STR("Hello World!"));
// запускаем таймер на 0.5 сек.
timer=Timer_Set(500,onTimer,0);
return(0);
}