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

Создание Эльфов : Эльфостроение : Эльфы : Форум : Для Sony Ericsson патчи эльфы моддинг прошивка
/  Список форумов
   /  Эльфы
      /  Эльфостроение
   /  Создание Эльфов
На печать 
Правила 
Страница 51 из 211: « 1 ... 47 48 49 50 [51] 52 53 54 55 ... 211 »

nvoid


Expert


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





 
  #501 [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

axJeSSter


Вникающий


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





 
  #502 [29.07.08, 20:41] Re: Создание Эльфов   

 
Дорогие эльфмейкеры, не подскажите как создать список объектов(но не книг) как наприер в букмене но без вкладок. Функции я знаю, какие надо, а вот как их использовать - нет. Напишите пожалуйста небольшой пример. Буду очень признателен.




w810 R4EA031

UltraShot


Developer/Moder


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




 
  #503 [29.07.08, 20:52] Re: Создание Эльфов   

 
axJeSSter
я тут для своей маленькой программки шаблончики делал:
Код: 
//Шаблон списка.
//Сделано UltraShot'ом

#include "..\\include\Lib_Clara.h"
#include "..\\include\Dir.h"

#define header L"Objects:"
typedef struct {
  u16 name[128];
  int type;
} OBJECT;


GUI *<<>>Gui;
extern LIST *Objects;
extern int ObjectsCount;
void <<>>Back(BOOK *bk, void *lt)
{
  GUI_Free(<<>>Gui);
}

void <<>>OnEnterPressed(BOOK *bk, void *lt)
{
}

int <<>>OnLBMessage(GUI_MESSAGE * msg)
{
  int item;
  OBJECT * obj;
  switch(msg->msg)
  {    
  case 1:
    item=GUIonMessage_GetCreatedItemIndex(msg);
    obj=(OBJECT *)ListElement_GetByIndex(Objects,item);
    SetMenuItemText0(msg,Str2ID(obj->name,0,SID_ANY_LEN));
  }
  return(1);
};

void <<>>MyOnKey(void *p, int i1, int i2, int i3, int i4)
{

}
GUI_LIST * <<>>CreateGuiList(void * r0, BOOK * bk)
{
  GUI_LIST * lo;
 
  lo =CreateListObject(bk,0);
  GuiObject_SetTitleText(lo,Str2ID(header,0,SID_ANY_LEN));
  
  SetNumOfMenuItem(lo,ObjectsCount);
  OneOfMany_SetonMessage((GUI_ONEOFMANY*)lo,(void*)<<>>OnLBMessage);
  SetCursorToItem(lo,0);
  SetMenuItemStyle(lo,0);
  
  AddMSGHook(lo,ACTION_BACK, <<>>Back);
  AddMSGHook(lo,ACTION_SELECT1,<<>>OnEnterPressed);
  
  DISP_DESC_SetOnKey( DISP_OBJ_GetDESC (lo->DISP_OBJ), (DISP_OBJ_ONKEY_METHOD)<<>>MyOnKey );
  return(lo);
};


int <<>>CreateMenu(void * r0, BOOK * bk)
{
  <<>>Gui=(GUI*)<<>>CreateGuiList(0,bk);
  ShowWindow(<<>>Gui);
  return(0);
}

<<>> меняешь на своё название.
и ещё. добавь OldOnKey=) я в шаблоне забыл

[ Редактировано UltraShot в 29.7.08 20:52 ]




axJeSSter


Вникающий


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





 
  #504 [29.07.08, 20:54] Re: Создание Эльфов   

 
UltraShot
БОЛЬШОЕ Спосибо! Буду пробывать.




w810 R4EA031

UltraShot


Developer/Moder


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




 
  #505 [29.07.08, 20:55] Re: Создание Эльфов   

 
InDiGo
дык ты книгу сравниваешь с циферкой... конечно, не заработает.
пример, я, кстати, там привёл с использованием хука))




-=StRaNgER=-


Elfmaker


Регистрация: 23.3.08
Сообщений: 116
Репутация: 138
Откуда: Украина,Одесса




 
  #506 [30.07.08, 01:08] Re: Создание Эльфов   

 
За хук-пасиба-насчёт стендбая-делал по примеру AllKeyVibra-там проверялось на наличие книги залочки кнопок таким же методом.Я кейлок на стендбай подменил,непашет,а кей вибра-пашет(сам не собирал).Я тебя замучал,наверное :).Буду копаться с хуками.Заканчиваю тока первую часть книги читать)),наверное это многое объясняет


Добавлено 30.7.08 19:06

UltraShot
Наверное я тупой-как с этими хуками работать?Вроде ж сделал всё как у тебя-бестолку,всё равно кнопки реагируют везде,а не только на стендбае

Вот код моего эльфа(да,кстати,а как когда текст через заметки вывожу сделать новую строку?"\n" не помогает.Попробую пробелами)


Код: 
#include "..\\include\Lib_Clara.h"
#include "..\\include\Dir.h"
DISP_DESC *dsp; 
DISP_OBJ * myGUI; 
DISP_OBJ * Standby; 
DISP_OBJ *now;
bool Draw=true;
void elf_exit(void)

{
kill_data(&ELF_BEGIN, (void(*)(void*))mfree_adr());
}
 BATT bat;
 u16 ws[193];

int NewKey(int key, int r1 , int mode)
{

 
if (key==KEY_VOL_DOWN)  
  {if(mode==KBD_SHORT_PRESS)

   {
      StatusIndication_ShowNotes(0x6FFFFFFF);
      MessageBox(0x6FFFFFFF,STR("ELF Minimized :( "),0xFFFF,1,3000,0);
      return(0);
   }   
}


if(key==KEY_VOL_UP)
{
  if(mode==KBD_SHORT_PRESS)
  {
    GetBattaryState((int const*)1 , &bat);
    int intHeap=GetFreeBytesOnHeap();
    snwprintf(ws,193,(u16*)L"Battery=%d CPU Temp=%dC FreeRAM=%dKb",bat.RemainingCapacityInPercent,bat.SystemTemperature,intHeap/1024);
    MessageBox(0x6FFFFFFF,STR("ELF Showed :) "),0xFFFF,1,3000,0);
    StatusIndication_ShowNotes(Str2ID(ws,0,SID_ANY_LEN));
  }
return(-1);
}

return(0);
}

BOOK * HWBook;

int TerminateElf(void * ,BOOK* book)
{
  FreeBook(book);
  return(1);
}

typedef struct
{
  BOOK * book;
}MSG;

int ShowAuthorInfo(void *mess ,BOOK* book)
{
  MSG * msg = (MSG*)mess;
  MessageBox(0x6fFFFFFF,STR("INFO Lite\n\n(c)StRaNgER\nThx-UltraShot"),0, 1 ,5000,msg->book);
  return(1);
}

void onCloseHWBook(BOOK * book)
{
  if (book)
  {
      ModifyKeyHook(NewKey,0);
      StatusIndication_ShowNotes(0x6FFFFFFF);
      MessageBox(0x6FFFFFFF,STR("ELF Killed :( "),0xFFFF,1,3000,0);
      SUBPROC(elf_exit);
  }
}

const PAGE_MSG HW_PageEvents[]@ "DYN_PAGE" ={
  ELF_TERMINATE_EVENT , TerminateElf,
  ELF_SHOW_INFO_EVENT  , ShowAuthorInfo,
  0,0
};

PAGE_DESC base_page ={"InfoLitepage",0,HW_PageEvents};

BOOK * CreateHWBook()
{
  HWBook= new BOOK;
  CreateBook(HWBook,onCloseHWBook,&base_page,"INFO Lite",-1,0);
  return(HWBook);
}

int DisableHook(UI_MESSAGE*) 

Draw=true; 
return(0); 

int EnableHook(UI_MESSAGE*) 

Draw=false; 
return(0); 


int main(void)
{  
ModifyKeyHook(NewKey,1);
ModifyUIHook(STANDBY_NOT_IDLE_EVENT,DisableHook,1); 
ModifyUIHook(STANDBY_IDLE_EVENT,EnableHook,1); 
Standby=(Find_StandbyBook())->gui->DISP_OBJ; 
dsp=DISP_OBJ_GetDESC (myGUI); 
CreateHWBook();
MessageBox(0x6FFFFFFF,STR("ELF Started :) "),0xFFFF,1,1000,0); 
return(0);
}





[ Редактировано InDiGo в 30.7.08 19:08 ]




Nokia 5320XM v4.13+SE W580i R8BE001

Ali12


Новичок


Регистрация: 2.8.08
Сообщений: 18
Репутация: 0
Откуда: Ташкент




 
  #507 [02.08.08, 18:04] Re: Создание Эльфов   

 
Anybody pliz give me the manual how to install or put elf and other (ini. cfg.) files to k800 .
I read there is written how to install but for other models . for example to k750 . w800



ploik


Developer


Регистрация: 16.12.06
Сообщений: 719
Репутация: 6358
Откуда: Саров-Нижегородская область




 
  #508 [02.08.08, 18:49] Re: Создание Эльфов   

 
InDiGo

Он привел просто пример как использовать хуки. У тебя эти эвены в DYN есть?

Если нет, че ты тогда хочишь добиться.




LG P970

eddmund


Elfmaker


Регистрация: 19.1.08
Сообщений: 206
Репутация: 83
Откуда: Austria




 
  #509 [03.08.08, 21:50] Re: Создание Эльфов   

 
Can someone please give an easy example code how to use the function CreateYesNoQuestionVA? I just want to display a question which can be answerd with either Yes or No and depending on the answer different code will be executed.

Update 2008-08-06:

Never mind - I got it. I'm using it in the 1.0 development version of DayDis: While DayDis is running and it is attempted to be started again, the user will be asked if she wants to exit it. This question can be answered with either "Yes" or "No".



[ Редактировано eddmund в 6.8.08 09:48 ]



Прикрепленный к сообщению файл:
DayDis_v1.0-Exit_question.png


My Elves: [ MoonPhase 1.2 | DayDis 1.1 | ImageTest 1.2 ]
Phone: K770_R8BC004

-=StRaNgER=-


Elfmaker


Регистрация: 23.3.08
Сообщений: 116
Репутация: 138
Откуда: Украина,Одесса




 
  #510 [04.08.08, 01:14] Re: Создание Эльфов   

 
ploik,конечно,ивенты есть.Как юзать хуки я уже понял,но,видимо,это не применительно к этому эльфу,ибо мне не нужно рисовать ток на стендбае(ф-я StatusIndication_ShowNotes это предусматривает),мне надо,чтоб эльф реагировал на нажатия кнопок тока на стендбае,а с этим хуком так сделать не получаеться,как заюзаю его-эльф перестаёт реагировать на кнопки,где б я не находился(эльф впадает в крайности :-D ).




Nokia 5320XM v4.13+SE W580i R8BE001

michlantecuhtli


Patchmaster


Регистрация: 5.3.07
Сообщений: 59
Репутация: 212
Откуда: Венгрия




 
  #511 [06.08.08, 10:55] Re: Создание Эльфов   

 
what's this?
Код:

Fatal Error[e72]: Segment DYN_PAGE must be defined in a segment definition option (-Z, -b or -P) 




Страница 51 из 211: « 1 ... 47 48 49 50 [51] 52 53 54 55 ... 211 »


Похожие темы

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

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