The Motorola Development Community


Go Back   MotorolaFans.com Forums > Developments > Development > Development Stickys
Notices

 

MotoFans MODR

Join Date: Apr 2005
Posts: 105
Thanks: 0
Thanked 2 Times in 2 Posts
 
#1
07-15-2005
Default EZX and OPIE simultaneously

I'm tired of having to kill the EZX applications while I play with OPIE. I wanted to be able to have normal phone functions (calls/SMS) while being able to use OPIE on the go. Also, I wanted to be able to use OPIE on the go, while the phone is not connected through USBLAN. So, I got down to coding and this is what I have produced:

Downloads:

Easy to use .ZIP with nifty little control scripts.

Source Code and QT patch

README

Quote:
===============
Cyph's EZX-OPIE
===============

SUMMARY

OPIE compiled with a modified QT library to allow it to get events from a EZX event proxy program. Basically this means that you can now run OPIE simultaneously with normal phone apps. No more killing the entire application stack just to boot up OPIE. Able to answer calls and receive SMSes while in OPIE too.


DESCRIPTION

The heart of this package consists of an EZX program called opieproxy (opie/bin/op). Its a very simple application that creates a fullscreen window(which is painted a solid yellow) and uses that window to capture mouse and key events. These events will then be sent to a UNIX socket (/tmp/opieproxy).

Meanwhile, OPIE running on a modified QT library will connect to that socket and retrieve mouse and key events. Instead of opening the touchpanel and keypad devices, it will open one socket connection and use that as its source of events.

All OPIE applications will open the framebuffer as usual. Since the opieproxy opens a fullscreen window, EZX applications will not paint on the framebuffer. However, when an EZX application grabs the focus (e.g. A call is coming in), opieproxy will lose focus and send a command to OPIE's modified QT to cease drawing on the screen.

Switching between EZX and OPIE is handled by another EZX program, opieproxycommand (opie/bin/opc). This uses a QCopChannel to talk to opieproxy to either go fullscreen or hide itself.

This package automatically mounts a cramfs image on the SD/MMC using loopback. It also sets up a 64MB swap file, because running EZX and OPIE together causes both to crawl (trust me).

USAGE

You will need:

- SD/MMC with about 100MB free
- E680i (not tested with other EZX phones)
- LinLoader
- Patience


To start off:
1. Unzip ezx-opie.zip
2. Copy the opie directory into the root of your SD/MMC
3. In the phone's file manager, go to the opie directory and click on startopie.lin
4. Your phone's screen will be painted a solid yellow. Wait. Starting OPIE for the first time takes around 1min. The script will create the swapfile and OPIE has to do first time initializations.

To switch from OPIE to EZX:
Under "Applications", click on "Resume EZX".
OR
Lock and unlock the phone.

To switch from EZX to OPIE:
Run resumeopie.lin

To exit OPIE:
Click on the OPIE icon and click "Logout"

Even when you have exited OPIE, the SD/MMC cannot be ejected. This is because startopie.lin keeps the loopback and swap active. Before ejecting the SD/MMC run beforeject.lin to turn off swap and free the loopback device.

BUGS

- Sound does not work.
- Tapping at the top of the screen sometimes cause the opieproxy window to be moved.


User Information
cyph is offlineReport Post
The Following User Says Thank You to cyph For This Useful Post:
gailisisdawsons (11-17-2008)
Moto Fans SENR

Join Date: Feb 2005
Posts: 694
Thanks: 0
Thanked 1 Time in 1 Post
 
#2
07-15-2005
Default Re: EZX and OPIE simultaneously

@cyph:
This is great, exactly what we need to make the availble opie stuff work in a more reliable fashion!! and even more motivation to fix the sound problems (ogg playback would be nice...)

If we want to include other opie apps do we have to recompile the qt libs w/ the patches available, or can we simply add new to apps to the opie/bin directory?

And if we do have to recompile qt, are there any instructions on patching? do opieproxy (opie/bin/op) and opieprocycmd (opie/bin/opcmd) have to be compiled independantly, or are they (can they?) included as part of a patched opie build.

Might a similar technique work if we tried to use the x11-based GPE as an alternative to opie?

thanks again for sharing your hard work!!!!


User Information
rpconnect is offlineReport Post
MotoFans XPRT

Join Date: May 2005
Posts: 289
Thanks: 0
Thanked 0 Times in 0 Posts
Location: Germany, Hannover

Send a message via ICQ to pascal Send a message via AIM to pascal Send a message via MSN to pascal Send a message via Yahoo to pascal
 
#3
07-15-2005
Default Re: EZX and OPIE simultaneously

wow that really cool,

THX

btw: did you read the open embedded invitation?


User Information
Location: Germany, Hannover

pascal is offlineReport Post
MotoFans MODR

Join Date: Apr 2005
Posts: 105
Thanks: 0
Thanked 2 Times in 2 Posts
 
#4
07-15-2005
Default Re: EZX and OPIE simultaneously

@rpconnect:

This build of OPIE is based on Leprechaun's excellent guide. The only difference is that the QT that OPIE is built against has to be patched with opieproxy-qtpatch.patch.

e.g.
cd $QTDIR
patch -p0 < opieproxy-qtpatch.patch

The modified QT should be binary compatible with other QT apps.

op and opc should be built and linked against the leaked EZX headers, so I don't think we can include it in an OPIE build.

As for GPE... wasn't there a mention of a QT X server? I think that will be the more sensible route.


User Information
cyph is offlineReport Post
Moto Fans SENR

Join Date: Feb 2005
Posts: 694
Thanks: 0
Thanked 1 Time in 1 Post
 
#5
07-15-2005
Default Re: EZX and OPIE simultaneously

@cyph
Yes, on the openembedded forums there is discussion of x/Qt, I haven't tried it yet but you can bet I am going to now!!

by the way, I have tested the ezx-opie package and it is working great!!! both the VNC and ubrowswer apps can be used over bluetooth, and now I don't have to monkey with the misc1 db crap to get the ezx_bt processes started back up after killing qws to get opie to work (the old way).

I also really like the swap stuff, it really does help speed up opie and your scripts provide a really nice example (for newbies like me) as to how to both get the loop mouting work as well as swapping.

thanks again!! very nice work. I am already enjoying it thrououghly!


User Information
rpconnect is offlineReport Post
Moto Fans SENR

yantz's Avatar

Join Date: Feb 2005
Posts: 1,412
Thanks: 0
Thanked 2 Times in 2 Posts
Location: sg
Mobile: e680 -> i (c5a4p)

 
#6
07-15-2005
Default Re: EZX and OPIE simultaneously

wow!! thx cyph!!! i needed this!!!!


User Information
Location: sg
Mobile: e680 -> i (c5a4p)

yantz is offlineReport Post
MotoFans XPRT

cytux's Avatar

Join Date: Jun 2005
Posts: 340
Thanks: 0
Thanked 0 Times in 0 Posts
Location: Berlin, Germany, Europe

 
#7
07-16-2005
Default Re: EZX and OPIE simultaneously

Hey, that sounds cool. While for myself not beeing impressed from the opie stability for general, to have the ezx wm and apps keep running and opie for playing around under the ezx wm could lead me to try it.

Well, awesome work and idea, cyph!
__________________
% New UNIX password:
> penis
BAD PASSWORD: it's WAY too short
% New UNIX password:


User Information
Location: Berlin, Germany, Europe

cytux is offlineReport Post
MotoFans XPRT

Join Date: May 2005
Posts: 289
Thanks: 0
Thanked 0 Times in 0 Posts
Location: Germany, Hannover

Send a message via ICQ to pascal Send a message via AIM to pascal Send a message via MSN to pascal Send a message via Yahoo to pascal
 
#8
07-16-2005
Default Re: EZX and OPIE simultaneously

wow never thought that opie is so cool
so many apps, and all in real linux sytle...

thx again cyph for this easy and great stuff


User Information
Location: Germany, Hannover

pascal is offlineReport Post
MotoFans XPRT

Join Date: May 2005
Posts: 289
Thanks: 0
Thanked 0 Times in 0 Posts
Location: Germany, Hannover

Send a message via ICQ to pascal Send a message via AIM to pascal Send a message via MSN to pascal Send a message via Yahoo to pascal
 
#9
07-16-2005
Default Re: EZX and OPIE simultaneously

GREAT NEWS

Played in my bed with opie (instead with me )
an heared meanwhile in ezx radio in background (dont ask why, but it was classic...), so now attraction: started this game parashoot and first i dont registered this really, but shuddently i realiced: SOUND!

Tried other combination too, but with realplayer this trick dont work(and also becomes slowly additional).

My way:
plugin headset,
start radio,
search a frequence without noise or turn in your radio station,
(optional pull headset out if you get nerved by cable, dont close the warning window! but i have noise without headset)
and than start opie,
if you forgot this steps when you are already in opie, you can switch back to ezx, activate radio and than switch back to opie.

Perhaps somebody can figure out what happens in phone when radio get activated, so we can fire this event when opie starts.


User Information
Location: Germany, Hannover

pascal is offlineReport Post
MotoFans MODR

Join Date: Apr 2005
Posts: 105
Thanks: 0
Thanked 2 Times in 2 Posts
 
#10
07-16-2005
Default Re: EZX and OPIE simultaneously

Hey..... this is so cool!! Never realised that sound could be achieved this way!! Great work!!

I believe the E680 hardware has the capability to route audio from the DSP/FM to the speaker or headset. This is found in the kernel sources linux-2.4.17/drivers/sound/ezx-assps.c:605. This is one of the ioctls on /dev/dsp. The list of input/output combinations are in ezx-common.c.


User Information
cyph is offlineReport Post
 

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 07:43 PM. Search Engine Friendly URLs by vBSEO 3.2.0 Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd. VBulletin Skin by ForumMonkeys.