motofan logo
> 

Учимся писать эльфов вместе, Обсуждение процесса кодинга

Andy51
сообщение 29.10.2007, 20:13


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255
Модель телефона: E398, Milestone 2
Прошивка: 49R w/ElfPack2


Настроение:
^^,



Рейтинг: 1224



Вот и долгожданное обновление SDK до v0.2

Основные новшества с прошлой версии:
+ Добавлено множество функций в SDK
+ Добавлено два новых примера - на этот раз GUI

Что внутри:
Папка SDK - ну, и так ясно, заголовочные файлы. За описаниями функций заглядываем в эту папку.

helloworld_snd - первый пример эльфа. Несколько нестандартный HelloWorld, заменяет озвучку цифровой клавиатуры системными звуками. Предназначен в основном для изучения структуры приложения (Application), ну и как пример приложения, работающего в фоне.

helloworld_gui - классический HelloWorld эльф, на этот раз с использованием GUI. Выводит сообщение с помощью диалога Notice. Предназначен для изучения структуры простейшего GUI-приложения.

ListTest - пример использования диалога List. Значительно более сложный пример, предназначен для изучения возможностей и принципов управления диалогами.

make_*.bat - батники для сборки эльфов-примеров. Эльфы расчитаны на компиляцию с комплектом ADS. Из-за правил форума, я не могу включить его в SDK, однако оставляю ссылки
http://ifolder.ru/3937671
http://slil.ru/25060171
http://rapidshare.com/files/67580866/ads.7z.html

Lib.o - для функционирования эльфа под моим загрузчиком, необходимо подлинковать этот файл к проекту (в make.bat уже прописан).
Внимание! Этот файл не зависит от конкретной версии прошивки, под которую собирается эльф, но, тем не менее, зависит от версии библиотеки!
В этом SDK уже включен Lib.o для библиотеки v071218 (оч. старый - не забудьте обновить, если понадобятся новые функции)

Пара слов об т.н. Application.
В телефонах motorola есть система AFW, которая позволяет, не затрачивая лишних ресурсов процессора на обеспечение "полноценной" многозадачности, достаточно полноценно работать нескольким приложениям, ориентированным на диалог с пользователем. Как это работает: приложения представляют собой, фактически, набор обработчиков событий(ивентов, events) + структура данных приложения. Откликаясь на те или иные события, приложения поочерёдно обрабатывают списки накопившихся ивентов. Таким образом, мы фактически имеем невытесняющую многозадачность.
Есть теоретическая возможность писать и эльфы, выделенные в отдельный процесс(task), но эта часть всё ещё в разработке.

Книги по Си
  1. Руководство полного идиота по программированию (на языке Си) - Не смотря на такое название все азы разжёваны. Если вы вообще никогда не видели Си, начните с этой книги
  2. Герберт Шилдт, "Полный справочник по С (4-е издание)"
    Прикрепленный файл Spr_po_C.rar   ( 934.62 килобайт ) Кол-во скачиваний: 1083
  3. "Язык программирования C"
    Прикрепленный файл C_book.zip   ( 220.86 килобайт ) Кол-во скачиваний: 833
Исходники эльфов
  1. SRC by om2804
  2. SRC by G-XaD
SDK
  1. SDK by om2804
  2. SDK by G-XaD
Эльфостроение на motoWiki

Компилятор + исходники от om2804 для EP1 скачать

Сообщение отредактировал om2804 - 3.5.2011, 13:59
Прикрепленный файл SDKv02.rar   ( 24.88 килобайт ) Кол-во скачиваний: 2071
Прикрепленный файл C_book.zip   ( 220.86 килобайт ) Кол-во скачиваний: 833
Прикрепленный файл Spr_po_C.rar   ( 934.62 килобайт ) Кол-во скачиваний: 1083
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить

Сообщений в этой теме
Andy51   Учимся писать эльфов вместе   29.10.2007, 20:13
Nur87   опять я со своим эльфом. (мне надо создать окно с ...   4.8.2008, 18:09
DmT   у тебя тут локальная переменная, а не указатель. ...   4.8.2008, 18:19
Nur87   DmT, спасибо. вот так получилось создать окно с ...   4.8.2008, 19:00
Andy51   Nur87, не уверен, но попробуй многострочный conten...   4.8.2008, 21:28
Nur87   да получилось. сделал вот так WCHAR msg[64...   5.8.2008, 7:13
DmT   Nur87, Ты ленг уже правил?   5.8.2008, 7:28
Osta   01000866 UIS_MakeContentFromString("MCs0Nq1...   5.8.2008, 7:44
Nur87   нет. из-за этого наверное? все руки не доходят ...   5.8.2008, 8:31
DmT   В плагине к тоталкомандеру synplus(lister-плагин)...   5.8.2008, 8:39
Chik_v   А я пользую CodeBlocks IDE. Я его настроил на ра...   5.8.2008, 8:39
Nur87   пробую теперь создать диалог-список RESOURCE_ID ...   5.8.2008, 8:54
Andy51   Nur87, он тебе говорит, что в пятом параметре треб...   5.8.2008, 13:32
Nur87   Andy51, спасибо. почему то ссылка на строку была н...   5.8.2008, 14:24
Osta   это работает ? ведь Экшены вроде 0x0600хххх... ил...   5.8.2008, 14:54
Nur87   Osta, а как проверить? компилится все без ошибок....   5.8.2008, 15:10
Osta   кст это 01CB | Ужин :-) есть где-то такое у тебя...   5.8.2008, 15:22
Nur87   практикуюсь на исходниках ListTest. заменил код: f...   5.8.2008, 15:52
Andy51   Nur87, контент для списка должен быть однострочным   5.8.2008, 18:44
Nur87   т.е. так? UIS_MakeContentFromString( "Cq...   5.8.2008, 19:06
G-XaD   Nur87, под plist память кто будет выделять? p.s. п...   6.8.2008, 6:54
Nur87   вот это имеешь ввиду? plist = (LIST_ENTRY_T*...   6.8.2008, 7:10
G-XaD   А ты уверен, что num никогда не может быть равоым ...   6.8.2008, 8:30
Nur87   G-XaD, вроде нашёл ошибку. у меня объявлено 4 эле...   6.8.2008, 9:04
G-XaD   На сколько я помню ENTRIES_NUM кол-во элементов в ...   6.8.2008, 9:53
Nur87   G-XaD, поправил свой предыдущий пост. опечатка бы...   6.8.2008, 10:25
G-XaD   В примере нажатие кнопки МЕНЮ обработал диалог-спи...   6.8.2008, 10:39
Alesha_Pl   Пожалуйста, помогите разобраться с чтением данных ...   12.9.2008, 7:59
DmT   самый простой вариант BYTE data[SEEM_SIZE]; SEEM_F...   12.9.2008, 8:12
om2804   Зачем читать весь сим, когда нужен один оффсет? ...   12.9.2008, 8:58
Alesha_Pl   Спасибо! Все получилось.   12.9.2008, 9:41
Osta   а нафига мы вводили в либу BEGIN_4A__IN_DB ??? ...   13.9.2008, 9:09
Alesha_Pl   Расскажите тогда принципиальную разницу между испо...   13.9.2008, 9:51
G-XaD   Alesha_Pl, SEEM_ELEMENT_DATA_read - API для рабо...   13.9.2008, 10:19
Alesha_Pl   Снова я. В общем начну по порядку. переделываю я и...   17.9.2008, 8:15
tim apple   а буфер строки кто будет очищать ? UINT8 BT(c...   22.9.2008, 18:12
MIG~   Подскажите пожалуйста имена функций которые отвеча...   22.9.2008, 19:10
Chik_v   Поройся в эльфе Light, и попробуй UIS_SetBacklight...   22.9.2008, 20:03
Campanula   Andy51 What's the ralationship between EVENTs...   5.10.2008, 7:18
Andy51   Event tables, the same as you write in the elfs. S...   6.10.2008, 18:22
Campanula   Event tables, the same as you write in the elfs. ...   7.10.2008, 6:10
Alesha_Pl   Подскажите, пожалуйста, функцию выключения подсвет...   7.10.2008, 10:04
DmT   Alesha_Pl, имхо лучше ивент найти на выключение, ...   7.10.2008, 10:14
Vilko   Alesha_Pl, DAL_DisableDisplay(); DAL_DisplayPanel...   7.10.2008, 11:05
Alesha_Pl   Vilko, DmT, спасибо конечно. DAL_DisableDisplay()...   7.10.2008, 11:32
AKAmasol   Вот что происходит при достижения времени заданног...   11.10.2008, 13:11
Osta   2038 и 1420 - это номера байтов в симе 004а куда ...   12.10.2008, 13:38
AKAmasol   2038 и 1420 - это номера байтов в симе 004а куда ...   13.10.2008, 16:06
Osta   DL_DbFeatureStoreState вместо DL_DbFeatureGetCurr...   13.10.2008, 16:12
AKAmasol   Теперь проблема с компиляцией: нет файлов ChangeRS...   13.10.2008, 16:47
Alesha_Pl   Lib.o создается вместе с эльфлоадер.либ в портк...   14.10.2008, 4:17
Osta   а что это ты написал drop=*BEGIN_4A__IN_DB+5; ...   14.10.2008, 6:57
AKAmasol   drop=*BEGIN_4A__IN_DB+5; DL_DbFeatureStoreSt...   14.10.2008, 7:17
Alesha_Pl   AKAmasol, UINT8 value1; UINT32 drop; drop=*BE...   14.10.2008, 8:13
Osta   в исходнике уже определены эти переменные вверху ...   14.10.2008, 8:20
AKAmasol   Вот так будет работать: if (xqx>=xqsN2 ...   14.10.2008, 9:10
Osta   это вопрос или утверждение ? такие обьявления пи...   14.10.2008, 9:27
AKAmasol   это вопрос или утверждение ? Это был вопрос. Чт...   14.10.2008, 12:14
Osta   внешняя константа (из либы)   14.10.2008, 12:49
tim apple   рекомендую посмотреть эти функции: Informer (с...   15.10.2008, 4:29
Alesha_Pl   Дело в том, что там у Ома сделано в LoadFont() ...   15.10.2008, 7:49
tim apple   Alesha_Pl, вобщем, utility_draw_image в топку - ...   15.10.2008, 12:19
Osta   Как работает в Ostabox (решил объединить свои elf-...   16.10.2008, 7:56
AKAmasol   { 0x822F3, OS7} А ивент выдергивания кабеля како...   16.10.2008, 11:03
Alesha_Pl   tim apple, om2804, давайте попробуем учиться! ...   16.10.2008, 10:17
om2804   Alesha_Pl, n - это номер элемента массива указател...   16.10.2008, 16:01
AKAmasol   Эльф компилится, но выдаёт такую ошибку: line 161:...   16.10.2008, 18:23
Osta   думал , что 0x822F3 + 1 , но он не только на выта...   17.10.2008, 6:56
AKAmasol   может f4 0x822F4? Что кроме вытаскивания шнура н...   17.10.2008, 12:38
AKAmasol   0x822F4, но он не только на вытаскивание шнура ре...   18.10.2008, 10:49
Alesha_Pl   Существует ли функция (и какая), которая возвращае...   18.10.2008, 4:33
IlyaSkriblovsky   1. Может ли фоновый эльф считать данные из текущег...   20.10.2008, 11:23
Osta   да тоесть проблема решена ? я думаю, USSD-запрос...   20.10.2008, 13:01
AKAmasol   У меня только на вытаскивание шнура реагирует (по...   20.10.2008, 13:33
IlyaSkriblovsky   я думаю, USSD-запрос ничем не отличается от набор...   20.10.2008, 14:10
om2804   Про USSD могу пока сказать только название функций...   20.10.2008, 13:59
Osta   IlyaSkriblovsky, жаль , что вы ещё не обладаете з...   20.10.2008, 14:27
om2804   IlyaSkriblovsky, про USSD смотри тут Паттерны и оп...   20.10.2008, 14:29
IlyaSkriblovsky   Класс! И правда жаль что я этой темы раньше н...   20.10.2008, 14:38
Campanula   Can someone help me to find this libgen? UIS_Get...   22.10.2008, 8:02
Osta   ?? To find its address or how it to use?   22.10.2008, 9:01
Campanula   ?? To find its address or how it to use? find it...   22.10.2008, 9:10
Alesha_Pl   Osta, ее нет в сдк, как я понял, и в либгене видим...   22.10.2008, 9:05
Osta   так её и в прошивке нет вроде :-) Добавлено позж...   22.10.2008, 9:13
Campanula   How to find and read in seem?   22.10.2008, 9:20
Alesha_Pl   Campanula, seem 0180; record 0001; offset 0C ty...   22.10.2008, 9:22
rex   А кто нить может показать как зделать скитывания о...   22.10.2008, 15:49
AKAmasol   rex, читай чуть выше своего поста, также смотри на...   22.10.2008, 16:26
tim apple   работаю над эльфом "меню USB". в результ...   23.10.2008, 8:02
Osta   какое состояние должно отслеживатся ? в прошивке ...   23.10.2008, 8:23
tim apple   Osta, сам факт подключения кабеля к телефону (не ...   23.10.2008, 11:23
Osta   ну к примеру есть функция get_connection_status__...   23.10.2008, 11:58
AKAmasol   В массиве Tunes 3.4 определил ивент, на который ср...   23.10.2008, 12:05
Osta   ничего , что мы их не видим в посте ? :-)   23.10.2008, 13:37
AKAmasol   Сам кое-как смог исправить. Вот что получилось: UI...   28.10.2008, 14:04
Osta   проверять нужно.. слово "Detach" на что...   28.10.2008, 14:18
AKAmasol   DCD 0x822F4, ams_AccHandleCableInd+1 Мне надо, ч...   28.10.2008, 14:29
Osta   согласись , что проверить 11 ивентов указанных в ...   28.10.2008, 14:57
Sany_Angel   Скажите прлиз как можно обучится языку програмиров...   28.10.2008, 19:05
Sany_Angel   Хорошо :) буду учить. не мог бы кто нить скинуть...   29.10.2008, 18:44
om2804   Исходников полно здесь, а так же и в других темах....   29.10.2008, 19:14
7 страниц V < 1 2 3 4 > » 

Учимся писать эльфов вместе, Обсуждение процесса кодинга · Эльфы, их разработка и портирование · Forum
 

Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 24.9.2024, 9:00

Форум живёт: