QNX Development for CIC

doublespaces

Administrator
Oct 18, 2016
9,310
4,342
0
AZ
Ride
2009 E93 335i
Using OpenGL ES to draw images. It's running at 55-58fps average with 20 64x64 RGBA (32bpp) sprites, but have some lags about once a second. Hmi is suspended in this video (did slay -h)

Do you mind if I share this video? Or would you prefer to keep it private for now? This is just too cool :)
 

dolphin78

Private
Jun 23, 2017
42
53
0
Ride
335i 2012 (F30)
You can share it, I don't mind
So no we have everything to build a simple game (but why?):
  1. User input from CIC controller. HMI should be suspended while our app is running to get exclusive access to the controller.
  2. 2D and 3D graphics using OpenGL ES
  3. Easy start from USB stick with no CIC modifications
 

dolphin78

Private
Jun 23, 2017
42
53
0
Ride
335i 2012 (F30)
So no we have everything to build a simple game (but why?):
  1. User input from CIC controller. HMI should be suspended while our app is running to get exclusive access to the controller.
  2. 2D and 3D graphics using OpenGL ES
  3. Easy start from USB stick with no CIC modifications
It would be very cool if we had access to CAN bus but I was not able to find how to do it yet. I only can read some data from the MOST bus.
 

Xer0449

Corporal
Jan 30, 2017
174
59
0
It would be very cool if we had access to CAN bus but I was not able to find how to do it yet. I only can read some data from the MOST bus.

Thank you so much for your contributions. There's a CIC design doc in the other post showing their connectivity, if it helps at all. I was unable to get a disk image of this to boot in any virtualized fashion, btw. I was hoping that it would entice other developers to jump in.
 

rhodesman

Corporal
Mar 21, 2017
199
120
0
45
Maryland
rhodesman.com
Ride
2010 BMW E88 N54 135i
OMG!!! This is fantastic!! Will be testing this out tonight! (sorry I've been MIA for a while, life has taken a very sad turn for my family internally and haven't had much time for projects)
 

dolphin78

Private
Jun 23, 2017
42
53
0
Ride
335i 2012 (F30)
My latest and biggest achievement so far:
But don't get too excited. Looks like this is the most this hardware is capable of. It's running in 320x200 resolution (native for doom). If I scale it to 640x400 frame rate drops to about 3fps as RAM to VRAM copy is very slow and I don't see how this can be improved.
I don't think I'll come up with anything new any time soon as I'm quite tired with all this (was spending 3-4hrs on research almost every day last 4-5 weeks) and disappointed in the hardware.
 

doublespaces

Administrator
Oct 18, 2016
9,310
4,342
0
AZ
Ride
2009 E93 335i
My latest and biggest achievement so far:
But don't get too excited. Looks like this is the most this hardware is capable of. It's running in 320x200 resolution (native for doom). If I scale it to 640x400 frame rate drops to about 3fps as RAM to VRAM copy is very slow and I don't see how this can be improved.
I don't think I'll come up with anything new any time soon as I'm quite tired with all this (was spending 3-4hrs on research almost every day last 4-5 weeks) and disappointed in the hardware.

Time to overclock?

This is a really awesome achievement even if it's limited. Is there something less graphically intense we could use this for perhaps?
 

dolphin78

Private
Jun 23, 2017
42
53
0
Ride
335i 2012 (F30)
such games as Arkanoid, Snake or Tetris should work well.

doublespaces, you can make this video public btw. I'd like you share it but not sure where to put it.
I can share the game as well if anybody is interested
 
  • Like
Reactions: doublespaces

doublespaces

Administrator
Oct 18, 2016
9,310
4,342
0
AZ
Ride
2009 E93 335i
such games as Arkanoid, Snake or Tetris should work well.

doublespaces, you can make this video public btw. I'd like you share it but not sure where to put it.
I can share the game as well if anybody is interested
Well is a git out of the question with the material being used? Perhaps a guide or some place for people to take over or continue your work? I'm not sure what's involved exactly.
 

doublespaces

Administrator
Oct 18, 2016
9,310
4,342
0
AZ
Ride
2009 E93 335i
No worries man. We have revision control but it's not a public facing feature currently so github would likely be better. We have a document section also if that suits you.

Does the normal cic menu work properly behind the doom overlay? Or is the image frozen? Can the scope be changed instantly between them? At the least it could be an interesting picture in picture option...also for regular applications I suspect. Pandora? Or a wrapper for other apps?
 

dolphin78

Private
Jun 23, 2017
42
53
0
Ride
335i 2012 (F30)
No worries man. We have revision control but it's not a public facing feature currently so github would likely be better. We have a document section also if that suits you.

Does the normal cic menu work properly behind the doom overlay? Or is the image frozen? Can the scope be changed instantly between them? At the least it could be an interesting picture in picture option...
what you are asking is doable but right now I put cic menu on hold while doom is running. It resumes after I exit doom
 

doublespaces

Administrator
Oct 18, 2016
9,310
4,342
0
AZ
Ride
2009 E93 335i
what you are asking is doable but right now I put cic menu on hold while doom is running. It resumes after I exit doom
Very good. We would love to read your findings I'm sure, hopefully you can get take a break and get a second wind! Thank you for your contributions.
 

doublespaces

Administrator
Oct 18, 2016
9,310
4,342
0
AZ
Ride
2009 E93 335i
Lastly, if you could update the description of the video to include our public connected drive thread url so we can attract more developers, that would be appreciated.
 

dolphin78

Private
Jun 23, 2017
42
53
0
Ride
335i 2012 (F30)
This is monumental. Thank you.

Was there a cross compiler available?
Yes, cross compiler is part of QNX Momentics Development Suite available for download here: http://www.qnx.com/download/group.html?programid=16801
You'll need a serial number to install it (which I found somewhere in internet) and need to do something with activation check (I patched binaries after installation to disable it).
To use graphics you'll need QNX Advanced Graphics TDK (Technology Development Kit) which is sold separately. I copied missing libraries from here I think: https://github.com/acklinr/qnx650
 
  • Like
Reactions: rhodesman

Deadknight

Lurker
Jul 29, 2017
24
14
0
Yes, cross compiler is part of QNX Momentics Development Suite available for download here: http://www.qnx.com/download/group.html?programid=16801
You'll need a serial number to install it (which I found somewhere in internet) and need to do something with activation check (I patched binaries after installation to disable it).
To use graphics you'll need QNX Advanced Graphics TDK (Technology Development Kit) which is sold separately. I copied missing libraries from here I think: https://github.com/acklinr/qnx650

Hi,

First of all sorry for my grammar. English is not my native language.

Thanks to rhodesman, now i have all (maybe not all) the necessary sdk binaries on my harddrive but there are lots of different tools.

Can you provide some kind of documentation, or step by step guide to setup development environment?

Also is it possible to inject new menus to idrive system via memory injection?(like trainers). Maybe we can integrate android auto through that.
 

dolphin78

Private
Jun 23, 2017
42
53
0
Ride
335i 2012 (F30)
Hi,

First of all sorry for my grammar. English is not my native language.

Thanks to rhodesman, now i have all (maybe not all) the necessary sdk binaries on my harddrive but there are lots of different tools.

Can you provide some kind of documentation, or step by step guide to setup development environment?

Also is it possible to inject new menus to idrive system via memory injection?(like trainers). Maybe we can integrate android auto through that.
Check this QNX Momentics IDE guide: http://fusion.qnx.com/4/10404/IDE_userguide.pdf?tid=1037724_eT_0815105408&ending=IDE_userguide.pdf

Regarding menu injection - this may be possible but requires a lot of research. Same with android auto.