|
|
|
|
|
|
BMW Garage | BMW Meets | Register | Today's Posts | Search |
|
BMW 3-Series (E90 E92) Forum
>
BMW! A Challenge for Programmers
|
|
04-19-2008, 04:43 PM | #1 |
Private First Class
19
Rep 128
Posts |
BMW! A Challenge for Programmers
Here is a crazy yet sweet idea, that if properly got attention, we are gonna live in heaven hereafter.
I as an IT Engineer, had this idea cuz I'm a software freak, and after I had a look at my gadgets, Like Sony PSP / Sony Vaio Notebook / PDA. I found that some software developers discovered a way to run some applications called Homebrew on the wide variety of gadgets out there! And since BMW (Our E90s) are using a Windows CE version 3.5, so its basically an OS (Operating System) The thing is, since any OS can run/exceute applications, why not we can develop an application that can run on the iDrive and collects some useful information such as Software Version (CIP), and may be do more of tweaking and/or settings to the system Are you guys following me or you got lost already? It needs some guys with Hardware/Software knowledge to be able to understand me. I say like the PSP got custom made Firmware that enabled 3rd party applications/utilities, we can do the same here. Basically, iDrive is running on the OS, which means it has the Following: 1. a CPU 2. a Memory to Store/Save Settings (Hard Drive/RAM/ROM) 3. an Execution Memory (RAM) this sums up its a PC somehow, or evn a PSP (LOL) So with some knowledge we can see some software developers Compile some applications that we can run when put properly on the DVD of the Navi, Provided it has the right code to i.e. Reboot the system before execution. A Crazy Idea, But Plp. out there are doing it day and night, and since our cars are now intelligent enough.... I Guess we should share in this. Feedbacks are most welcomed. Just Digest the whole Idea before submitting me replies. Willy
__________________
Power is Nothing Without Control!
|
04-19-2008, 05:51 PM | #3 |
Major General
147
Rep 6,333
Posts |
Cool, and you are really in Egypt?
__________________
2017 BMW M4 DCT Lease Transfer: https://f80.bimmerpost.com/forums/sh...8#post23736398
|
Appreciate
0
|
04-19-2008, 06:03 PM | #4 | |
Gobble gobbledygook
5
Rep 287
Posts |
Quote:
At the end of the day, I'm not going to hack my car, and risk the system crashing whilst I'm driving at 70mph I suspect that it's a real-time system, where the various components have to be thought out and be in balance. Adding something else may tip that balance. |
|
Appreciate
0
|
04-19-2008, 06:18 PM | #5 |
Back in the f80
57
Rep 815
Posts |
An idea crazy and ingenious enough such as this has so much potential for disaster. Its hard to say what risks you are willing to take on your car with something like this let alone your life if anything were to go wrong god forbid. But nonetheless im catching your drift and its a really good idea
__________________
2003 SS S2000
2016 MW F80 2018 BMW X3 X-Drive |
Appreciate
0
|
04-19-2008, 11:50 PM | #6 | |
Lieutenant
95
Rep 532
Posts |
Quote:
To put a super long story short, without inside information, I believe this task is near impossible. It seems that the OS and the 'idrive apps' are stored on some flash device and thats where the system boots. Placing anything on the DVD will not help unless you can configure the system to "boot off the dvd". If you can get to the flash area, grab an image of whats on there, that would be a good start. Even better, if you can find someone at BMW to give you the source code, API calls, libraries, registry definitions... However, if you take a slightly different approach to it, you might bear more fruit. Check out the TVandNav2Go units, these interface with the iDrive but act as a layer on top of the system. That way, you don't have to mess with the idrive and risk breaking things. Just find a way to tap into the idrive video, and run your own machine with any app you want! If you want the app to interface with car elements, you might be able to do so to limited non-critical things such as windows, lights..etc by interfacing with the buses running through the car. Check out the picture below of my buddies honda s2000. this dude basically has a full PC in his trunk. So yeah, he has facebook, movies, tv, outlook..etc in his car (ps - I have been to egypt several times, cool place! ) |
|
Appreciate
0
|
04-19-2008, 11:57 PM | #7 | |
Captain
21
Rep 703
Posts
Drives: '11 550i
Join Date: Oct 2007
Location: Calgary, Canada
|
Quote:
"The first generation iDrive system is based on Microsoft's Windows CE for Automotive. This can easily be seen when the system reboots or restarts after a (software) crash displaying a "Windows CE" logo. [1] However, starting with the second generation (first seen in the 2004 5-series), Microsoft Windows CE was replaced with Wind River's VxWorks, a real-time operating system. [2] The third generation will employ Internet Protocol networking, using off-the-shelf IP components to replace proprietary networking systems"
__________________
'11 550i | AT | Dark Graphite on Black
|
|
Appreciate
0
|
04-20-2008, 04:03 AM | #8 | |
Lieutenant Colonel
26
Rep 1,826
Posts
Drives: E92 335i
Join Date: Sep 2006
Location: Lake County, IL
|
Quote:
Some people have reported that there are vxWorks binaries on the navigation DVD's; maybe there's an update mechanism you could use to get your own code into the system? I'd lay odds that the binaries are signed, though. |
|
Appreciate
0
|
04-20-2008, 06:36 AM | #9 |
Private First Class
19
Rep 128
Posts |
All of you are Right, But
TofuTurkey, You described the thing as I was hoping, and yes there is a specific ARCHITECTURE, for the Application to be compiled, and yes after (Calgary Agent) rectified my plan regarding the OS, there should be an SDK that one can use to write/edit/compile binaries for the VxWorks OS, I know it should be (SIGNED CODES) to be able to run on the system.
THEN: SAFETY! Well, Why would we tamper with SETTINGS OF THE CCC, its just we can READ-IN/scan Data, not nessecarily (WRITE), IT can enlighten us about SW Versions/Fault codes/etc. I know that safety matters alot, but also let not forget that the base is MECHANICAL, so Brakes/Gears/Engine/Shocks/Etc. are all mechanical, ofcourse they are somehow controlled via SW, but we can stay away of WRITING DATA TO THE SYSTEM, JUST (READ) THE INFO. the CCC monitor several sensors, Like the OBD FAULT CODES AVAILABLE IN THE HIDDEN SERVICE MENU, thats i used to calculate various settings, like coolant TEMP, Oil Level, Fuel in Left and Right Tanks - Those are what Im talking about. E90330iS: Yes Im at Egypt! im spencer: Nothing Should go wrong, IF we didn't Tamper (WRITE) settings to the System. You shouldn't be that afraid. skimo : Exactly, TV/Nav2Go surely uses/has a SW/HW info. that they can INTEGRATE theire devices to work with iDrive, so its not impossible! btw, the layout you have is freaken nice, in a way. Finally: Since we have now a Semi-clear idea about OS being deployed/used, and since we are missing some HW Archeticture, we can communicate with VxWorks for that matter. Believe me guys, its going to be ultra geniuos machine, and we would love the end result. keep it up!
__________________
Power is Nothing Without Control!
|
Appreciate
0
|
04-20-2008, 08:35 AM | #10 |
Private
5
Rep 73
Posts |
First post on the forums, so hi there
I will soon be getting my 335i as soon as school is out, so i can prob. help a lot more when I get it. While I have been waiting i have been researching the same things you guys are talking about. I have been drawing plans for my own computer in my car (as it wont be leased ) and I have got a few routes for said "carputer" 1. Obvious choice, hook up to the iDrive. A lot of problems here, one being that this isn't off the shelf parts, its OEM parts designed to run iDrive and iDrive only, so that is more trouble than its worth IMO. 2. Integrate a computer into the Dashboard: Buy a LCD Screen with no frame and have a dashboard frame fabricated into the console, much more complex/expensive to do. 3. Build a "carputer", mounting the LCD on a retractable mount. 4. Lastly, and probably the best way, hack the nav screen and hook up a computer to it. Have a switch to toggle from display to display maybe? http://www.europeanautosource.com/in...cPath=67_69_73 The NAV systems have a TV Tuner in europe, but not in the US Versions, they sell kits for the older systems (e46/e36) to do exactly that, but no word on e9- models yet. edit: VxWorks is a unix-based RTOS for embedded platforms, so its not like you can get all the info you want off the internet about it. Plus just having to buy the parts to test/develop such a hack would be more expensive than doing 2,3 or 4. |
Appreciate
0
|
04-20-2008, 09:14 AM | #11 | |
Gobble gobbledygook
5
Rep 287
Posts |
Quote:
For the code-reader sort of thing, the application will reside in an external device, and communicate via a (well-known?) interface. In this case, all that's necessary is to know the protocol (packet headers and fields definitions, which might be BMW-specific). There's no need to worry about OS and hardware on the car. For something else, even if it simply reads but does not write, the fact that it resides on and runs off the car's computer means that it is utilizing CPU and memory. Depending on how those are managed, it may have an adverse effect on the rest of the system. For instance, you may decide to continuously poll the registers, at the highest priority, so the rest of the system might appear to hang. Or allocate so much memory that the other processes starve and die. Perhaps it would be good to define the application's capabilities first Agree it's the best way. Display interface should be standard, and the toggle can be something like those KVM switches perhaps (??) |
|
Appreciate
0
|
04-20-2008, 11:01 AM | #12 |
Private First Class
19
Rep 128
Posts |
Lets DEFINE the Application Requirements as a starter, Everyone should share his wishes in this, Yet Make sure that the requirements doesn't NEED TO WRITE, Just READ INFO.
Secondly, Why Desgin the Application to be WITH LOTS OF LOAD, and/or HIGH PERIORITY, if we just develop it with an (EXIT) Command, we are done! (nuxted): You didn't address any of the requiremet we are talking about, The PC Retrofit in the Car is sth. and the JUNCTION between the Car's CCC and OUTSIDE APPLICATION is another thing. Keep it up again!
__________________
Power is Nothing Without Control!
|
Appreciate
0
|
04-20-2008, 12:45 PM | #13 |
Private First Class
19
Rep 128
Posts |
OK, I will very Soon vist the BMW Manufacturing Facility (Factory) in Egypt - Cairo, and I will see if some of the Engineers over there might be of any good help.
I will try to collect more technical information from the development Engineer, yet this surely a classified information, but with some good connections I guess I will be able to pull out with sth. useful I will let you Know, when I complete this much anticipated VISIT
__________________
Power is Nothing Without Control!
|
Appreciate
0
|
04-20-2008, 04:43 PM | #14 | ||
Lieutenant Colonel
26
Rep 1,826
Posts
Drives: E92 335i
Join Date: Sep 2006
Location: Lake County, IL
|
I think you might be misunderstanding a few points:
Quote:
To be fair, the signed-build requirement is pure speculation but is not uncommon in the industry. Quote:
This is a really a pretty solid solution: there's no need to modify the software on the iDrive system unless you just want to see if it can be done. It sounds like you think modifying the CCC is the only way to read off the car's CAN bus? You can tap the bus anywhere with off-the-shelf hardware. Last edited by tintivilus; 04-21-2008 at 12:49 AM.. |
||
Appreciate
0
|
04-20-2008, 11:06 PM | #15 |
Private
5
Rep 73
Posts |
I found this while browsing the forms:
http://www.kudausa.com/kuda_mount_an...006-3-38.html# its exactly what i was gona try and make, except it looks 100 times better than I would ever be able to do, I could probably make a mount to fix a nice 7inch or 10 inch display on there and have everything wireless or wired to a trunk computer or maybe a laptop underneath the passengers seat? |
Appreciate
0
|
05-30-2008, 02:51 PM | #16 |
Private First Class
7
Rep 173
Posts |
The graphics apps are written in Java.
The diagnostics (easter eggs) seems to be written in C. There is no safety concern. You cannot access the byteflight bus that controls safety devices such as airbags. You also cannot interfere with the PTCAN bus. Having physical access to a CCC would be very useful. If anyone can post some pictures I can certainly have a look at what the implementation is. We have done Java on VxWorx before. The boot loader is often in a seperate block of completely seperate flash. Often the boot loader can be interrupted by having access to a UART. So if we have access to the CCC we can trace that and see if this is the case. It is quite likely that they have flash implementing a file system. Often the boot loader can view/replace the contents of the file system. Anyway to start we need to take the lid off the CCC. In South Africa we have something they call a motorplan with all cars. If I touch the CCC I may loose my motorplan which is like a full warranty covering free repairs, services, software updates, etc. Let me know if anyone have access to a CCC and a digital camera - we can get going.
__________________
Jun 2006 330i Manual, Active Cruise, Comfort Access, Nav prof, Voice, Bluetooth
|
Appreciate
0
|
06-06-2008, 05:57 PM | #17 |
Captain
31
Rep 949
Posts |
These systems are closed systems - and for good reason. I just don't think the niche is big enough to make this something an independent development community would pick up. Maybe in the future these systems will open up.
Good Luck!
__________________
2008 e92 335i Step | Is Gone - It was fun but not meant to be | M3 - Cancelled | 135 Ordered
|
Appreciate
0
|
07-15-2008, 04:49 PM | #19 |
Private First Class
7
Rep 173
Posts |
I am pretty sure that at more than 300 000 sold per year the market would be large enough well for me at least.
__________________
Jun 2006 330i Manual, Active Cruise, Comfort Access, Nav prof, Voice, Bluetooth
|
Appreciate
0
|
Bookmarks |
|
|