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

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

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


Freestyler
********

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


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



Рейтинг: 4362




наверное проверять id экрана через UIS_GetActiveDialogType
если я правильно понял .. и ещё есть главный экран
EV_IDLE_GAIN_FOCUS и IdleHandleLoseFocus
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
vova7890
сообщение 10.11.2010, 18:57


Новичок
*

Группа: Начинающие
Сообщений: 2
Регистрация: 7.11.2010
Пользователь №: 221 169
Модель телефона: S75
Прошивка: 52

Рейтинг: 0



У кого есть срез свна? Чето он вечно недоступен, скинте пожалуста.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Fenja
сообщение 10.11.2010, 19:11


Авторитет
********

Группа: Модераторы
Сообщений: 5 564
Регистрация: 25.8.2008
Из: г. Пенза
Пользователь №: 179 851
Модель телефона: MotoRazr v3i
Прошивка: MotoUpdate v1.1

Рейтинг: 1756



Цитата(vova7890 @ Сегодня, 21:57)

У кого есть срез свна?
*


Что именно отттуда нужно? У меня часть есть.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
vova7890
сообщение 10.11.2010, 21:18


Новичок
*

Группа: Начинающие
Сообщений: 2
Регистрация: 7.11.2010
Пользователь №: 221 169
Модель телефона: S75
Прошивка: 52

Рейтинг: 0



Цитата(Fenja @ 10.11.2010, 21:11) *

Цитата(vova7890 @ Сегодня, 21:57)

У кого есть срез свна?
*


Что именно отттуда нужно? У меня часть есть.



давай все шо есть crazy.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
tim apple
сообщение 30.11.2010, 11:38


Мастер
****

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

Рейтинг: 403



Цитата(Andy51 @ 7.11.2010, 2:16)

Кто-нибудь сталкивался с проблемой свёртыванмя эльфа при появлении заставки, приходе смс, будильнике, входящем звонке? Есть у кого-нибудь рабочее решение, как это обнаруживать?
*




при сворачивании апп вызывается exit-функция с флагом EXIT_STATE_SUSPEND.
использовано в игре Lines - корректно уходит в паузу при входящих. на включение заставки не проверял - но по идее тоже самое.

Сообщение отредактировал tim apple - 30.11.2010, 11:38
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 30.11.2010, 12:14


0xFFFF
******

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

Рейтинг: 1224



tim apple, да я уже вроде разобрался, и там при появлении заставки фокус не отнимается и не вызывается exit-функция, так что надо отдельно ивент ловить похоже. А вот насколько это будет работать - поймём после теста очередной версии UGH.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Fenja
сообщение 30.11.2010, 14:41


Авторитет
********

Группа: Модераторы
Сообщений: 5 564
Регистрация: 25.8.2008
Из: г. Пенза
Пользователь №: 179 851
Модель телефона: MotoRazr v3i
Прошивка: MotoUpdate v1.1

Рейтинг: 1756



Цитата(vova7890 @ 11.11.2010, 0:18)

давай все шо есть
*


Я помню я где то обещал выложить, а где не помню smile.gif
В архиве либген, сдк, исходники эльфов, исходники еп2 и постлинкер.
Прикрепленный файл svn.zip   ( 3.29 мегабайт ) Кол-во скачиваний: 150
Прикрепленный файл svn.zip   ( 3.29 мегабайт ) Кол-во скачиваний: 150
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
zeDDer
сообщение 10.1.2011, 14:10


mCore hacker
*****

Группа: Разработчики
Сообщений: 474
Регистрация: 27.6.2007
Из: Беларусь, Слуцк
Пользователь №: 139 587
Модель телефона: V3x
Прошивка: У вас такой нет)
Финалист Конкурса 2010

Рейтинг: 464



Вопрос не совсем по кодингу...
Разбираю параметры ф-ции DL_DbMessageGenericDeleteMessage

Вот что получается:
UINT32 DL_DbMessageGenericDeleteMessage(IFACE_DATA_T *iface_data, MSG_FOLDER_T msg_folder, UINT16 msg_id, UINT8 unk1, UINT8 unk2);

В прошивке unk2 постоянно равен 3. А unk1 = 1 или 0 (При том чаще всего 0).
Очень похоже на то, что unk1 - это место хранения сообщения (телефон - 0, сим - 1).
А про unk2 могу только догадки строить что это "тип сообщения", т.е. SMS, MMS, EMAIL возможно ещё что-то. Возможно что unk=3 говорит о том что это "любой тип". Т.е. не важно что это, смс, ммс или ещё чего.

Кто ковырял данную ф-цию, что это за параметры?
PS хочу написать эльф который заказывал Osta smile.gif Задолбали смс о балансе и говно всякое от оператора...

Сообщение отредактировал zeDDer - 10.1.2011, 14:14
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 10.1.2011, 14:42


0xFFFF
******

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

Рейтинг: 1224



Цитата(zeDDer @ Сегодня, 17:05)

Очень похоже на то, что unk1 - это место хранения сообщения (телефон - 0, сим - 1).
*


Нет, врядли. Тогда бы значений было бы больше. Это какой-то BOOL. Просто посмотри, что будет работать - то и используй.
Цитата(zeDDer @ Сегодня, 17:05)

А про unk2 могу только догадки строить что это "тип сообщения"
*


А вот это как раз больше похоже на место хранения, и 3 = по умолчанию.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
zeDDer
сообщение 18.1.2011, 11:16


mCore hacker
*****

Группа: Разработчики
Сообщений: 474
Регистрация: 27.6.2007
Из: Беларусь, Слуцк
Пользователь №: 139 587
Модель телефона: V3x
Прошивка: У вас такой нет)
Финалист Конкурса 2010

Рейтинг: 464



Ковырялся в прошивке и кое что нарыл.
Из SDK mem.h:

// Получше чем su*Mem (но медленный)
// Для больших блоков использует su*Mem, для мЕньших - uis*Mem
// Доступно больше памяти
// После выделения еще и сам чистит память, поэтому медленный
// При неудаче нет ребута!
void * device_Alloc_mem( UINT32 count, size_t sz );

Не знаю как на лте, но на mcore ф-ция uisAllocateMemory может выделять большие куски памяти.
На mcore suAllocMem может выделить одним блоком максимум 0x12DC0 байт памяти, а вот с помощью uisAllocateMemory я смог выделить 0x28500 байт памяти без проблем.

Может это не новость, но всё равно решил поделиться smile.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Учимся писать эльфов вместе, Обсуждение процесса кодинга · Эльфы, их разработка и портирование · Forum
 

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

 



Текстовая версия Сейчас: 28.4.2024, 8:46

Форум живёт: