motofan logo
16 страниц V « < 11 12 13 14 > »         
> 

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

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


mCore hacker
*****

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

Рейтинг: 500



Может кто использовал ф-ции
/* Change the current state of preservation of the current state of applications (stacked) */
UINT32 APP_UtilHistSaveAndChangeState( void *data, EVENT_STACK_T *ev_st, void *app, UINT8 new_state ); //data - unknown

/* Revert to the previous state, saved APP_UtilHistSaveAndChangeState function */
UINT32 APP_UtilHistGoToPrevState( void *data, EVENT_STACK_T *ev_st, void *app );

Что передавать первым параметром?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fkcoder
сообщение 13.11.2009, 14:35


Eve
******

Группа: Разработчики
Сообщений: 1 014
Регистрация: 31.1.2006
Из: Новокузнецк
Пользователь №: 68 287
Модель телефона: L9 ATRIX 4G iPhone SE E1

Рейтинг: 650



zeDDer, это указатель на UINT8, которое при вызове APP_UtilHistSaveAndChangeState сохраняется , а при вызове APP_UtilHistGoToPrevState обратно восстанавливается. Вообщем нужно для хранения каких то небольших данных

Сообщение отредактировал lavmen - 13.11.2009, 15:00
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vzhik
сообщение 23.11.2009, 8:35


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

Группа: Пользователи
Сообщений: 31
Регистрация: 19.10.2007
Из: Таганрог
Пользователь №: 151 078
Модель телефона: E1
Прошивка: 49r

Рейтинг: 1



Умные люди, подскажите! Можно ли портировать приложения которые писались на С++ под консоль на эльфы?
Нужно портировать приложения для решения матриц!

Сообщение отредактировал Vzhik - 23.11.2009, 8:37
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
G-XaD
сообщение 23.11.2009, 10:21


Мастер
****

Группа: Разработчики
Сообщений: 171
Регистрация: 6.11.2007
Из: Donetsk City / Ukraine
Пользователь №: 153 083
Модель телефона: E1, k810
Прошивка: r373_g_0e.30.79r

Рейтинг: 323



Vzhik,
Код, который непоредственно решает матрицы портировать легко, возможно что ничего в нем менять не прийдется. А вот пользовательский интерфейс прийдется с нуля писать.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vzhik
сообщение 23.11.2009, 10:57


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

Группа: Пользователи
Сообщений: 31
Регистрация: 19.10.2007
Из: Таганрог
Пользователь №: 151 078
Модель телефона: E1
Прошивка: 49r

Рейтинг: 1



G-XaD, код решения матриц в С++ я могу дать! Кто может помочь разобраться в пользовательском интерфейсе?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 23.11.2009, 17:52


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



Vzhik, делал я решение матриц на эльфе, методом крамера+методом гауса+обратной матрицей...
сложение, умножение, и т.д.
Ввод и вывод очееееень уж неудобный... sad.gif

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


mCore hacker
*****

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

Рейтинг: 500



Возник вопросик по ресурсам:

UINT32 iTunes_EvCdResID = 0x14000076; //iTunes

#define iTunes_NameResID 0x01001bc0 //строка из лэнга
#define iTunes_IcLsResID 0x120007cd //иконка списка
#define iTunes_IconResID 0x120007ce //статическая иконка
#define iTunes_IcAnResID 0x120007cc //анимированная иконка

UINT32 iTunes_Resource[] = { 0x000C0CC0 /*Ивент вызова*/, iTunes_NameResID, 0x01000674, iTunes_IcLsResID, 0x00000000, iTunes_IconResID, iTunes_IcAnResID };
...
DRM_SetResource(iTunes_EvCdResID, iTunes_Resource, sizeof(UINT32) * sizeof( iTunes_Resource :);

Что это за ресурс такой iTunes_EvCdResID? И как мне узнать его для другого пункта меню?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vzhik
сообщение 23.11.2009, 18:11


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

Группа: Пользователи
Сообщений: 31
Регистрация: 19.10.2007
Из: Таганрог
Пользователь №: 151 078
Модель телефона: E1
Прошивка: 49r

Рейтинг: 1



baat, дай плз хоть что есть! Завтра очередная пересдача! Уже задолбался с этим матаном!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Gray One
сообщение 23.11.2009, 18:38


Ветеран
*****

Группа: Пользователи
Сообщений: 593
Регистрация: 12.2.2008
Из: Великий Новгород
Пользователь №: 163 295
Модель телефона: L7e, 5530
Прошивка: OAR, S60v5

Рейтинг: 238



Vzhik,
У меня аналогичная ситуация smile.gif Но у нас учительница добрая, но для сессии эта вещь будет крайне полезна
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vzhik
сообщение 23.11.2009, 19:11


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

Группа: Пользователи
Сообщений: 31
Регистрация: 19.10.2007
Из: Таганрог
Пользователь №: 151 078
Модель телефона: E1
Прошивка: 49r

Рейтинг: 1



Да блин, сдам модуль и буду учиться писать проги для телефона!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 23.11.2009, 21:36


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



Vzhik, Gray One, на эльфах уже нет, удалил за ненадобностью, только на делфе что-то оставалось... могу поделлиться... в асю пишите... если надо...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vzhik
сообщение 23.11.2009, 23:11


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

Группа: Пользователи
Сообщений: 31
Регистрация: 19.10.2007
Из: Таганрог
Пользователь №: 151 078
Модель телефона: E1
Прошивка: 49r

Рейтинг: 1



Уже нет надобности! Нашел на java!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
beelineman
сообщение 30.11.2009, 8:08


Мото-писатель
******

Группа: Почётные мотофаны
Сообщений: 1 070
Регистрация: 22.12.2007
Из: Cити 8184
Пользователь №: 157 925
Модель телефона: Defy+, iPad Mini
Прошивка: CM10, iOS 7
Победитель конкурса 2008


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



Рейтинг: 372



А есть функция, узнающая размер папок? Типа DL_FsGetDirSize(DIR_HANDLE_T handle);
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 30.11.2009, 8:30


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



в принципе ему без разницы папка или файл, лишь бы правильно указал...
но лучше вот так попробуй...
Код
WCHAR* uri; //тут путь
UINT32 size; //тут размер
...
size=DL_FsSGetFileSize(uri,  0);


Сообщение отредактировал baat - 30.11.2009, 8:35
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fkcoder
сообщение 30.11.2009, 12:33


Eve
******

Группа: Разработчики
Сообщений: 1 014
Регистрация: 31.1.2006
Из: Новокузнецк
Пользователь №: 68 287
Модель телефона: L9 ATRIX 4G iPhone SE E1

Рейтинг: 650



Цитата
А есть функция, узнающая размер папок?

Нет

Цитата
в принципе ему без разницы папка или файл

"Ему" есть разница )

Код

UINT32 dirsize(UINT16 index)
{
    FS_SEARCH_HANDLE_T         handle;
    WCHAR                      str[128];
    FS_SEARCH_PARAMS_T        search;
    UINT16                    count=0, i, count2=1;    
    UINT32                    size=0;
    FS_SEARCH_RESULT_T        res;
    
    search.flags = 0xD;
    search.attrib = 0;
    search.mask = 0;
    u_strcpy(str, SKIN_FOLDER);
    u_strcat(str, UIS_GetSkinName(index));
    u_strcat(str, L"/\xFFFE*");
    DL_FsSSearch(search, str, &handle, &count, 0);
    for(i=0; i<count; i++)
    {
        DL_FsSearchResults(handle, i, &count2, &res);
        size = size + DL_FsSGetFileSize(res.name, 0);
    }
    DL_FsSearchClose(handle);
    return (size/1024);
}

Вот функция считающая размер папки скина с индексом index. Считает только содержимое, без подпапок. Для подпапок надо сделать просто поиск всего содержимого и проверять папка или нет, если да то делать рекурсию
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
tim apple
сообщение 30.11.2009, 13:08


Мастер
****

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

Рейтинг: 435



Цитата(lavmen @ 30.11.2009, 17:33) *
Считает только содержимое, без подпапок. Для подпапок надо сделать просто поиск всего содержимого и проверять папка или нет, если да то делать рекурсию


Достаточно в параметрах поиска указать флаг FS_SEARCH_RECURSIVE - тогда найдет все файлы, включая и те, что в подпапках. Кстати, у тебя так и есть.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
beelineman
сообщение 30.11.2009, 14:42


Мото-писатель
******

Группа: Почётные мотофаны
Сообщений: 1 070
Регистрация: 22.12.2007
Из: Cити 8184
Пользователь №: 157 925
Модель телефона: Defy+, iPad Mini
Прошивка: CM10, iOS 7
Победитель конкурса 2008


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



Рейтинг: 372



Всем спасибо! А как сделать считывание, например, audio?
Ах, да, эльф пишу под EP2.

Сообщение отредактировал beelineman - 30.11.2009, 14:57
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fkcoder
сообщение 30.11.2009, 16:07


Eve
******

Группа: Разработчики
Сообщений: 1 014
Регистрация: 31.1.2006
Из: Новокузнецк
Пользователь №: 68 287
Модель телефона: L9 ATRIX 4G iPhone SE E1

Рейтинг: 650



beelineman,

Код

UINT32 dirsize(void)
{
    FS_SEARCH_HANDLE_T         handle;
    WCHAR                      str[272];
    FS_SEARCH_PARAMS_T        search;
    UINT16                    count=0, i, count2=1;    
    UINT32                    size=0;
    FS_SEARCH_RESULT_T        res;
    
    search.flags = 0xD;
    search.attrib = 0;
    search.mask = 0;
    u_strcpy(str, L"/b/mobile/audio/\xFFFE*);
    DL_FsSSearch(search, str, &handle, &count, 0);
    for(i=0; i<count; i++)
    {
        DL_FsSearchResults(handle, i, &count2, &res);
        size = size + DL_FsSGetFileSize(res.name, 0);
    }
    DL_FsSearchClose(handle);
    return (size/1024);
}
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
beelineman
сообщение 2.12.2009, 9:36


Мото-писатель
******

Группа: Почётные мотофаны
Сообщений: 1 070
Регистрация: 22.12.2007
Из: Cити 8184
Пользователь №: 157 925
Модель телефона: Defy+, iPad Mini
Прошивка: CM10, iOS 7
Победитель конкурса 2008


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



Рейтинг: 372



1. Я не понял как пользоваться функцией UIS_DIALOG_T UIS_CreateList( SU_PORT_T *port, UINT32 param1, UINT32 count, UINT32 marks, UINT32 *starting_num, UINT8 param5 UINT8 param6, ACTIONS_T *actions, RESOURCE_ID caption );
В MotoWiki пример не очень.
2. Почему у меня не компилируется программа? (Кстати, ошибок там было около 40, но я сам исправил)
Прикрепленный файл MediaSize.rar   ( 28.67 килобайт ) Кол-во скачиваний: 111

А на форуме я сидел с телефона, потому что инета не было на компе.

Сообщение отредактировал beelineman - 2.12.2009, 9:37
Прикрепленный файл MediaSize.rar   ( 28.67 килобайт ) Кол-во скачиваний: 111
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fkcoder
сообщение 2.12.2009, 11:21


Eve
******

Группа: Разработчики
Сообщений: 1 014
Регистрация: 31.1.2006
Из: Новокузнецк
Пользователь №: 68 287
Модель телефона: L9 ATRIX 4G iPhone SE E1

Рейтинг: 650



Цитата
Почему у меня не компилируется программа?

Код

UINT32 Start( EVENT_STACK_T *ev_st,  REG_ID_T reg_id,  UINT32 param2 )
{

/* Функция получения размера папки audio */
UINT32 AudioSize(void)
{
return dirsize( "/b/mobile/audio/\xFFFEx");
}


1)Что это такое?

2) У тебя приложение ФОНОВОЕ

3) оно у тебя совершенно ничего не делает

Короче, друг, синтаксис С хотя бы выучи
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
G-XaD
сообщение 11.12.2009, 10:55


Мастер
****

Группа: Разработчики
Сообщений: 171
Регистрация: 6.11.2007
Из: Donetsk City / Ukraine
Пользователь №: 153 083
Модель телефона: E1, k810
Прошивка: r373_g_0e.30.79r

Рейтинг: 323



beelineman,

из файла svn://svn.vilko.ru/elfs2/motocmd2/src/utils.c
Spoiler:
Код
size_t UtilRGetDirSize( WCHAR * uri )
{
    FS_SEARCH_PARAMS_T        s_par;
    FS_SEARCH_RESULT_T *    s_res;
    FS_SEARCH_HANDLE_T        sh;
    WCHAR *                    s_str;
    UINT32                    status, i;
    size_t                    size;
    UINT16                    c, j, c1;
    INT32                    err;
    
    size = 0;
    s_par.flags        = FS_SEARCH_RECURSIVE | FS_SEARCH_START_PATH;
    s_par.attrib    = 0;
    s_par.mask        = 0;
    s_str = (WCHAR *) suAllocMem( sizeof(WCHAR)*(FILEURI_MAX_LEN + 1), &err );
    if ( err != RESULT_OK )
        return 0;
    u_mksearch(s_str, uri, s_astrix);
    status = DL_FsSSearch( s_par, s_str, &sh, &c, 0 );
    suFreeMem( s_str );
    if ( status != RESULT_OK )
        return 0;
    s_res = (FS_SEARCH_RESULT_T *) suAllocMem( sizeof(FS_SEARCH_RESULT_T)*(SEARCH_RESULT_MAX_ITEMS + 1), NULL );
    j = 0;
    while ( j < c ) {
        c1 = SEARCH_RESULT_MAX_ITEMS;
        status = DL_FsSearchResults( sh, j, &c1, s_res );
        j+= c1;
        for ( i=0; i<c1; i++ ) {
            size += DL_FsSGetFileSize(s_res[i].name, 0);
        }
    }
    DL_FsSearchClose( sh );
    suFreeMem( s_res );
    return size;
}
[close]



Цитата
UINT32 dirsize(WCHAR path)

