I have written an Win32 and Pocket PC (WinCE) application for a standalone engine control unit (ECU) from Apex'i.

Here is a Screenshot.

Normally the ECU is programmed with a handheld commander.

Most of the app is written in ANSI C and compiles with gcc under Linux. It runs on little endian as well as on big endian CPUs.

When i've read the first time about the empeg i thought it would be cool to program and monitor the ECU with the car stereo. That's the reason why i've bought the empeg.

But i don't know yet how i integrate it into the player and I have some questions about the ARM cpu.

The data in the ECU and the communication packets are byte-aligned, therefore i've used a pragma to byte-align the structs (only 8 and 16 bit members). Could this cause any problems with gcc and the ARM cpu?

I would like to log the data from the ECU on the harddisk. I guess it would not be the best idea to write it immediately to the HD. How much memory can i allocate for a buffer? I need about 500 bytes per second. And when and where should i write the data? I don't want to mount the music partition with read/write access.

Also once started the app should log the data automatically in the background. Is it possible to run the player app and an own app at the same time?

I want a new menu item in the Hijack menu and if the user selects the item i want my own menu to pop up. Can Hijack send a signal to my process to notify it to take over the display?

And last but not least, how do i get the events if the user presses a button? I guess this has been discussed many times but i can't find it in the FAQ or forum.

Thanks
Andre