nvoid
Expert
Регистрация: 29.11.07 Сообщений: 1375 Репутация: 380
#1711 [28.12.07, 11:46] Создание Эльфов
Предлагаю создать тему, посвященную созданию Эльфов. Думаю, удобнее будет собрать ссылки, посвященные Эльфам, в одной теме, а не оффтопить в разных...
Список функций находится в файле *.lib.vkp
Ссылки: ∙
Описание некоторых функций в Wiki ∙
Созадние ELF под Siemens ∙
Создание ELF под Siemens (здесь больше) ∙
Урезанная IAR ∙
Патч для IAR ∙
Учебник по СИ ∙
Основы программирования эльфов SVN :
∙
TortoiseSVN (программа для работы с SVN) ∙
svn://svn.boba.su/ARM -
Зеркало (http mirror) Siemens SVN
∙
svn://svn.boba.su/SE -
Зеркало (http mirror) Sony Ericsson SVN
для доступа на svn используйте guest/guest
Другие темы :
Вопросы о СИ (языке) Исходники Эльфов Компиляция ЭП Уроки :
Создание простого эльфа Фонарик от arban.
Создание GUI от arban:
часть 1 ,
часть 2 .
---------------------------------------------
elfcheck - простая прога, которая проверяет, используются ли в эльфах (включая эльфлоадер) функции, которых нет в либе.
simple tool which checks whether there are functions used in elfs (including elfloader) that are not included in library.
Q: How use elfcheck?
Q: Как использовать?
R: Look this page
here saveevents.elf - сохранение евентов (EVENT)
(c)
den_po ---------------------------------------------
Шаблоны эльфов для IAR Некоторые полезные для разработчиков шаблоны эльфов.
На данный момент имеются:
1) Пустой эльф
2) Пустой эльф со своей книгой
3) Эльф-рисовальщик на главном экране
4) Эльф для RegFile (по сути - пустой эльф, но с дополнительными входными параметрами)
5) Эльф с графическим интерфейсом - списком
6) Эльф-патч, который можно конвертировать в *.vkp при помощи elf2vkp
Установка: скопируйте содержимое архива в IAR\ARM\config\template\
Использование: Project->New project->Elf SDK->Нужный шаблон
(C)
UltraShot ---------------------------------------------
Раздел в Wiki, посвященный созданию эльфов
Прикрепленный к сообщению файл: elfcheck.rar (
32.56 kb; 1014 hits)
Скачать файл saveevents.elf (
1.13 kb; 439 hits)
Скачать файл iar_templates.zip (
114.52 kb; 720 hits)
Скачать файл
Motorola EM30
Спасибо сказали: pahon, Zormax, scorpion1616, Evil-Racer, Alex_E, avens, DuMOHsmol, TahaSpawn, vodoo999, Alex1992, ELECTRO-NIC, JohnNorth, HotRabbit, ENSAIER, Olegat0r, scorpion16_Richi, Oganyan-Arthur, Melodic_Death, toha257, farid, mugen, VovanLS, blacklizard, ZuZiK aka pavelsh, Metaler, Atreyu, Nook, Vov4ик, KnoonK, a6b6
Pavlus
Опытный
Регистрация: 23.12.08 Сообщений: 223 Репутация: 174 Откуда: Украина.Сумы.Конотоп
#1712 [10.04.11, 14:56] Re: Создание Эльфов
Joker XT , а MMIPROC - с высоким приоритетом?
Joker XT
VIP Developer
Регистрация: 5.8.06 Сообщений: 1292 Репутация: 7582
#1713 [10.04.11, 15:18] Re: Создание Эльфов
вроде, не помню)
SE C901 [R1GA028]
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
#1714 [10.04.11, 19:05] Re: Создание Эльфов
Pavlus пишет:Joker XT , а MMIPROC - с высоким приоритетом?
MMI - это тот процесс, в котором живут все эльфы (кроме тех, что создают свои процессы) и вся телефонная гуйня. MMIPROC нужно, чтоб из других процессов вызывать функции в контексте процесса MMI.
promt is better than google translate
Спасибо сказали: toha257, Pavlus
Pavlus
Опытный
Регистрация: 23.12.08 Сообщений: 223 Репутация: 174 Откуда: Украина.Сумы.Конотоп
#1715 [11.04.11, 00:09] Re: Создание Эльфов
Тоесть, если я создал свой процесс, то, чтоб из него обратиться к другим функциям нужно использовать MMIPROC?
traduz
Вникающий
Регистрация: 30.5.10 Сообщений: 26 Репутация: 148
#1716 [11.04.11, 00:39] Re: Создание Эльфов
How can i know the area in X occupied by text according to font size and text length?
Maybe using TUILineInfo ? If yes how to?
Ok so i decided to try using CoCreateInstance but pRichTextLayout->GetNumberOfLines(&numberlines); is returning 0 for me. What am i doing wrong?
Код:
int getLineEndX(wchar_t* text, int x1, int y1, int x2, int y2) { int msgSize = wstrlen(text); int lineWidth = x2-x1; TEXTID drawText = TextID_Create(text, ENC_UCS2 , msgSize); ITextRenderingManager* pTextRenderingManager=0; ITextRenderingFactory* pTextRenderingFactory=0; IRichTextLayout* pRichTextLayout=0; TUILayoutInfo* layoutInfo=0; IRichText* pTextObject=0; IUnknown* pGC =0; CoCreateInstance(&CID_CTextRenderingManager,&IID_ITextRenderingManager,PPINTERFACE(&pTextRenderingManager)); pTextRenderingManager->GetTextRenderingFactory(&pTextRenderingFactory); pTextRenderingFactory->CreateRichText(&pTextObject); pTextRenderingFactory->CreateRichTextLayout(pTextObject,0,0,&pRichTextLayout); TextObject_SetText(pTextObject,drawText); TextObject_SetFont(pTextObject,pFont,0x8000000A,0x7FFFFFF5); pTextObject->SetAlignment(UIText_alignLeft,0x8000000A,0x7FFFFFF5); pRichTextLayout->Compose(lineWidth); DisplayGC_AddRef(get_DisplayGC(),&pGC); long numberlines = 0; int saida = -1; saida = pRichTextLayout->GetNumberOfLines(&numberlines); printFloat(numberlines); printInt(saida); if (pTextRenderingManager) pTextRenderingManager->Release(); if (pTextRenderingFactory) pTextRenderingFactory->Release(); if (pRichTextLayout) pRichTextLayout->Release(); if (pTextObject) pTextObject->Release(); if (pGC) pGC->Release(); TextID_Destroy( drawText ); return 1; }
pavelsh
Expert
Регистрация: 1.3.09 Сообщений: 195 Репутация: 542 Откуда: Ижевск
#1717 [11.04.11, 07:43] Re: Создание Эльфов
Не подскажете, существуют ли функции для: - Воспроизведения звукового файла, начиная с указанного времени - Остановки воспроизведения на определенном времени - Перевода строки в int И еще, пожалуйста, расскажите поподробнее о работе с текстовыми файлами
T700 R3EG004
D3mon
Developer
Регистрация: 23.2.08 Сообщений: 1141 Репутация: 10348 Откуда: Краснодар
#1718 [11.04.11, 08:39] Re: Создание Эльфов
pavelsh , писал:
- Перевода строки в int
вот:
29B: int wtoi( const wchar_t* wstr, int len, int* dest )
wchar_t* wstr - строка
len - её длина
dest - результат
Sony Xperia XZ3 GreenSony Xperia Z3 Compact Orange W995i SW-R1GA026 :(
pavelsh
Expert
Регистрация: 1.3.09 Сообщений: 195 Репутация: 542 Откуда: Ижевск
#1719 [11.04.11, 09:19] Re: Создание Эльфов
D3mon , а если строка, которую надо перевести в int не имеет определенной длины? Добавлено 11.4.11 09:21 Хочу попробовать сделать проигрыватель cue-файлов) Добавлено 11.4.11 09:34 Да и как из файла выделить строку, а из нее, в свою очередь, кусок, ограниченный определенными символами?
T700 R3EG004
Pavlus
Опытный
Регистрация: 23.12.08 Сообщений: 223 Репутация: 174 Откуда: Украина.Сумы.Конотоп
#1720 [11.04.11, 09:51] Re: Создание Эльфов
pavelsh , можешь попробовать sscanf, или как там его, задаешь маску "©%s©" и получишь текст между двумя ©,
Ещё можно использовать регулярные выражения, например "%s[0-9]" можно читать строку пока не встретится цифра.
http://supertrubka.org/wiki/doku.php?id=elflib:functions:swscanf для sscanf, по идее, аналогично.
[ Редактировано Pavlus в 11.4.11 09:01 ]
Добавлено 11.4.11 09:04 pavelsh пишет:D3mon , а если строка, которую надо перевести в int не имеет определенной длины?
Используются строки в си-стиле, они заканчиваются \0, поэтому их длинну можно посчитать.
pavelsh
Expert
Регистрация: 1.3.09 Сообщений: 195 Репутация: 542 Откуда: Ижевск
#1721 [11.04.11, 10:12] Re: Создание Эльфов
Нужно из такой строки
Код:
01. Grand National - Talk Amongst Yourselves 10:22
вычленить порядковый номер с названием и минуты/секунды отдельно.
T700 R3EG004
Похожие темы
Вы не можете начинать темы. Вы не можете редактировать свои сообщения. Вы не можете создавать опросы. Вы не можете вкладывать файлы в сообщения. Вы не можете отвечать на сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать.