LiveView reverse-engineering effort - Other SmartWatches

Hi all,
A few weeks ago I started taking apart the LiveView software and manager. I'm really unhappy with the current plugin system, the menu structure and more. So, I started to reverse-engineer the Bluetooth protocol. I'm at the very beginning but it's looking promising.
Here's the repo: https://github.com/BurntBrunch/LivelierView
The protocol is not very difficult - just request-acknowledge-response serial communication over RFCOMM. Also, the kind people from SE didn't run the manager through Proguard (wink, wink, nudge, nudge ).
I also have what I *think* is a dump of the firmware but it seems either compressed or encrypted. Binwalk didn't find anything in it. If someone would be kind enough to take apart the software updater, we might figure out what's running on the actual device as well.
Overall, I'm just starting but so far it's looking good (got time syncing working! it's at least a watch, if nothing else! ).
Any help would be greatly appreciated (pull requests are more than welcome! )

thinking of doing something similar with one of my gadgets.
What did you use to reverse-engineer the Bluetooth protocol, just wireshark and a bluetooth dongle

Neither Did it from disassembly of the manager - much easier than sniffing and guessing.
If you don't have that option and said gadget connects to an Android phone, put on a decent ROM with the full BlueZ stack (e.g., Cyanogen) and use hcidump. It's really, really useful!
Come to think of it, Wireshark might be good enough - the only thing I found useful about hcidump was the SCO audio dump.

Nice effort. I've already forked your work on github, might have a look at it soon, I got some geeky ideas for myself as well, and I think integrating this functionality natively on CyanogenMod or even a custom app to replace the SE's one would be great to have as well.

Nice,
i'm was disapointed by the liveview manager myself, i hope something good emerges from your work

I've also decompiled the APK, and it seems that everything that displays on screen comes from the application, which means everything could be costumized. Seems like SE is using a PNG lib LodePNG to convert images and pushing them to the phone. Also, when it comes to strings, I've found some useful references in JerryProtocol that might indicate how the correct text encoding (not that we can push it right now, but just for the record):
Code:
private static final String mEncoding = "iso-8859-1";
private static final char cCarriageReturn = '\r';
private static final char cLineFeed = '\n';
Controlling the led seems quite simple to, it seems message's data is divided in 3 parts:
[RGB] [DELAY = Integer Number] [ON STATE = 0|1]
[old]although I've not figured out the ID of the LED control yet[/old].
LED request ID is 40 and LED response ID is 41. Hope this is enough for you to get started on that one too
I've not yet tested the app, but I've read your code and gave a shot at decompiling trying to see what I could dig up, will try it later (not very used to running python scripts though, will have to see how to install pyserial first and all that)

pedrodh said:
it seems that everything that displays on screen comes from the application
Click to expand...
Click to collapse
Yup, the main stuff is on the phone - the state machine is clearly isolated (on a side note, the manager is rather well-written, thankfully). On the other hand, I'm somewhat confused by all the constants - it almost feels as if the device has native navigation or icon cache or something.
pedrodh said:
Controlling the led seems quite simple to, it seems message's data is divided in 3 parts:
[RGB] [DELAY = Integer Number] [ON STATE = 0|1]
LED request ID is 40 and LED response ID is 41. Hope this is enough for you to get started on that one too
Click to expand...
Click to collapse
Thanks for the interest and the tip, I'll look into it soon - I need to figure out a good way to send commands from stdin. It seems that I'll need to figure out non-blocking reading in Python anyway (good news for you - I might drop pyserial! )
In any case, I'll add it to protocol.txt, unless you beat me to it!
Lastly, the only reason it's in Python is 'cause I'm productive in it *and* it has good, fast bindings (I try to stay away from gobject in C!). Whatever comes out of this effort would be running on the phone, surely
Edit: You *did* beat me to it!
Edit: Implemented LED, vibration, and a pretty good scheme for sending commands from the CLI

Nice work, saw quite a few commits in a small amount of time.
I've not yet been able to run it sucefully, I (think) have installed pyserial correctly, but maybe the problem is that the bluez that comes with my ubuntu is somewhat newer than the one you used, anyway here's as far as I got http://pastebin.com/uVRdr5T3 if you by chance know just by looking at it what it is would be great .
I've started an Android applicatoin Project in hopes of porting this to an Android application as well, but I'm somewhat new to Bluetooth handling on Android, still working it out. I'm already able to connect and pair with device (noob stuff), but it fails to READ from it. I've used java's DataOutputStream and DataInputStream since they deal with data in a big-endian notation, but I haven't understood yet how the initialization process goes. I've looked to your code, I get some parts but not the whole thing yet. Do you have to wait for the LiveView to tell something back, or you can just start to send commands at random? Also, does the script act as a bluetooth server or client (it seems that they are distinct when coding in Android, I've choosen to Connect as a Client, and yes I used the same UUID that you got from decompiling so at least that part I guess to be correct) ?
Anyway is just a bunch of very ugly code at the moment, after I get it to do something usefull I'll clean up the project and host it on github as well.

Hmm, that error is rather suspicious. Looking at the docs, Connect() is not even supposed to throw org.bluez.Failed, let alone with that message. And service discovery supposedly finished successfully..
Was the device in pairing mode (with the arrows/circle turning)? Was the computer the last thing it paired with (once you pair with the computer, the phone shouldn't be able to connect to it, since the device only remembers the last authorization)?
Install d-feet, the DBus browser, go under System bus, org.bluez, find the device, verify that it has the org.bluez.Serial interface and try calling Connect() with the proper UUID from there. Other than that, I've really no idea what it's on about.. Do you have more than one LiveView device by any chance (weird things might happen then)?
I don't actually think it's the difference in bluez versions (the Serial interface hasn't changed in the past 2 and something years) but it might be a (driver) bug you're hitting. I *think* I'm doing everything right as far as communication with BlueZ is concerned. Try running `hciconfig hci0 reset`.
Sorry I couldn't be more helpful..
Regarding your Java effort, if I recall my Bluetooth terminology correctly, you are a client, since the server is the thing advertising the service. You should *not* be reading immediately from the device. The phone/computer sends the first message - in my case, my first message is always STANDBY. Then and only then can you start reading back.
Lastly, I hope Android abstracts the whole RFCOMM pipe thing, 'cause it's a pain to use (and the reason I still need pyserial) - select() would sporadically tell me it has data to read and when I try to read it, I get ERRIO :/ I suspect RTS triggers select()..
Make sure you're only reading as many bytes as you know are in the next packet (take a look at consume() - it returns the number of bytes it expects next) and not more than that - it would either block or throw an exception. I've not done any Bluetooth work on Android, so that's as much as I can help, I'm afraid.
Lastly, as big as the temptation is, do not under any circumstances reuse code from the official manager. "Sony" is in the name of the company after all. I'm half-expecting a Cease & Desist any moment now
Edit: Implemented Display Properties Request and Clear Display Request (doesn't do anything). I think I'm out of low-hanging fruit

Really interesting work, guys. The Liveview is a fantastic idea and is almost brilliant - if only it worked properly! If you could get the basics working properly so we don't have to use the Sony software that would be fantastic, it's got so much potential.
Cheers,
Tim

So, I had a brilliant idea today. You know how the LiveView Manager app is full of debug messages. Turns out, they are disabled by means of a constant in ElaineUtils. My idea was to change that constant, put the apk back on my phone and rejoice from all the extra info I'd have.
Turns out, that's not how it works. I changed the constant (bumped it to 0x100 - literally a single bit change) and re-signed the apk. I got some output out of it but not all, and none of the useful ELEMENT_ID_* messages
Any help on that front would massively speed up the reverse-engineering effort.
EDIT: Scratch that, I'm stupid. I forgot that the .field annotations are not executable code - I was changing the wrong bit so to speak. Changed the value in <cinit> and voila, proper logcat!
EDIT: Here's some food for thought - http://pastebin.ca/2099804 - it's the log from startup + a bit of moving around and opening/closing the mediaplayer control.

Very cool project.
I believe, for the damn thing to be usable, focusing on improving Bluetooth performance would be quite good. By "performance" I mean "power consumption." Having to give up on the watch after two hours of light use is really unacceptable.

I would love it if you got this thing working efficiently like SmartWatchm/OpenWatch did for my MBW-150. I ordered my LiveView from the UK when it first released there instead of waiting for the US release. The darn thing disappointed the hell out of me and has been sitting in my garage for almost a year now.
Hopefully you get something going on with this.

archivator said:
So, I had a brilliant idea today. You know how the LiveView Manager app is full of debug messages. Turns out, they are disabled by means of a constant in ElaineUtils. My idea was to change that constant, put the apk back on my phone and rejoice from all the extra info I'd have.
Turns out, that's not how it works. I changed the constant (bumped it to 0x100 - literally a single bit change) and re-signed the apk. I got some output out of it but not all, and none of the useful ELEMENT_ID_* messages
Any help on that front would massively speed up the reverse-engineering effort.
EDIT: Scratch that, I'm stupid. I forgot that the .field annotations are not executable code - I was changing the wrong bit so to speak. Changed the value in <cinit> and voila, proper logcat!
EDIT: Here's some food for thought - http://pastebin.ca/2099804 - it's the log from startup + a bit of moving around and opening/closing the mediaplayer control.
Click to expand...
Click to collapse
Wow, that's very useful thank you. I've been very occupied and did not work more with the Android Side application since my last post, I intend to return to it soon enough though, that output is very welcome when it comes to understanding then the icons are sent and the whole mechanism itself.

I've been doing a bit of reverse engineering work on the liveview as well, and I think I have a complete (although i fear possibly slightly corrupt) firmware dump!
I have been able to extract was some PNG images from the firmware (Thanks to their rather distinctive %PNG Header and ending with IEND).
It would appear that the menus and stuff are in fact definitively transferred over bluetooth!
I've attached the images I've extracted if anyone's interested in seeing them!
I'm currently trying to work through it in IDA to disassemble it, which is a pain in the arse!
Is anyone else also interested in completely rewriting the firmware?

@aj256, nice work! I thought I had a dump as well but mine looked compressed :\ Mind uploading yours somewhere for all to see? (edit: sorry, saw it in the archive)
aj256 said:
It would appear that the menus and stuff are in fact definitively transferred over bluetooth!
Click to expand...
Click to collapse
That's correct - I almost have that part of the protocol figured out but I'm low on spare time.
aj256 said:
Is anyone else also interested in completely rewriting the firmware?
Click to expand...
Click to collapse
Well.. I'd be interested in modifying it and isolating the Bluetooth stack but don't really have the time OR the chops to write the whole firmware from datasheets and disassembly.
As for where I'm standing, I know what I need to decompile next (renderShowUi) but it's a couple of thousand lines of smali. There are so many branches, it's easy to get lost. I need to write better tools for decompiling smali first

Just bought a Live View! I know it may not be the best but I got it cheap and mainly want the Caller ID portion of it. I hope this reverse engineering pays off. Once I get mine I may start poking around and see if I can help out! Thanks for the post OP!

Hi,
do you guys have some irc channel or anything else? Just got my LiveView and want to help you with this...

I've quickly put together a project website at openliveview (dot) com (apparently I don't have enough posts for an external link!) with some forums as well to help to document peoples progress!
I've done a quick writeup on my progress so far (which isn't very much!)
@archivator, glad you found the firmware in the zip, I was just about to reply that it was there!

aj256 said:
I've quickly put together a project website at openliveview (dot) com (apparently I don't have enough posts for an external link!) with some forums as well to help to document peoples progress!
I've done a quick writeup on my progress so far (which isn't very much!)
@archivator, glad you found the firmware in the zip, I was just about to reply that it was there!
Click to expand...
Click to collapse
Nice. I've been on your website and the documentation is getting in good shape. When I got some free time I'll try and read it more carefully and complement the Android project.
Talking about that, I've uploaded my progress so far to github: https://github.com/pedronveloso/OpenLiveView
bare in mind that apart from pairing with the Device not much is actually working by now, contributions are welcome of course

Related

Absuluut newbie, help on eMbedded C++ 4.0 please

Hello,
I'm a Visual Basic programmer for some time now.
Made some useful stuff they tell me.
Used C++ (Borland) about 10 years ago, so that’s a bit rusty.
Now I've ordered a Qtek 9090, and I would want to develop some software for it to. So I downloaded and installed the SDK and eMbedded C++ 4.0.
I thought, I start out on the emulator......
I can't even get my own "Hello world" program to work........
I have downloaded a "Hello World" program which I stepped through in debug mode. I have NO idea what they are doing there.
It contains about 20 files, hundreds lines of code, just to put "Hello World" on the screen of the emulator.
And I hoped that:
Code:
#include <stdio.h>
main()
{
printf("Hello, world!\n");
return 0;
}
pleased in a form, would do the trick………
The help in the IDE does not work.
Re-install it tell's me. I have done so, but the help function does not work.
Where is the "visual" part in the embedded Visual C++?
How do I place forms and buttons e.g.?
I have no idea where to start now.
Searched a lot of forum's for starters-help, but I can not find anything that helps me on my way. I just hope I've not become stupid.....
Would somebody please help me on my way?
Can I wholeheartedly recommend the book "Programming Windows CE", by Douglas Boling? It's normally cheap (or the second edition is) on ebay and it really is good.
Failing that, you're writing a console based application for something that uses a windowing environment by default, so you'll either have to change what you're linking to, or have a winmain that makes use of a graphical UI rather than stdout. Call MessageBox perhaps? This is all made *so* much easier with a working help system that you need to get that working.
You can manage resource files visually, so it really is Visual development. Plus, for free, it's an excellent development tool. Well, it isn't bad.
The best advice I can give is to get your machine set up correctly with EVC2002, or EVC 4 with SP4 and the appropriate SDKs, and take it from there.
Good luck starting out.
Cheers,
Nick.
chiark said:
Can I wholeheartedly recommend the book "Programming Windows CE", by Douglas Boling?
Click to expand...
Click to collapse
Thanx. I'm going to order that book.
Failing that, you're writing a console based application for something that uses a windowing environment by default, so you'll either have to change what you're linking to, or have a winmain that makes use of a graphical UI rather than stdout. Call MessageBox perhaps?
Click to expand...
Click to collapse
Well, yes. I know. Like I sayed, I usualy work with VB. It was just me, trying to oversimplify things.
What I ment to express is that I'm pretty supprised I still have to write the message-loop and the main-loop and the jsadgkh-loop and....
I just hoped to put up some forms and attach code to it. But maybe I'm missing the clue on this.
This is all made *so* much easier with a working help system that you need to get that working.
Click to expand...
Click to collapse
I have set it up on an other machine yesterday, and there the help works.
Today I'm going to make use of it.
You can manage resource files visually, so it really is Visual development. Plus, for free, it's an excellent development tool. Well, it isn't bad.
Click to expand...
Click to collapse
Well.... That part, the visual part, I don't see yet, but like I sayed, I'm going to work throuhg the help, now that I've got that working.
And a 'free' tool. Well, that's allways nice. I think it is good for us, AND good for them. The more software there will be on the market, the better the devices sell.
The best advice I can give is to get your machine set up correctly with EVC2002, or EVC 4 with SP4 and the appropriate SDKs, and take it from there.
Good luck starting out.
Cheers,
Nick.
Click to expand...
Click to collapse
Thanks for you tips.
Rens
Dox, drop me a PM, I've got an old copy of the book you can have if it would help
Re the message loop stuff, you've indeed got options. You can either use the message loop approach hitting the API directly, or you can opt for using MFC to abstract the stuff away from you.
Personally, I prefer the straightforwardness of using the API rather than MFC. By the time you've written one application, you've got the bulk of the next . I also write for older machines, and the overhead of MFC is a consideration, but on the XDA it really isn't.
If the application is simple, it can all be handled by a DialogBox. You will need to write a DialogProc to handle the appropriate messages, but the need to register a window class, get messages off the queue etc is removed from you. Similarly, you can have multiple pages on a single dialog box using propertypages.
If you did want to write a console application, you can do this but you need to change the linker options within EVC.
Have a good look at the samples, too, there's some real good stuff in there.
Cheers, and good luck
Nick.

Developing new application, need help/suggestions

MAJOR EDIT: Started over, I need fresh ideas!
I'm bored, I got Basic4PPC andI want to make a little freeware app. Seeing how much people wanted another unit converter, I dropped the towel before entering the shower (pushing the metaphor to far...) and decided to consult the experts.
What would be THE best idea for a Pocket PC application? I was thinking about a small app to launch many applications from a single hardware button with some cool UI and all, but it's been down quite a couple of times.
I don't think that a unit converter can be sold easily... I mean: I don't need it, and if I would: there are so much freeware alternatives.
And about your goals:
- only one file... why?
- Try to make it modulair: easier to extend
sounds like a good idea, but why not have currency converter, in fact what would be a cool idea is if it can download a table of exchange rates on startup so that it gives you an accurate conversion figure.
Rhapsody said:
I don't think that a unit converter can be sold easily... I mean: I don't need it, and if I would: there are so much freeware alternatives.
And about your goals:
- only one file... why?
- Try to make it modulair: easier to extend
Click to expand...
Click to collapse
I agree, who would buy a unit converter... for instance I use google to convert for me on my phone. Easy and fast to use. I don't really know why I would need to convert a number fast.
I chose a unit converter for ease of use, but since the project is a day old or so, it's the right time to tell me what to make!
N1c0_ds said:
I chose a unit converter for ease of use, but since the project is a day old or so, it's the right time to tell me what to make!
Click to expand...
Click to collapse
No I think if you want to make something which you want to sell, you have to come up with the ideas yourself
I think you start at the wrong side. First think about what you want to make (what are you missing at the moment on your phone?), then try to create it and when it's finished you can always decide what to do with it. (shareware or freeware).
The thing is that most of the things are already available freeware.
I don't quite correspond to the typical PDA user. I'm 15 years-old, part time worker...
I can get ideas myself, but I can't really know what the average user wants. The best thing I can of right now would be a hardware button launcher.
When you'd press the button you'd be presented a big touch keyboard from which you could filter the available apps. It would launch the app then close itself. Good or no good?
Timesheet application?
Well, since you asked... This is the only app I used on my old palm device that I have not been able to replace on my PPC. It is a simple timesheet program that allows the user to record time spent on definable projects.
I have tried several of the commercial programs out there and they are all too complex or geared more for billable time and invoice generation. I just need something simple. The PALM program was freeware and can be seen here.
If you are interested in giving this a try I will be glad to give some more details on the desired functionality. The PALM program was not 100% of what I needed, just the best fit from what I could find.
Interesting. I actually made something similar in one of my Palm apps (which was never finished because I switched to WM).
I'll have a look at that. I'll try it as a filler, waiting for a great project.
P.S.: your themes are awesome!
That would be wonderful! The biggest things I would need are below:
Multiple projects with name and number (13 digit)
Ability to delete project from available list but keep past history
Day and Week summary view reports
Easy selection / clock in / clock out on main screen
Those are the main things. There are lots of ways to do this and I have ideas, but part of the fun of coding is UI design and code structuring. If you decide to take this one please let me know. I will be very happy to test for you.
Woah, calm down, I'm only about to complete the table. It looks like the screenshots for Timesheet right now (without final total, project selection and "today" button).
what about an app that can install automatically and in silent mode a big list of cabs. we should just have to select the destination : phone storage or sdcard. it would make reinstalls easier after rom updates .....
perhaps it already exist, i don't know ...
PROGRESS!!!
The thing is now useable! It saves date, in time, out time and calculates the difference between the two. When you exit it save your current data to load it when you launch.
Looks like this:
Date In Out Time
08/08/2008 17:15 17:20 00:05
And it adds one row for each in/out.
Sample coming soon.
kaiser47 said:
what about an app that can install automatically and in silent mode a big list of cabs. we should just have to select the destination : phone storage or sdcard. it would make reinstalls easier after rom updates .....
perhaps it already exist, i don't know ...
Click to expand...
Click to collapse
Interesting idea, but I doubt people would pay for it.
CAB File!
Here's the working version. It yet has to show total time, money owed and all, but that's a good start!
Does anyone know a better CAB making app? This one sucks.
N1c0_ds said:
Interesting idea, but I doubt people would pay for it.
Click to expand...
Click to collapse
basically exists as user customisation... a new thing where cabs from storage card can be installed if u basically make an xml file with links to all the needed cabs
N1c0_ds said:
Here's the working version. It yet has to show total time, money owed and all, but that's a good start!
Click to expand...
Click to collapse
I am impressed. Then again, I don't have a WM dev environment. It is running fine so far on my P4300 WM6. Thanks for taking this on! There is nothing out there right now that is simple and clean.
I'm about to cancel all that crap right now. After a hard day of work, it was all made useless because Basic4PPC can't freakin' handle tables as it should. Thus instead of getting the standard plain white tables with grey headers, I get some ugly dark gray filling where there is no data. Then thing get even uglier when scrolling is needed. That kind of crap is enough to make me quit.
Unless you guys can get me something actually worth its price, forget about my app, I'm too pissed off to continue and all the files went straight to the bin.

(LAST CHANCE TO VOTE) need some idea's

10/16/08--
It is 12:00 central time (17:00 GMT I think) and I will close voting at 5:00pm Central Time (22:00 GMT) today. So that leaves you just 5 Hours to make your vote. I will try and post the winner up here later tonight, or you can check yourself at www.gudensoft.com.
Thanks!!
10/14/08--
First, thanks for all the great ideas. I would love to develop all of these if I could, but we have to decide on just one of the programs! So, Since I couldn't add a poll to this thread, I added it to HERE.
CLICK HERE TO VOTE!​
I bet I know which will win, but who knows? The poll will end Thursday or Friday (depending on if it is a close race or not).
Thanks
Gudy
10/10/08--
Hey guys,
I want to know what cool program, functionality, or software you would like to see created. I am a .net programmer (among others) and would like some ideas of projects you would like to see. I would like to stay away from a graphic intense program and involved games, so think functionality, usefulness, fun, etc. If I get some good ideas, I will then add a poll, vote on the best one, then build it. I will release it under my donationware license which means it will be free. Right now I am finishing up my Golf Gps program (and will continue to support), but will start this project once we get it deceided. So Shoot me your ideas!
Gudy
cool a programmer who need ideas
I have proposed something here: http://forum.xda-developers.com/showthread.php?t=434925
though it would maybe not appear as a grateful program for a developper ( a toolkit for other programs), it could be a good way to have a large diffusion through many config panels in different programs
it was just an idea
Wishlist
Hi,
Maybe simple for .NET, but for me impossible to do (without performance/battery penaulty) with basic4ppc or mortscript. And thats all I can handle.
What I would like to have is a program that enables me to execute programs when specific events occur. I'd like to know when AC power gets connected/disconnected, when there is a change in screen orientation, and when a headset gets connected/disconnected and so on. Maybe even when an internet connection through WIFI is available/unavailable.
Also I'd like to know is a specific BT device is connectable/conneted. I'd like to know if a specific WIFI network is connectable/connected. I'd like to know if I'm at a specific location. All event driven, without a performance consuming programing loop or battery drain.
Yeah, all or even some of those options would make my digital mobile life so much easier
Good luck huntig for input, if you ever get bored contact me and make me happy
Cheers,
Cacti
le_cactus said:
Hi,
Maybe simple for .NET, but for me impossible to do (without performance/battery penaulty) with basic4ppc or mortscript. And thats all I can handle.
What I would like to have is a program that enables me to execute programs when specific events occur. I'd like to know when AC power gets connected/disconnected, when there is a change in screen orientation, and when a headset gets connected/disconnected and so on. Maybe even when an internet connection through WIFI is available/unavailable.
Also I'd like to know is a specific BT device is connectable/conneted. I'd like to know if a specific WIFI network is connectable/connected. I'd like to know if I'm at a specific location. All event driven, without a performance consuming programing loop or battery drain.
Yeah, all or even some of those options would make my digital mobile life so much easier
Good luck huntig for input, if you ever get bored contact me and make me happy
Cheers,
Cacti
Click to expand...
Click to collapse
Doable, handy, not a massive undertaking, I like it! Not sure I would go the .net route on something like this, as really a GUI is not required (except for settings maybe) and the overhead is large with .net. Certainly will add it to the list. Keep them coming!!
t0k0m0k0 said:
cool a programmer who need ideas
I have proposed something here: http://forum.xda-developers.com/showthread.php?t=434925
though it would maybe not appear as a grateful program for a developper ( a toolkit for other programs), it could be a good way to have a large diffusion through many config panels in different programs
it was just an idea
Click to expand...
Click to collapse
This would be pretty difficult unless all of developers used the same programming langauge/technique. The only real feasable way I see this working would be developers using a common set of graphics. That would be more of a graphic undertaking instead of programming. I do like the idea, but pretty hard to impliment.
Thanks
Gudy
I would love to see something like Launchy for launching apps and files etc. as well as quick search of various types online. I'm guessing the on the fly search would require too much processing power, but if it's doable it would be awesome.
http://www.launchy.net/
I'm interested in new ideas too. I also use B4PPC.
Here's a few ideas:
-A tamagotchi, really. I was about to try this out tonight but Paint hates me.
-An app launcher like PetitLaunch on PalmOS. It's something that can pop from any app (hardware button) and when you type in extra letters it filters which apps are shown. I got this started and I can give you the files if you want.
-Pursue the development for Tippy. The source is on Nicbou.com/downloads if you want it.
-A time clock. A friend of mine notes down how long he works to make sure he doesn't get screwed and it takes him several minutes every week. He doesn't have a Pocket PC but maybe someone would be interested in something that tracks the hours you work and calculate the salary. I almost did this too.
And don't forget to share the source! If you need any help with B4PPC I'm here
galt said:
I would love to see something like Launchy for launching apps and files etc. as well as quick search of various types online. I'm guessing the on the fly search would require too much processing power, but if it's doable it would be awesome.
http://www.launchy.net/
Click to expand...
Click to collapse
Sounds simular to the app launcher listed in the next post, seems like there is a theme going on here, you all need some sort of good app launcher.
Gudy
I'd like the Launchy features for search-on-the-fly off on board apps and file launching, but ever more for different site searches (google, maps, wikipedia, live, youtube, Amazon, etc).
N1c0_ds said:
I'm interested in new ideas too. I also use B4PPC.
Here's a few ideas:
-A tamagotchi, really. I was about to try this out tonight but Paint hates me.
-An app launcher like PetitLaunch on PalmOS. It's something that can pop from any app (hardware button) and when you type in extra letters it filters which apps are shown. I got this started and I can give you the files if you want.
-Pursue the development for Tippy. The source is on Nicbou.com/downloads if you want it.
-A time clock. A friend of mine notes down how long he works to make sure he doesn't get screwed and it takes him several minutes every week. He doesn't have a Pocket PC but maybe someone would be interested in something that tracks the hours you work and calculate the salary. I almost did this too.
And don't forget to share the source! If you need any help with B4PPC I'm here
Click to expand...
Click to collapse
I had to look up tamagotchi, either I am too old, or just out of the loop to know that 10 million of these things were sold! Wow! That could be fun, but would take a pretty fancy AI type system to really be fun.
A form of Tippy is already out there, 1-calc has some of the features built in already.
A time clock could be cool, maybe a stop watch type thing perhaps?
Never used B4PPC, I mainly use C# and Visual Studio. It looks like the old Visual Basic for desktops. And last but not least, depending on the project, I more than likely will release the source.
Thanks!!! Keep'em comin!
Gudy
File Explorer Needs Help
Has anyone wanted to see a preview image in explorer's folder??
I'm not talking about fexplorerext2. although it is a fantastic enhancement; it takes a long time to load the preview immages.
I have a better idea (well, actualy MS thought of it first)
THUMBS.DB
for every folder that has an image file, this dll is created to replace cache of images. this way ou do not have to load it everytime and scale them down for thumbnail view. it is already there specificaly for each folder.
This alows the explorer to show a preview of the first image in the folder (or last created/accessed)
This is whatt I think WinMo is lacking - windows. lol.
I do not care much for the tabbed browsing. it hurts my head. too much scroling and not enough info. Icons work better I think, and waste less space on an already small screen.
well, that's been on my wishlist for a very long time. a dll that ataches to the already existing explorer making it work better.
Thanks for workin g on something new
program that makes led lights flash when phone rings would be nice
Interesting...I will have to think about how to tackle that. It would basically take a new file explorer (like total commander). This might be a bit larger than I want to tackle, but will research it a bit before ruling it out.
GUdy
bedaweed said:
program that makes led lights flash when phone rings would be nice
Click to expand...
Click to collapse
This would be very difficult as not every device handles the leds the same. Also, not every device has the same leds (color, # of, etc). I think No2Chem has a int. driver, but think it is only for the titan. Would be cool though...
Gudy
a system-wide launcher dock program like that on the velocity 103 PPC..
here's the URL for the review and video of the app (and the phone)
-------------------------------------------------------------
a new top bar replacemeent/notification system much like the "android Notification Drawer" it can replace the bubble (multiple) notifications icon when you got multiple and simultaneous notifications.. and also make it finger friendly (unlike M2D, no need to go back to homescreen to check email/sms previes and also calendar events, calls, etc.. also unlike big taskbar - from the touch phones, this'll have previews)
video: http://www.youtube.com/watch?v=z7qbPa1O8Ys&eur (at the 2 minute mark) , http://www.youtube.com/watch?v=hy-YcGNyJds
mjg7876 said:
Interesting...I will have to think about how to tackle that. It would basically take a new file explorer (like total commander). This might be a bit larger than I want to tackle, but will research it a bit before ruling it out.
GUdy
Click to expand...
Click to collapse
Fexplorer2 is basically a dll that works with the original file explorer context menu. there is a small exe that overwrites the original explorer to make it think that the explorer"s context menu has already been opened.
in a way it maybe possible to write a new dll and two exe
EXE 1 to replace the file explorer
EXE 2 to make thumbs db
DLL (conte4xt menu that alows to view as thumbnails/list etc ; as well as launching the second exe to make a thumbsdb)
maybe you can get some help from Hou Ming, the guy that made that program before.
it would be cool if you could get some of the old emus like pocket gba and pocket snes with window 6.1 I know i would be happy.
le_cactus said:
... when AC power gets connected/disconnected, when there is a change in screen orientation, and when a headset gets connected/disconnected and ...
Click to expand...
Click to collapse
I have been looking for a program that would stop the music (S2P, Audio Manager, or WMP etc...) if during playback of the music the headset is removed. Or for instance, when the device is on vibrate and you connect headset, it automatically changes profile to normal or something.
Another one is when I dock my device (or connect AC basically), I'd like clock program (or home screen, or photo slideshow, etc...) to come up automatically.
A feature that I miss from my older phones is the ability to set them to beep every minute during a phone call.
Now these are very general and not specific features. If you have any questions, don't hesitate to contact me!
Thank you,
SiNAra
ytsejam_ said:
a system-wide launcher dock program like that on the velocity 103 PPC..
here's the URL for the review and video of the app (and the phone)
-------------------------------------------------------------
a new top bar replacemeent/notification system much like the "android Notification Drawer" it can replace the bubble (multiple) notifications icon when you got multiple and simultaneous notifications.. and also make it finger friendly (unlike M2D, no need to go back to homescreen to check email/sms previes and also calendar events, calls, etc.. also unlike big taskbar - from the touch phones, this'll have previews)
video: http://www.youtube.com/watch?v=z7qbPa1O8Ys&eur (at the 2 minute mark) , http://www.youtube.com/watch?v=hy-YcGNyJds
Click to expand...
Click to collapse
The launcher on the 103 looks a lot like manilla, I know it is diff, but to me it seems mainly by presentation, not functionality. I do however like the notification top bar like that on android. Not sure how difficult taking over the top bar would be. I will do some digging.
S.V.I said:
Fexplorer2 is basically a dll that works with the original file explorer context menu. there is a small exe that overwrites the original explorer to make it think that the explorer"s context menu has already been opened.
in a way it maybe possible to write a new dll and two exe
EXE 1 to replace the file explorer
EXE 2 to make thumbs db
DLL (conte4xt menu that alows to view as thumbnails/list etc ; as well as launching the second exe to make a thumbsdb)
maybe you can get some help from Hou Ming, the guy that made that program before.
Click to expand...
Click to collapse
Can you give me a link to this? The only thing I could find (quickly) was sketchy at best. Still seems a bit much, but would like to know more about this Fexplorer2 thing before nuking the idea.
Gudy

Under Dev - CAD application for Android

My team has been vigorously working on a CAD application for android. I will post some screenshots of the tool if anyone is interested, so please let me know.
It's currently being tested and developed using a Motorola Droid running 2.0.1. Although we can run the emulator and test different screens using it, we find great difficulty in knowing if the "feel" is nice on a smaller screen.
Anyway - current features that are working:
Objects: Line, Circle, Ellipse, Rectangle, 3 Point Arcs, Text Areas
Drawing Modes: Orthographic (including 45s), Grid On Off, Snap Mode On Off (Endpoints, Centerpoints, Midpoints, Quadrants)
Other Things: Undo, Redo, Erase, Modify (reshape & move), Pan, Layering System, Linetypes, Colors & Text Sizes.
In The Works: Zoom (Option for Pinch), Configurable Toolbar (Add/Remove Tools), Export to DXF & Linetypes.
We are looking for a few people that would be willing to get in on a "PRIVATE Beta" to assist us with the continued development. We have our day jobs, so this is a project that when we have time to work on, we do. However, we do spent quite a bit of time working on it .
Anyway - We want to be picky about the testers, simply because we need to have a nice round group of people. Not plumpy, just round. We need a couple guys that are good with input, finding problems, etc. And we also need a few that dont know anything about CAD and can help us to see if the average joe can figure it out.
We also need a couple good mathmeticians or programmers. Or even one would do. We are having some trouble computing certain boundaries (ellipses to be more precise) that we need to understand so that we can build in other commands like Trim or Extend. (Plus our select option on ellipses is a bit hokey, but knowing how to find an ellipse will solve that for us)
For now, the only assistance I can give you is through the board here, and help you get started. The tutorial will come soon, once we get the basics figured out as to how we want to make it really work.
Anyway - To make a long story even longer - let me know if you might be interested. I would be more than happy to post some screenshots if you like of its current state. So let me know if you are interested.
Thank you very much for sticking through the long a$$ read, or even for skipping through to the "thanks" is enough for me.
That being said - LMK! Thanks!
A capacitive touch screen doesn't seem a good candidate for controlling a smooth CAD experience. However on second thought, when coupling together this technology with a trackball, the possibilities really open up. Harness these well and I know you'll be onto something here.
Post some screens to show everyone the progress of your development and I'll let you know if I'd be interested in testing.
Cheers
Well if your looking for anyone with CAD knowledge, I have a degree in engineering with CAD, and Pro Engineer. I don't have much time to devote to beta testing, but I do have time every now and then. I run a ION with 1.6. Good luck on your software!
(Unfortunately - my account has not been enabled for posting outside links or images - so this is the best i can do for you until that is enabled)
talon-designs.net/android/andcad/11.jpg
Above is a screen shot with a couple drawn elements, and the right side of the toolbar tools.
talon-designs.net/android/andcad/09.jpg
Above is a screen shot with a couple drawn elements, and the left side of the toolbar tools.
There are a handful of more screenshots posted up on my site, the links are as follows:
talon-designs.net/android/andcad/01.jpg - Layer select screen
talon-designs.net/android/andcad/02.jpg - File Operations
talon-designs.net/android/andcad/03.jpg - Display Settings
talon-designs.net/android/andcad/04.jpg - Samle Help Screen (Line)
talon-designs.net/android/andcad/05.jpg - Snap Settings
talon-designs.net/android/andcad/06.jpg - Color Picker
talon-designs.net/android/andcad/07.jpg - Snapping to Midpoint
talon-designs.net/android/andcad/08.jpg - Selection of Ellipse
talon-designs.net/android/andcad/10.jpg - Text Input Screen
That should be plenty of screens to keep interest.
@Lancealot - Thank you very much, and I completely agree, that when we started this, there was some doubt as to how precise you could actually be using a "touch based" screen. The good news, through playing with it, and given ability to set tolerances based on the size of your "touch area" as well as snapping options, we found that you can actually be quite precise.
Ill fiddle with it a little today, put together a drawing and give you a nice example of something that can be made with this.
Keep in mind, this is a work in progress, and although much of the functionality that is currently built into the tool, is at a "finished" state, there is certainly room for input and comments from others that may find use in this tool.
Anyway - here are the screenshots as promised, let me know if you have any further questions.
(Again - sorry about the inconvenience on the links)
(edit to update image types to jpg instead of png)
@zul8er - we are certainly interested in your input. Check out the screenshots and let me know if you are still interested. We dont need a huge commitment, but anything that you might be able to provide would certainly be a big help.
Android 1.6 is the minimum OS currently supported. We need to do some work on the graphics to go as far back as 1.5 to compensate for screen size, and we intend on doing so.. Just not at this current time.
I would be interested in trying out your CAD program. I've been doing CAD for ove 10 years now, started with AutoCAD but have been using Solidworks for the last 8 years.
In addition to using the touch screen for input, will you be able to enter X and Y coordinates using a keyboard or virtual keyboard?
What format will it save the files? DXF, JPG, or what?
Noob Squared said:
I would be interested in trying out your CAD program. I've been doing CAD for ove 10 years now, started with AutoCAD but have been using Solidworks for the last 8 years
Click to expand...
Click to collapse
Seems there are more and more of us creeping out of the woodwork on a daily basis
Noob Squared said:
What format will it save the files? DXF, JPG, or what?
Click to expand...
Click to collapse
Currently the file format is a proprietary format. But we are currently (today actually) working on saving out to a DXF format to be able to reload your files into AutoCAD or other supported softwares.
The ability to import is also in the works, but will require some massaging on the users end to make sure the DXF file is not binary etc. (MTEXT may not be supported either)
Noob Squared said:
In addition to using the touch screen for input, will you be able to enter X and Y coordinates using a keyboard or virtual keyboard?
Click to expand...
Click to collapse
We have toyed with the idea of being able to put in specific dimensions on objects, and also work with x/y coords, but at this time, it only supports point to point drawing. We arent completely sure if we intend on building a "FULL ON CAD" application, or an application for people to use to simply get an idea of what they need to do for a job. The other key, is to keep the application at a price range that is reasonable for people. Most "PocketCAD" applications run around 50 bucks a copy - and rightfully so. To keep the tool at a reasonable range (below 10 or 15 dollars) it may need to be a bit lighter weight than those. Most people cringe at a 2.99 app..
IF we could devote our time 100% i am sure we could build a really nice full blown cad app Unfortunately as with most of us, the day job prohibits some of that time.
Its a WIP I'll put you on the list. Thanks for the input.
Are you looking for beta testers?
Hi, are you looking for beta testers. I'm a long year CAD user, and I'm sure I can help with the app development.
[email protected]
Have you tried using some of the java based cad software as a source for your project? There are many and some might be open source.
http://sourceforge.net/projects/ycad/
Yeah I am still interested. It will be neat to play with and see how it works. The coordinate input is a good idea, also, ever play with Pro Engineer? They have a cool way of building an initial drawing. You just sketch, regen, and then input your dimensions to make the object to your liking. Makes things a lot faster and easier to edit a shape if changes need to occur.
I dont know how in depth you want to go, or if that idea can be used.
My email is [email protected]
Nice
Give me a couple more days to get a good product out for you guys to test. Currently we are cleaning up a few little "we'll get that later" issues, and should be good to go by mid/late next week.
Thanks for providing the contact info, I will shoot you a message through email shortly.
Thanks agian for the interest.
@zul8er: nice. Look forward to hearing how you like the feel of it. I havent had a chance to play with ProE, as AutoCAD has been my forte for the last couple decades. Ill see if i can any kind of demo for ProE, and get an idea of how it works. Who knows Anything to make it easier for everyone is a good thing.
But yah - the indepth thing is the issue. We keep tossing with ideas and putting them "on the list" in case people start asking for them. I guess it just depends on how people really want to use this tool. (and of course, how much time we can continue to devote to it) - bah i hate day jobs
I enjoyed the screen shots that were posted. Any idea whether you guys will support rendering/raycasting, or physics with inverse kinematics? Either way it looks great; Sign me up!
haha Not sure if we are going to go the IK way. Maybe as a different project, something more suited to 3D, but for this app, we are only intending on running the 2D route.
My lack of knowledge about the OpenGL portion, really limits us with regards to 3D implementation. I spent a good 3 days just trying to get ahold of loading in a 3D model.. Still never got there (or would have probably released a 3D model viewer first).
At any rate, its hard to say where this will go. It mostly depends on the overall interest i suppose. Its certain that the sky would be the limit, if time were as available as the sky
But cool.. Glad I was able to keep your interest.
Currently (as I type even) I am finishing up all of the help documentation for the app, the inline tutorial, and what not.. A couple more days on the file handling (DXF in particular) and should be set to go for a BETA run. ('couple more days' - like we all havent heard enough of that)
@lancelot - can you send me your email address via private message? That way I can do the BETA communications through there (link to files etc). You are welcome to email me as well:
support AT talon-designs.net
cheers!
Hey, I'm a high school student that has just started learning CAD, does that count as average Joe? I'd love to help beta test, I really want android to overpower iPhone 3.0 lol. My e-mail is [email protected] I use g1 with cyanogenmod 1.6...so idk if that qualifies. But anyways, Good luck!
This really sounds promising. In the last few weeks, I really had the need for a good drawing software on my mobile device. But my Tytn II lacks of power. As I soon will get the Desire, I will hopefully have a quite powerful device for all day use (my Tytn II really sux atm). And because I have the re-occurring need of a drawing app, this could be it.
I mean I don't need it for simple drawing, but for constructing things CAD style and on the go Graphics of furniture or something with measures and all that stuff.
Hey guys.. just wanted to pass you an update on status (which is so much more than I seem to be getting from Verizon on the 2.1 update).
Small rant, but its done now.
Ok - status..
DXF Export is working now, supporting layers, linetypes, colors, and elements throughout the drawing. Am having some issues with getting ellipses to export via DXF (and im not alone - faulty specs are at fault), and that combined with the other issues regarding the math behind finding ellipse edges, we decided to comment out the ellipse alltogether for now. Not that it wont be back, but having so many rules with "you can do this to anything - except an ellipse" left us with no other choice.
It's coming back, just not right now.
We have saving and opening completed (simple proprietary ascii format, but it works for what we need it to do).
Zoom is currently partially working (difficult to complete the recalculation on the elements, but its really close) touch events for zoom are coming up as well. Maybe a pinch zoom even, considering that all devices are getting the 2.0+ upgrade - but we will see.. We dont want to keep anyone excluded from being able to use the tool.
@Balrog82 - we have definately taken this tool a long way since its initial conception. We hope to be able to bring more features that are more "CAD Specific" to the application, and will if it becomes a tool that gets used. We want to release it initially as a "basic" drafting tool, and see what kind of input we get. If we see that a lot of people are using it, and would like the ability to put in dimensions the same way that cad does (within limits) we will certainly look into it.
That being said - I hope the tool is still something you would be willing to try out. I find a lot of enjoyment with working with a tool at its early conception (started using paint shop pro at version 1.42) and now its on to version 14 or something and owned by corel. I just kinda get into that sort of thing, and hope that you all will do.
Good thing is, we hope its a draw to the tool, we plan on releasing it at the market both as a free version (no saving abilities) and a full version at a low price. As the tool grows, the price may increase a bit.. Keeping of course the original buyers at a place that they can keep updating the software at no cost to them. We think that will help the advancement and development of the tool quite a bit.
Anyway - It is right around the corner for initial testing. Please to all interested - send me a PM with your contact information (just an email would be great) I am going to see if i can start a private discussion here to invite you all to as well.
@Lancealot - i got your PM.. Am very happy that you are interested in helping. Expect to hear from me again soon..
Until we can see a working model of this app, I thought I would throw out an app that has some great drawing capabilities. The paid was is called "Picso" by Tiki Move, but I used the free version to try out; it's called "Picso Lite".
It's not a CAD app, but it's different from the other Paint apps on Android in that it has tools the other ones don't. It has the usual tools a CAD user would need, such as Rectangles/Squares, Circles/Ellipses, and Lines. You can change the colors and widths of these entities.
What I like about your program is that it has snaps, and the tools are on the bottom of the screen so they are easy to get to: /talon-designs.net/android/andcad/07.jpg
A feature Picso needs is a Zoom tool so you can zoom in to an area and draw whatever you need to and then be able to zoom full screen. It also needs a text tool. Since there is no dimension tool, you could put a text for the dimension.
P.S.,
I want to try your app, but I am only posting this to show how someone else has put these tools on their app and also to have a comparison on ease-of-use. One other thought, you mentioned the files your CAD app will create will be proprietary file types. Will you be able to save-as .jpg or .png so you can email or text-message a sketch to someone? That way if your on-site you will be able to send someone back at the office whatever it is to explain your ideas, and also they would not have to have an Android phone to view it.
Idea sounds great. Good luck with it!
Sorry for being away for so long.. but we had something going on that we had to attend to..
http://developer.att.com/developer/index.jsp?page=event&id=6.3_v1_9700324
More news as it allows.
Android Category Winner
Talon Designs, AndCAD
This application allows users to create simple geometric shapes, combined with notes, to describe plans associated with the art, architecture, engineering and manufacturing industries. Many of the tools familiar to CAD users are incorporated into this utility, meaning that fluent CAD users will feel right at home using this tool. However, the interface for this tool is simple enough for even the most novices of users to understand. This enables certain users (Contractors, etc) to be able to take notes while on a job site and associate them with vector elements within the drawing.
talondesigns said:
Sorry for being away for so long.. but we had something going on that we had to attend to..
More news as it allows.
Click to expand...
Click to collapse
AT&T Open Call-Apps for All! Contest
Thank you to all the participants in the 2010 AT&T Open Call—Apps For All! Contest. This year's contest was filled with many great entries. AT&T reviewed over 90 applications this year ranging from games to business applications. The winners from each category will receive $10,000 and co-marketing opportunities with AT&T.
Click to expand...
Click to collapse
Did you get $10,000?

[Q] What debug and log tools are available?

Hi,
I'm interested to know which debugging/logging tools are available.
I'd like to get more information about the processes at startup, and specially logs of the CPU usage by each application over a period of time.
I've been searching for some time and the only I've found are the old Htc Test applications, but can't get what I want.
Noted that HTC devices have a builtin debug tool (debuglog.dll). Anyone knows how to use it?
Also found the following the following post describing the HTCDiagDriver and the possibility to analyze the device using QUALCOMM eXtensible Diagnostic Monitor.
http://forum.xda-developers.com/showpost.php?p=12624471&postcount=2
Anyone uses it?
Global debuglog can be enabled via DebugTool.exe (available in Htc Test Applications). It depends on debuglog.dll, yeah. Read manual, it works quite well.
Then, if you want to get log for selected app, launch it via IDA.
Also we have CeLog available, I will post needed launchers soon. I can hardly call it useful as we have retail/ship SYS builds. The only useful purpose for us is page faults chart.
EDIT: CeLog attached.
Some of the builds come with the Perfman package. That s.o.b. will really slow down your device, though, and it creates a massive log file, which I could never find the tools to analyze. I think celog does it, though, which is pretty sweet.
The htc debugger works better. You just change one of the debug flags and reset, and the device starts writing the log file. It doesn't slow down the device nearly as much as perfman. I think celog may work on that log file, too. You can royally eff up your device with that tool, though, if you mess with the radio flags. It's pretty cool how it writes to flash memory. Too bad you can't change other things with it like the page pool size.
ultrashot said:
Also we have CeLog available, I will post needed launchers soon. I can hardly call it useful as we have retail/ship SYS builds. The only useful purpose for us is page faults chart.
EDIT: CeLog attached.
Click to expand...
Click to collapse
I have been playing with the tool on my Tornado and observed the following (usage related):
Use it while the device is disconnected from PC. The overhead of repllog.exe (connected to ActiveSync on XP PC) and syncing is just filling your log. For my installation (no further MS Mobile development tools on the PC) kerneltracker.exe does not connect to the device anyway.
Though obvious, the files CeLog*.exe have to run on the device, so copy them to a convenient place there.
The CeLogAttach.exe seems to start the kernel logging and it slows down the device (kind of obvious). There is no way to stop this logging. Something like CeLogDetach would be needed, if it exists, to restore the state before CeLogAttach.exe was run.
The CeLogFlush.exe will flush the existing log but also immediately start the logging again.
The CeLogStopFlush.exe does just what the name tells - it stops the flush to file of the (still ongoing) logging.
After transfering the celog.clg file (from \Release\ directory of the device) it can be opened in kerneltracker.exe. Then you see all the kernelactivities logged and aligned per process/thread on a zoom-able timeline (10ms - 10s) including the labels of the logged primitives. With event filtering you can sort out what you are not interested in. Here you may need advice on what to look after when you want to hunt down a certain device behaviour.
I have checked for page-faults, Virtual Memory related actions (Allocate, Copy, Free) and also Module actions (load, free) to get a clue if and how modules and paging (or better said: the use of the Page-Pool) is correlated. Nothing eye-striking coming up here, but it may just be for the unknowing observer like myself.
@ultrashot: I could not find anything I would call a "page faults chart" - where is that - or what is that?
Looking further: If I change certain device properties (like increase the pagepool or playing with OSB advanced options) I fear that the logged information here is just far too detailed for a useful compare. For that you would have to create identical conditions for the action under scrutiny - something that cannot be done with a disconnected device.
So I have to admit that all objective compare of such tuning and tweaking is far above my head and I just have to join the many that make more or less clever assumptions trusting on their model of actions in their heads. I hope that the better knowing heads continue to spread their wisdom without only telling RTFM or guide with LMGTFY (which can help if the results really point to right places).
tobbbie said:
@ultrashot: I could not find anything I would call a "page faults chart" - where is that - or what is that?
Click to expand...
Click to collapse
Use Event filter->Miscellaneous->Page fault.
I am not too advanced user of this tool. If we had builds with extra celog instrumentation, we could have take much more from this tool. However, there are some articles in the internets about celog, so anyone who wants to be get more info may just try to google it. I don't want
ultrashot said:
Use Event filter->Miscellaneous->Page fault.
Click to expand...
Click to collapse
That is what I did already when telling about the items I cared below. Page faults are however part of generic virtual memory management and they do also apply for any normal loaded executables. As you know I seek for traces of module related paging and the use of the page-pool.
So it will stay with the trial and error and side-by-side compare with two devices having different settings. Not a big thing doing that...
Some interesting articles on MSDN regarding the paging pool (aka "pagepool"):
Kernel Blog article explaining the fundamentals (highly recommended): http://blogs.msdn.com/b/ce_base/archive/2008/01/19/paging-and-the-windows-ce-paging-pool.aspx
Pagepool Variable explained and simple methods to measure impact: http://msdn.microsoft.com/en-us/library/aa451041.aspx
-> this is what kitchentools are patching in the kernel
Then some more backup on virtual memory - just to complete on that:
http://blogs.msdn.com/b/ce_base/archive/2006/10/30/what-is-virtual-memory.aspx
http://blogs.msdn.com/b/hegenderfer/archive/2007/08/31/slaying-the-virtual-memory-monster.aspx
http://blogs.msdn.com/b/hegenderfer...aying-the-virtual-memory-monster-part-ii.aspx
And to get back to the debug tools topic of this thread, linked form the first article an introduction to the Remote Kernel Tracker to explain what you can actually see there (and why you cannot see certain things as we have shipped ROM builds and not profiling builds to deal with): http://blogs.msdn.com/b/sloh/archive/2005/05/17/introduction-to-remote-kernel-tracker.aspx
Great insight if you want to get a glimpse of how Windows CE operates under the hood.
...reading a little deeper in the MSDN articles, Sue Loh mentions there when talking about the paging pool size determination:
The best tool I know is that readlog.exe will print you a page fault report if you turn on the “verbose” and “summary” options. If you get multiple faults on the same pages, your pool may be too small (you may also be unloading and re-loading the same module, ejecting its pages from memory, so look for module load events in the log too). If you don’t get many repeats, your pool may be bigger than you need.
Click to expand...
Click to collapse
To avoid dealing with a full setup of the Mobile Development toolsets, could any one (ultrashot - you have been so helpful - could you??) post that mentioned "readlog" tool? If there is something like "CeLogDetach.exe", please add it too.
BTW: you may notice that the paging pool is a central part of the Windows CE memory management when it comes to running executable code from "memory mapped files" (as Sue Loh calls them). In my understanding these are simply what we know as "modules".
A lot of tweaking strategies go around that when building ROMs with OSBuilder. There are several ways how to avoid or optimize the use of the paging pool for certain or all modules in OSB. I think these options deserve an own thread and I am not sure if the one OSB thread we have should be cluttered with discussing this.
don't have any of those.

Categories

Resources