Тут передается только один символ. Должно быть WCHAR * path.
Это сложно, но это нужно понять. Указатель это адресс памяти (RAM или ROM - неважно, если ROM указатель на константу т.к. изменять нельзя(на компе критическая ошибка(хотя там РОМа теоретически нету), на телефоне - ребут).
WCHAR path; // это переменная размером в 2 байта, на уровне процессора памяти занимать не должна, хранииться скорее всего будет в регистре.
// --------------------
// не из учебника, а своими словами
// --------------------
WCHAR * path; // указатель. Это адресс памяти. Прочитать первый символ из памяти можно двумя способами:
WCHAR c = *path; // компилятором сгенерируется код (словесное описание): Прочитать из адреса, указанного в path, 2(т.к. sizeof(WCHAR) == 2) байта в переменную c;
WCHAR c = path[0]; // (массив это указатель) компилятором сгенерируется код (словесное описание): Прибавить к адресу, указанному в path 0*sizeof(WCHAR) и прочитать из адреса 2 байта в переменную c;


Неправильно:
Spoiler:
Код
UINT32 AudioSize(void)
{
return dirsize( "/b/mobile/audio/\xFFFEx");
}

/* Функция получения размера папки picture */
UINT32 PicSize(void)
{
return dirsize( "/b/mobile/picture/\xFFFEx");
}

/* Функция получения размера папки video */
UINT32 VideoSize(void)
{
return dirsize( "/b/mobile/video/\xFFFEx");
}
[close]

Правильно:
Spoiler:
Код
UINT32 AudioSize(void)
{
return UtilRGetDirSize( L"/b/mobile/audio/");
}

/* Функция получения размера папки picture */
UINT32 PicSize(void)
{
return UtilRGetDirSize( L"/b/mobile/picture/");
}

/* Функция получения размера папки video */
UINT32 VideoSize(void)
{
return UtilRGetDirSize( L"/b/mobile/video/");
}
[close]



эм.. а как это?:
Код
/* Функция вызываемая при старте приложения */
UINT32 Start( EVENT_STACK_T *ev_st,  REG_ID_T reg_id,  UINT32 param2 )
{

/* Функция получения размера папки audio */
UINT32 AudioSize(void)
{
return dirsize( "/b/mobile/audio/\xFFFEx");
}
...

функции внутри функций не обьявляются!



Код
  return (size/1048576);

Так никто не делает, я то догадался что 1048576 = 1024*1024. Лучше получить размер в байтах, а перевести всегда успеешь - разделить на 1024, получаешь в килобайтах, еще разделить на 1024 - в мегабайтах. 1024 - это 2 в 10й степени, деление на 2 это логический сдвил вправо на 1 бит, в килобайтах - size>>10, в мегабайтах - size>>20.

Сообщение отредактировал G-XaD - 11.12.2009, 11:29
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
zema00
сообщение 22.12.2009, 23:12


Опытный
***

Группа: Пользователи
Сообщений: 112
Регистрация: 19.6.2009
Пользователь №: 201 595
Модель телефона: v3r
Прошивка: d3r

Рейтинг: 35



Даже незнаю как и спросить. Вобщем такая ситуация: код звездочки KEY_STAR, скажите в таком виде код решетки ?

KEY_POUND на теле v3r неверный

Сообщение отредактировал zema00 - 22.12.2009, 23:19
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Bad_Santa
сообщение 22.12.2009, 23:45


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

Группа: Пользователи
Сообщений: 75
Регистрация: 18.6.2007
Пользователь №: 138 555
Модель телефона: L7E

Рейтинг: 36.5



Если не ошибаюсь то есть эльф выдающий в лог мидвея, либо в файл, все коды нажимаемых клавиш и вызываемых ивентов.

P.S. Толи KeyCode, EventLog или еще как. Поищи в общем.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
logotoy73
сообщение 23.12.2009, 6:54


Ветеран
*****

Группа: Пользователи
Сообщений: 362
Регистрация: 10.1.2007
Из: Подмосковье
Пользователь №: 116 014
Модель телефона: RAZR MAXX, V3i, Defy+
Прошивка: VZV-16, 03.03R, 231


Настроение:
в процессе...



Рейтинг: 220



Цитата(zema00 @ 23.12.2009, 2:12) *

Даже незнаю как и спросить. Вобщем такая ситуация: код звездочки KEY_STAR, скажите в таком виде код решетки ?

KEY_POUND на теле v3r неверный

Как это неверный? Не работает что ли? Все у меня нормально работает.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
zema00
сообщение 23.12.2009, 10:06


Опытный
***

Группа: Пользователи
Сообщений: 112
Регистрация: 19.6.2009
Пользователь №: 201 595
Модель телефона: v3r
Прошивка: d3r

Рейтинг: 35



Цитата(logotoy73 @ 23.12.2009, 6:54) *

Все у меня нормально работает.

вот представь у меня KEY_POUND неработает. Ради интереса пишу в коде KEY_GREEN, KEY_0 и т.д. - это все работает.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 23.12.2009, 14:28


Freestyler
********

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


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



Рейтинг: 4362



Цитата(zema00 @ Сегодня, 1:12)

код звездочки KEY_STAR, скажите в таком виде код решетки ?
*


\SDK\Elf Help\
Прикрепленный файл keycode.txt   ( 696 байт ) Кол-во скачиваний: 76
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
beelineman
сообщение 23.12.2009, 15:10


Мото-писатель
******

Группа: Почётные мотофаны
Сообщений: 1 070
Регистрация: 22.12.2007
Из: Cити 8184
Пользователь №: 157 925
Модель телефона: Defy+, iPad Mini
Прошивка: CM10, iOS 7
Победитель конкурса 2008


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



Рейтинг: 372



Цитата(G-XaD @ 11.12.2009, 13:55)

функции внутри функций не обьявляются!
*


Что поделат, привык к паскалю.

Я тут почитал, и оказалось что gcc поддерживает вложенные объявления функций. A51

Сообщение отредактировал Andy51 - 5.1.2010, 21:23
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 23.12.2009, 15:49


Freestyler
********

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


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



Рейтинг: 4362



Цитата(zema00 @ Сегодня, 12:06)

вот представь у меня KEY_POUND неработает. Ради интереса пишу в коде KEY_GREEN, KEY_0 и т.д. - это все работает.
*



если ты меняешь в эльфе REGCODE (как написал мне в асю)
строчку if (key == KEY_STAR) {
то обрати внимание на условие выше
if (key > 10) {
ты меняешь на KEY_POUND , а он равен 11

может в этом косяк ...
и вообще в этом эльфе много выводов dbg("
хорошо бы посмотреть их до и после замены KEY_STAR на KEY_POUND

Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Bad_Santa
сообщение 6.1.2010, 13:38


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

Группа: Пользователи
Сообщений: 75
Регистрация: 18.6.2007
Пользователь №: 138 555
Модель телефона: L7E

Рейтинг: 36.5



Ребят, такая проблема... Когда поставил ЕП2, то все логи в мидвей от ЕП1 не идут... ЕП2 выдает там свои сообщения, а ЕП1 нет. Никак не могу отдебажить эльф. sad.gif

P.S. А можно из эльфа под еп1 выдавать сообщения в консоль еп2?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 6.1.2010, 13:53


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



Цитата(ИАА @ 6.1.2010, 15:38) *
Ребят, такая проблема... Когда поставил ЕП2, то все логи в мидвей от ЕП1 не идут... ЕП2 выдает там свои сообщения, а ЕП1 нет. Никак не могу отдебажить эльф. sad.gif
у меня тоже не идут...

Цитата
P.S. А можно из эльфа под еп1 выдавать сообщения в консоль еп2?
нет
но как вариант сохранять лог на диск в файл) я так делал

Сообщение отредактировал baat - 6.1.2010, 13:55
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Bad_Santa
сообщение 6.1.2010, 14:03


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

Группа: Пользователи
Сообщений: 75
Регистрация: 18.6.2007
Пользователь №: 138 555
Модель телефона: L7E

Рейтинг: 36.5



baat, раньше же шли... до появления ЕП2 на теле
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
tim apple
сообщение 6.1.2010, 15:02


Мастер
****

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

Рейтинг: 435



to ИАА, откати патч log_off2.fpa
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fkcoder
сообщение 7.1.2010, 12:55


Eve
******

Группа: Разработчики
Сообщений: 1 014
Регистрация: 31.1.2006
Из: Новокузнецк
Пользователь №: 68 287
Модель телефона: L9 ATRIX 4G iPhone SE E1

Рейтинг: 650



Цитата
P.S. А можно из эльфа под еп1 выдавать сообщения в консоль еп2?
нет

а как насчет добавить функции cprint и cprintf в elfloader.lib?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 7.1.2010, 13:32


0xFFFF
******

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

Рейтинг: 1224



lavmen, а как насчёт начать уже писать под EP2? Я например не буду выуживать, где там эти функции в EP2 находятся, ибо во внутренней либе хранятся.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Bad_Santa
сообщение 7.1.2010, 13:54


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

Группа: Пользователи
Сообщений: 75
Регистрация: 18.6.2007
Пользователь №: 138 555
Модель телефона: L7E

Рейтинг: 36.5



Andy51, не у всех стоит ЕП2 (не знаю, извините почему). И просят под ЕП1.

У кого есть рабочий INIparser для ЕП2?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
R.U.S.H.A.N.
сообщение 7.1.2010, 14:17


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

Группа: Разработчики
Сообщений: 95
Регистрация: 13.4.2009
Из: home://russia/ufa/
Пользователь №: 197 674
Модель телефона: Е398, Milestone, XT912
Прошивка: DaR_v2.15

Рейтинг: 231



ИАА лови


Добавлено позже (7.1.2010, 19:53):
Библиотека libshell.a
Набор функций для работы с ATI и Canvas.
Установка:
Содержимое архива распокововаем в папку Elfs2\libs\
В файле Elfs2\Makefiles\Makefile.defines в переменную LIBS дописать libshell.a
Запускаем make_shell.cmd

PS: Делал для себя, вдруг кому понадобится.

Сообщение отредактировал R.U.S.H.A.N. - 7.1.2010, 14:55
Прикрепленный файл INIparser.zip   ( 1.07 килобайт ) Кол-во скачиваний: 53
Прикрепленный файл libshell.zip   ( 7.6 килобайт ) Кол-во скачиваний: 57
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
tim apple
сообщение 7.1.2010, 16:01


Мастер
****

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

Рейтинг: 435



to R.U.S.H.A.N.,
несколько замечаний:
  • зачем дублировать ф-ции из ahg.h, которые входят в библу gfx.a ? это нехорошо - либо ссылайся на ahg.h, либо переименуй ф-ции и переменные
  • ф-ция RGB_ быссмысленна
  • в конце ф-ции DrawBmpImageFS нужно освобождать память в bitmap.image

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


Eve
******

Группа: Разработчики
Сообщений: 1 014
Регистрация: 31.1.2006
Из: Новокузнецк
Пользователь №: 68 287
Модель телефона: L9 ATRIX 4G iPhone SE E1

Рейтинг: 650



Цитата
lavmen, а как насчёт начать уже писать под EP2?

А как насчет ответить не мне, а тому кто спрашивал про вывод из EP1 в консоль EP2? wink.gif

Это я к тому, чтобы вредные мысли не распространял среди народа smile.gif A51

Сообщение отредактировал Andy51 - 7.1.2010, 20:24
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
beelineman
сообщение 7.1.2010, 18:09


Мото-писатель
******

Группа: Почётные мотофаны
Сообщений: 1 070
Регистрация: 22.12.2007
Из: Cити 8184
Пользователь №: 157 925
Модель телефона: Defy+, iPad Mini
Прошивка: CM10, iOS 7
Победитель конкурса 2008


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



Рейтинг: 372



Цитата(Andy51 @ Сегодня, 16:32)

а как насчёт начать уже писать под EP2?
*


/mf/чую, имхо GCC менее требователен к синтаксису языка, чем ADS.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
logotoy73
сообщение 7.1.2010, 19:02


Ветеран
*****

Группа: Пользователи
Сообщений: 362
Регистрация: 10.1.2007
Из: Подмосковье
Пользователь №: 116 014
Модель телефона: RAZR MAXX, V3i, Defy+
Прошивка: VZV-16, 03.03R, 231


Настроение:
в процессе...



Рейтинг: 220



Цитата(beelineman @ 7.1.2010, 21:09) *

/mf/чую, имхо GCC менее требователен к синтаксису языка, чем ADS.


А мы легких путей не ищем? smile.gif

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

16 страниц V « < 11 12 13 14 > » 
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 6.8.2025, 14:29

Форум живёт: