motofan logo
61 страниц V « < 56 57 58 59 60 > »         
> 

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

Andy51
сообщение 29.10.2007, 20:13 Закрепленное сообщение!


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255

Рейтинг: 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 килобайт ) Кол-во скачиваний: 1081
  3. "Язык программирования C"
    Прикрепленный файл C_book.zip   ( 220.86 килобайт ) Кол-во скачиваний: 828
Исходники эльфов
  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 килобайт ) Кол-во скачиваний: 2058
Прикрепленный файл C_book.zip   ( 220.86 килобайт ) Кол-во скачиваний: 828
Прикрепленный файл Spr_po_C.rar   ( 934.62 килобайт ) Кол-во скачиваний: 1081
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
CrayZor
сообщение 29.6.2010, 16:15


Мастер
****

Группа: Пользователи
Сообщений: 166
Регистрация: 22.3.2008
Пользователь №: 167 295
Модель телефона: E398, ROKR E1, X2, G100
Прошивка: In development

Рейтинг: 54



UIS_DIALOG_T UIS_CreateColorCanvasWithWallpaper ( SU_PORT_T *port, // это что такое
DRAWING_BUFFER_T * drawing_buffer, // что писат тут
BOOL use_status_line_area, // выводит статус строку
BOOL wallpaper_flag ); // выводит бекграунд...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DarkCoder
сообщение 29.6.2010, 18:50


Интересующийся
**

Группа: Пользователи
Сообщений: 70
Регистрация: 26.9.2009
Пользователь №: 206 965
Модель телефона: Motorola V3i

Рейтинг: 34.5



Цитата(CrayZor @ Сегодня, 20:15)

SU_PORT_T *port, // это что такое
*



port добывается из app smile.gif например:
Код
UINT32 MainStateEnter( EVENT_STACK_T *ev_st,  APPLICATION_T *app, ENTER_STATE_TYPE_T type )
{
SU_PORT_T               port = app->port;


Потом в вызове функции пишешь
Код

UIS_CreateColorCanvasWithWallpaper (&port . . . . . .


Цитата(CrayZor @ Сегодня, 20:15)

DRAWING_BUFFER_T * drawing_buffer, // что писат тут
*



заводишь глобальную переменную например так:
Код

DRAWING_BUFFER_T bdraw;

.

//потом в вызове функции пишешь

UIS_CreateColorCanvasWithWallpaper (&port, &bdraw ...


Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Cool-T
сообщение 29.7.2010, 16:54


Интересующийся
**

Группа: Разработчики
Сообщений: 86
Регистрация: 29.10.2008
Пользователь №: 184 843
Модель телефона: L7e, V3i
Прошивка: 0AR, 03R

Рейтинг: 200



Доброго времени суток.
Вот телефоне есть такая менюшка: Меню > Параметры > Средства Java > Switching to debug
Как можно реализовать на эльфе переключение в этой менюшке с пункта "Выкл." на пункт "File" и наоборот?
Эмуляция нажатий клавиш не подходит потому, что не у всех однаковое меню.

Сообщение отредактировал Cool-T - 29.7.2010, 17:08
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 29.7.2010, 17:33


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Цитата(Cool-T @ Сегодня, 19:54)

Средства Java > Switching to debug
*


ищи ивент и вызывай его , а далее у всех одинаково поэтому эмуляцией
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Cool-T
сообщение 29.7.2010, 18:05


Интересующийся
**

Группа: Разработчики
Сообщений: 86
Регистрация: 29.10.2008
Пользователь №: 184 843
Модель телефона: L7e, V3i
Прошивка: 0AR, 03R

Рейтинг: 200



Узнать ивент меню "Switching to debug" не получается. Метку он на себя поставить не даёт. А EventsLog не выдаёт ивента, по которому открывается этот пункт меню.

Вот лог EventsLog:
Spoiler:

Code keyPress=61 // Это я вошёл в меню "Switching to debug"
0x19
0x8205a att_size=8 b
0x19
0x8205a att_size=8 b
0x19
0x1f5 att_size=3 b
0x19
0x8205a att_size=8 b
0x19
0x8205a att_size=8 b
0x19
0x8205a att_size=8 b
0x19
0x8205a att_size=8 b
0x19
0x8205a att_size=8 b
0x19
0x8205a att_size=8 b
0x19
0x1f4 att_size=3 b
Code keyPress=61 // Это я выбрал пункт меню None
0x8259c att_size=212 b
0x1e
0x15
0x14
0x19
0x8205a att_size=8 b
0x19
0x8205a att_size=8 b
0x19
0x1f5 att_size=3 b
0x19
0x8205a att_size=8 b
0x19
0x8205a att_size=8 b
0x19
0x8205a att_size=8 b
0x19
0x8205a att_size=8 b
0x19
0x8205a att_size=8 b
0x19
0x8205a att_size=8 b
0x19
0x1f4 att_size=3 b
Code keyPress=10
[close]


PS: А на всех ли моторах "Switching to debug" третий сверху?

Сообщение отредактировал Cool-T - 29.7.2010, 18:17
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
CarbonZyn
сообщение 29.7.2010, 19:45


Гуру
******

Группа: Пользователи
Сообщений: 849
Регистрация: 20.3.2008
Из: Саратов -63
Пользователь №: 167 051
Модель телефона: L7; Е398
Прошивка: Zver 1.4 and DaR 2.х


Настроение:
Все бодрячком=)))



Рейтинг: 281



Cool-T, smile.gif в л7 точно как у тебя))
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 29.7.2010, 19:48


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Цитата(Cool-T @ Сегодня, 21:05)

А на всех ли моторах "Switching to debug" третий сверху?
*


если включена Загрузка Java , то ДА


Цитата(Cool-T @ Сегодня, 21:05)

Узнать ивент меню "Switching to debug" не получается
*


а Средства Java ?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Cool-T
сообщение 30.7.2010, 7:15


Интересующийся
**

Группа: Разработчики
Сообщений: 86
Регистрация: 29.10.2008
Пользователь №: 184 843
Модель телефона: L7e, V3i
Прошивка: 0AR, 03R

Рейтинг: 200



Цитата
а Средства Java ?


У средств определяется без проблем.

Сообщение отредактировал Cool-T - 30.7.2010, 7:17
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
tim apple
сообщение 30.7.2010, 7:19


Мастер
****

Группа: Разработчики
Сообщений: 260
Регистрация: 13.7.2007
Из: РФ, Башкирия, Стерлитамак
Пользователь №: 141 375
Модель телефона: ---
Прошивка: ---

Рейтинг: 403



имхо, нужно посмотреть в коде, что происходит при изменении этого параметра. может оказаться, что проще будет повторить его в эльфе (запись в DbFeatures или в сим, к примеру).
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 21.8.2010, 12:11


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255

Рейтинг: 1224



Скелетное приложение, использующее таски и драйвер, которое недавно сделал для себя. Оно ничего не рисует, но тем не менее подготавливает графическую среду - на его основе делается UGH. Полагаю, основной интерес будут представлять исходники app.c и main.c

UPD: исходник с ошибкой был.

Сообщение отредактировал Andy51 - 21.8.2010, 12:26
Прикрепленный файл Dummy.rar   ( 12.22 килобайт ) Кол-во скачиваний: 112
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Учимся писать эльфов вместе, Обсуждение процесса кодинга · Эльфы, их разработка и портирование · Forum
 

61 страниц V « < 56 57 58 59 60 > » 
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 13.6.2024, 11:36

Форум живёт: