Все для Sony Ericsson, патчи, эльфы, моддинг, прошивка
  
Логин: Пароль: Запомнить: Привет гость! Зарегистрируйся или авторизируйся для получения доп. возможностей!
Разделы
PDA версия сайта
TrackIDentify
Новости
Статьи
Файлы
Патчи
Патчи A2
Патчи db2020
Эльфы
Исходники эльфов
Wiki
Форум
Опросы
Обратная связь
Развернуть/Свернуть
 
Развернуть/Свернуть

Создание Эльфов : Эльфостроение : Эльфы : Форум : Для Sony Ericsson патчи эльфы моддинг прошивка
/  Список форумов
   /  Эльфы
      /  Эльфостроение
   /  Создание Эльфов
На печать 
Правила 
Страница 87 из 211: « 1 ... 83 84 85 86 [87] 88 89 90 91 ... 211 »

nvoid


Expert


Регистрация: 29.11.07
Сообщений: 1375
Репутация: 380





 
  #861 [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 elfcheck.rar (32.56 kb; 1014 hits) Скачать файл
saveevents.elf saveevents.elf (1.13 kb; 439 hits) Скачать файл
iar_templates.zip 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

Deitro


Elfmaker


Регистрация: 8.1.08
Сообщений: 194
Репутация: 466
Откуда: OreNBurG




 
  #862 [01.04.09, 20:07] Re: Создание Эльфов   

 
при создании эльфа с bcfg, создается пустой bcfg без никаких данных

В опциях файла config_data.c (щелкаем в файлах проекта на нем правой кнопкой мыши и выбираем Options): C/C++ Compiler -> Установить флажок Override inherited settings -> Output заменить здесь в поле NAME слово "DATA" на "CONFIG". В случае несоблюдения этого условия при запуске эльфа будет создаваться конфиг нулевой длины, и, естественно, он будет бесполезен.

Ответ на этот вопрос, наверно, куда-нибудь в шапку поместить :)


Добавлено 1.4.09 22:22

Что касается event'ов, используй ModifyUIHook. Например, ModifyUIHook ( VOLUMEUPKEY_SHORT_PRESS_EVENT, UP,1); - для хука на нажатие клавиши добавления громкости




k750i

seawolf999


Вникающий


Регистрация: 20.9.07
Сообщений: 25
Репутация: 1
Откуда: г.Серпухов (Московская обл.)




 
  #863 [04.04.09, 19:12] Re: Создание Эльфов   

 
а в каком исходнике можно посмареть код чтения ини и копирования того что там написано в буфер???заранее спс =)

[ Редактировано seawolf999 в 4.4.09 19:13 ]



arban


Elfmaker


Регистрация: 2.3.08
Сообщений: 802
Репутация: 3111





 
  #864 [04.04.09, 19:20] Re: Создание Эльфов   

 
seawolf999, в букмане, мисседе




LG Optimus
My SVN | Elflib Wiki | Elf SVN

Evil-Racer


Elfmaker


Регистрация: 26.5.08
Сообщений: 124
Репутация: 415
Откуда: Казахстан, Семипалатинск




 
  #865 [06.04.09, 18:43] Re: Создание Эльфов   

 
4 Вопроса
Как создать Yes/No сообщение? (Как при приеме данных через Bluetooth™ или тому подобное.)
Как запретить повторный запуск эльфа, если он уже запущен?
Через какую функцию можно залочить клаву?
И как вывести список доступных профилей телефона?




K3OOi » K75Oi » K8OOi » K85Oi » K3OOi » T29Oi » W95Oi » W995 » C51O » W7OOi » MT15i » K8OOi » Z53Oi » K75Oi

UltraShot


Developer/Moder


Регистрация: 21.5.07
Сообщений: 1729
Репутация: 1827
Откуда: Санкт-Петербург / Череповец




 
  #866 [06.04.09, 18:51] Re: Создание Эльфов   

 
1)

Код: 
void OnYesExitGui(BOOK * bk, void *)
{
//Действия, если нажали Да
};

void OnNoExitGui(BOOK * bk, void *)
{
//Действия, если нажали Нет
};

void OnBackExitGui(BOOK * bk, void *)
{
//Если нажали Назад
};


GUI *q=o=CreateYesNoQuestionVA(0,
                                            VAR_BOOK(book),
                                            VAR_YESNO_PRE_QUESTION(Str2ID(L"Текст вверху окна",0,SID_ANY_LEN)),
                                            VAR_YESNO_QUESTION(L"Текст внизу окна"),
                                            0);
      GUIObject_Softkey_SetAction(q,ACTION_YES,OnYesExitGui);
      GUIObject_Softkey_SetAction(q,ACTION_NO,OnNoExitGui);
      GUIObject_Softkey_SetAction(q,ACTION_BACK,OnBackExitGui);


2)

Код: 
int isEVBookByName(BOOK *bk)
{
  if (strcmp(bk->xbook->name,"EventControl")==0)return 1;
  return 0;
};
и в мэйн перед всеми операциями:
  if (FindBook(isEVBookByName))
  {
    MessageBox(0x6FFFFFFF, Str2ID(lng[LNG_ALREADY_RUNNED],0,SID_ANY_LEN), 0, 1, 0, 0);
    delete(extFolder);
    delete(intFolder);
    destroy_innative_lng();
    SUBPROC(elf_exit);
    return 0;
  }


3) ивент залочки есть, его надо через UI_Event запустить. Я не помню название, думаю, arban подскажет

4)
Код: 
wchar_t *profiles[]={L"IA_AUTOMATIC_TXT",L"NORMAL_TXT",
L"MEETING_TXT",L"IN_CAR_TXT",L"OUTDOORS_TXT",
L"HANDSFREE_PROFILE_TXT",L"HOME_TXT",L"OFFICE_TXT"};
wchar_t *picns[]={L"JOYSTICK_DESKTOP_MENU_ICN",
L"PROFILE_NORMAL_LIST_ICN", L"PROFILE_MEETING_LIST_ICN", 
L"PROFILE_INCAR_LIST_ICN", L"PROFILE_OUTDOORS_LIST_ICN", 
L"PROFILE_PHF_LIST_ICN", L"PROFILE_HOME_LIST_ICN", 
L"PROFILE_OFFICE_LIST_ICN"};

int isEvtEditBook(BOOK * struc);

void Profiles_OnSelect(BOOK *bk, void *)
{
  MyBOOK *mbk=(MyBOOK *)bk;
  int item=ListMenu_GetSelectedItem(mbk->profiles);
  if (mbk->selev->param)delete(mbk->selev->param);
  mbk->selev->param=new wchar_t[2];
  snwprintf(mbk->selev->param,1,L"%d",item);
  BookObj_ReturnPage(bk, PREVIOUS_EVENT);
  BookObj_CallPage(bk,&bk_main);
};

int Profiles_onLBMessage(GUI_MESSAGE * msg)
{
  switch(msg->msg)
  {
  case 1:
    MyBOOK *mbk=(MyBOOK*)FindBook(isEvtEditBook);
    int item=GUIonMessage_GetCreatedItemIndex(msg);
    int id=0x6FFFFFFF;
    textidname2id(profiles[item],0xFFFFFFFF,&id);
    SetMenuItemText0(msg,id);
    int ic=0xFFFF;
    iconidname2id(picns[item],0xFFFFFFFF,&ic);
    SetListObjectItemIcon (msg,0, ic);
    if (item==0 && mbk->prof_type==1)
    {
      GUIonMessage_SetItemDisabled(msg, 1);
    }
  }
  return(1);
};

void Profiles_OnBack(BOOK *bk, void *)
{
  BookObj_ReturnPage(bk, PREVIOUS_EVENT);
};

GUI_LIST * Profiles_CreateGuiList(BOOK * book)
{
  GUI_LIST * lo=0;
  if (lo=CreateListObject(book,0))
  {
    GuiObject_SetTitleText(lo,Str2ID(lng[CHOOSE_PROF],0,SID_ANY_LEN));
    SetNumOfMenuItem(lo,8);
    SetCursorToItem(lo,0);
    ListMenu_SetOnMessages(lo,Profiles_onLBMessage);
    SetMenuItemStyle(lo,0);
    GUIObject_Softkey_SetAction(lo,ACTION_BACK, Profiles_OnBack);
    GUIObject_Softkey_SetAction(lo,ACTION_SELECT1,Profiles_OnSelect);
  }
  return(lo);
};

GUI_LIST *create_profiles(BOOK *book)
{
  MyBOOK *mbk=(MyBOOK *)book;
  mbk->profiles=Profiles_CreateGuiList(book);
  ShowWindow(mbk->profiles);
  return(mbk->profiles);
};


static int Profiles_OnEnter(void *, BOOK * bk)
{
  create_profiles(bk);
  return 1;
};

static int Profiles_OnExit(void *, BOOK * bk)
{
  MyBOOK *mbk=(MyBOOK *)bk;
  FREE_GUI(mbk->profiles);
  return (1);  
};

const PAGE_MSG bk_msglst_profiles[] @ "DYN_PAGE"  = 
{
  PAGE_ENTER_EVENT_TAG,    Profiles_OnEnter,
  PAGE_EXIT_EVENT_TAG,     Profiles_OnExit,
  NIL_EVENT_TAG,           NULL
};

const PAGE_DESC bk_profiles = {"EvtEdit_Profiles_Page",0,bk_msglst_profiles};

кусок рабочего кода, вызывается BookObj_CallPage(книга, &bk_profiles);



Спасибо сказали: Evil-Racer

sc_ghost


Elfmaker


Регистрация: 26.2.09
Сообщений: 48
Репутация: 287





 
  #867 [07.04.09, 09:50] Re: Создание Эльфов   

 
how can make a SMS?

how to use this lib:

20C: int CreateSMSCont (int, void*);
20D: int FreeSMSCont (void*);
20E: int PrepareSMSCont (void*,u16*,u16*,int,int);
20F: int CteateNewMessage (int,void*,int);



KrasH


VIP Developer


Регистрация: 12.10.07
Сообщений: 993
Репутация: 3014
Откуда: Шахты




 
  #868 [07.04.09, 10:35] Re: Создание Эльфов   

 
20F вообще к SMS никаким боком.




Samsung GT-I9000 Galaxy S
SE C510 R1FA035
+ M2 1Gb + HPM-82
WMR: 248608836491
WMZ: 305377005044
Спасибо mazhor(1500wmr),polza(600wmr), & to other(~1100wmr)

den_po


Developer/Admin


Регистрация: 27.3.06
Сообщений: 3279
Репутация: 10763
Откуда: Чебоксары




 
  #869 [07.04.09, 14:08] Re: Создание Эльфов   

 
2007KrasH, это не только тебя касается. если не можешь писать по-английски, пиши по-русски хотя бы.




promt is better than google translate

Evil-Racer


Elfmaker


Регистрация: 26.5.08
Сообщений: 124
Репутация: 415
Откуда: Казахстан, Семипалатинск




 
  #870 [12.04.09, 13:39] Re: Создание Эльфов   

 
UltraShot, спасибо, респект. Только с Да/Нет сообщением какая то фигня получается. Все компилится без проблем, только телефон зависает когда надо вытащить сообщение. Лечится вытаскиванием батарейки.

Вот, из main.c вызываю процедурку
Код:
CrtYesNoMsg(0,(BOOK*)myBook,L"Строка 1",L"Строка 2");

А сама процедура в gui.c Вот она
Код: 

void CrtYesNoMsg(void * r0, BOOK * bk, wchar_t * s1, wchar_t * s2)
{ myBook->q=CreateYesNoQuestionVA( 0,VAR_BOOK((BOOK*)myBook),VAR_YESNO_PRE_QUESTION(Str2ID(s1,0,SID_ANY_LEN)),VAR_YESNO_QUESTION(s2),0);
  GUIObject_Softkey_SetAction(myBook->q,ACTION_YES,OnYesExitGui);
  GUIObject_Softkey_SetAction(myBook->q,ACTION_NO,DestGui);
  GUIObject_Softkey_SetAction(myBook->q,ACTION_BACK,DestGui);
  ShowWindow(myBook->q); 
}

q я объявил в gui.h
Код: 

typedef struct
{ BOOK book;
  GUI_LIST*gui;
  GUI*q;
  int menu;
}MyBOOK;
extern MyBOOK * myBook;
extern void CrtYesNoMsg(void * r0, BOOK * bk, wchar_t * s1, wchar_t * s2);

Я пока в эльфах не очень, мог где то что то напутать. Кто знает почему висит тел при переходе на CrtYesNoMsg?




K3OOi » K75Oi » K8OOi » K85Oi » K3OOi » T29Oi » W95Oi » W995 » C51O » W7OOi » MT15i » K8OOi » Z53Oi » K75Oi

UltraShot


Developer/Moder


Регистрация: 21.5.07
Сообщений: 1729
Репутация: 1827
Откуда: Санкт-Петербург / Череповец




 
  #871 [12.04.09, 14:51] Re: Создание Эльфов   

 
Evil-Racer, ты уверен, что у тебя именно MyBOOK создаётся, а не BOOK?



Страница 87 из 211: « 1 ... 83 84 85 86 [87] 88 89 90 91 ... 211 »


Похожие темы

  • Поиск
  • Права
Вы не можете начинать темы.
Вы не можете редактировать свои сообщения.
Вы не можете создавать опросы.
Вы не можете вкладывать файлы в сообщения.
Вы не можете отвечать на сообщения.
Вы не можете удалять свои сообщения.
Вы не можете голосовать.

Главная Новости Статьи Файлы Патчи Форум Опросы PDA
- Генерация страницы: 0.19 секунд | 12 Запросов | HTML: 61.27 КБ -