LCD status

Posted by planetbeing on under wine fest, spring beer, iphe, pain in the butt, th step, funny name, pmu, hande, framerate, sime, management unit, chip sets, lcd panel, framebuffer, power management, init, two steps, award winner, general purpose, many things |

Looks like the LCD initialization stuff wasn't as simple as I thought. Depending on the way you look at it, there are three or four major initialization steps for the display. The first step initializes the display controller chip, sets the clock and everything. The could of messages you see about the framerate and clock are from this step. The second step ought to initialize the framebuffer for the display controller. I've reverse engineered and implemented those two steps so far.

The third step is to communicate with the LCD panel itself, and likely configure it and configure the display controller for it as well. This is the infamous "merlot_init" function. I have no idea what merlot is (other than a wine variety). Could be the codename for the driver, or the display controller. Can't be for the LCD itself, since its design to hande many different panel types. It's a pretty funny name, though, so I've started working on syrah_init. Syrah, because the 2005 Dalla Vina vintage was an award-winner at the Spring Beer & Wine Fest that I went to last year.

The problem with merlot_init is that it uses GPIO, SPI, IĀ?C as well as memory mapped registers to communicate with the panel and/or the display controller. That's almost every single bus on the iPhone, so basically I had to write drivers for those controllers as well before I could start on merlot_init. Those are now written; no idea if they work, but they're written. It's going to be a big pain in the butt to debug such a complicated driver. There's just too many things that can go wrong.

It's possible I might start implementing some of the PCF50633 (iPhone's power management unit) functionality. I can at least access powernvram (the general purpose memory registers on the PMU, really) pretty simply using IĀ?C and I ought to be able to test that piece out anyway.

On another note, for the longest time I couldn't figure out what those gpmem registers did on the PMU. I reversed some code that manipulated them, but I couldn't figure out where the data was being used, etc. However, I didn't spend much time on it because I didn't think they were going to be very important for what I was doing (since their values don't affect the initialization of any of the other drivers). Well, last night I told MuscleNerd about this for some reason, and he pointed out that there's a command called "powernvram" in iBoot that, no less, attaches descriptions to every single one of those registers! They just keep track of boot failures and stupid stuff like that. It just goes to show that you can't spend TOO much time just doing static RCE. Sometimes you've got to fire up the actual application, or at least give the old ztringz a go. ;)
Tagi: wine fest, spring beer, iphe, pain in the butt, th step, funny name, pmu, hande, framerate, sime, management unit, chip sets, lcd panel, framebuffer, power management, init, two steps, award winner, general purpose, many things

Lifehacker: SetPower Adjusts Your Computer's Power Management on a Schedule [Downloads]

Posted by on under optis, power management, different times, ships |

Windows only: Windows ships with some solid power management options, but it misses the mark on one issue: Most of us need different energy-saving schemes at different times of the day. SetPower...
Tagi: optis, power management, different times, ships

Nothing much new

Posted by planetbeing on under lengthy battle, life stuff, revis, power management, cleanup |

As you guys can probably tell, I've been mostly busy with other real life stuff and I haven't been working on Android much. That will be changing pretty soon however.

I was able to have a lot of fun doing an interview on This Week in Android. Hopefully I wasn't too geeky for them!

There's nothing else new, I think. I'll try to integrate in the backlight stuff first and some of the cleanup that Bluerise did on the layout for the Android tree. That will be very important moving forward.

After that, there's a possibility that before moving onto the power management (which might be a fairly lengthy battle), I can whip up an installer and updater for current and future revisions that works through Cydia. Do you guys think I should work on that first or dive straight into the power management stuff?



Tagi: lengthy battle, life stuff, revis, power management, cleanup

Status update

Posted by planetbeing on under source repositories, neat projects, lger, pc speakers, secd, iphe, sdio, ipod touch, body of knowledge, first experience, buzzer, binaries, power management, computer programming, pcm, tweeter, 3g, ports, hack, peoe |

I know the binaries for the iPhone 3G are taking a while. Everything is basically done and all the code I have is in the source repositories so people are free to build it for themselves. However, I wanted to improve the packaging slightly to ease installation (no longer requiring people to modify ext2 partitions). The release of the binaries (and a how-to) will be sometime within the next week.

The binaries will have more features than the iPhone 3G demo showed: It will have full calling and sound support. The code for that (and everything else) is already finished and is in my github if you would like to check it out.

Meanwhile, I am working on some stuff that is slightly more fun. Last night, I brought openiboot for the first-generation iPod touch up to scratch so that it supports all the features the other ports of openiboot support: sound, multitouch and SDIO (for WLAN) are the notable things I had to fix. Earlier today, I figured out how to drive the piezoelectric tweeter on the iPod touch.

Hopefully, we'll be able to roll out the iPod touch binaries with the 3G binaries and get on with the real work: power management and the little details that will make Android a truly viable alternative on our three early ports.

In the meantime, I hope to find some time to play with the piezoelectric buzzer on the iPod. Two neat projects I think I or some other enterprising person should do with it:

The first one is implementing an interface for it that is compatible with QBASIC's PLAY statement. QBASIC was my first experience with computer programming. In fact, I learned the language exactly concurrently with English.

The second is taking the considerable body of knowledge people have about programming PC Speakers and getting them to output PCM sounds from them and adapting them to the iPhone. It would be an awesome hack to get the iPod touch speaker playing some real music! I am reading this page for some hints, but I would love suggestions or help from people who may have had more experience.

One of the things I have always really wanted to do is to create a demoscene-style demo on the iPhone. I've always admired the demoscene and I want to be cool like them but I don't have the right skillset to do the "graphix" and music. It would be cool if we can get a group together (if any of my readers are demosceners!) and create the first iPhone demo to run on bare metal.

P.S. I switched over to IntenseDebate for the comments. One of the reasons is that blogger lets a lot of spam comments through, forcing me to do moderation on older posts (I only filter comments that are clearly spam: I let anything else through, including flames, trolling, etc.). I would rather not have to perform moderation so I'm hoping IntenseDebate will do a better job. Also, some of these posts get a huge volume of comments and I think IntenseDebate would do a better job organizing the comments.



Tagi: source repositories, neat projects, lger, pc speakers, secd, iphe, sdio, ipod touch, body of knowledge, first experience, buzzer, binaries, power management, computer programming, pcm, tweeter, 3g, ports, hack, peoe

Milwaukee V28 Transitions to Milwaukee M28 Tools

Posted by on under lbs torque, hammer drill, milwaukee tool, battery technology, power tool, dpm, power management, new tools, flashlight, chargers, milwaukee v28, batteries, shelves, torque, transitions, amp, press release, nbsp, stock, ohio power |


You may be thinking, oh no I’m going to need either new tools, battery or chargers for my V28 Tools to work with the new ones… Nope that is not the case. The M28 platform will be “100% compatible” with the current Milwaukee V28 tools. In fact many of the M tools will basically stay the same, with same part numbers but will be getting the upgraded “M” batteries in the kits. The new batteries will feature Digital Power Management (DPM) and newer construction features that will extend the life of the batteries. Additionally the batteries will provide better overall performance and runtime for all your existing tools.

In addition to the upgraded battery technology we will also see the first of hopefully many new M28 tools with the M28 Hammer Drill 0726-22 ($419, Ohio Power Tool) & M28 LED Flashlight 49-24-0187 ($59, Ohio Power Tool) which should be on shelves very soon. The new ½” Hammer Drill features 750 in.lbs torque more than any other cordless drill on the market today in 18v, 24v, 28v or 36v categories. Check the Ohio Power Tool Milwaukee M28 website often for when exact each model will be in stock with the new M batteries. Items will switch as each tool transitions from V28 to M28. For more information read the official Milwaukee Tool Press Release Below. 


Tagi: lbs torque, hammer drill, milwaukee tool, battery technology, power tool, dpm, power management, new tools, flashlight, chargers, milwaukee v28, batteries, shelves, torque, transitions, amp, press release, nbsp, stock, ohio power