Forums | developer.brewmp.com Forums | developer.brewmp.com

Developer

Forums

Forums:

I just ran into an interesting - and very frustrating - problem on the Kyocera SE47.

When calling a CONVERTBMP on one of my bitmaps it fails because it can't allocate the memory it needs - which is fair enough. The problem is that it is trying to allocate WAY TOO MUCH!

One image is 256x128 pixels and should hence take about 64kBytes when converted. However, the handset tries to allocate TWICE that!

I tried it with another bitmap, this time 8x3768 pixels in dimension and the same thing happens. It fails! Instead of trying to allocate 60kBytes as you'd expect, it tries to allocate 120kBytes. Since the handset is a bit strapped for memory to begin with with its meager 400KByte of RAM, this is deadly, of course, and currently I am not sure how I can get my app to run.

Did anyone else notice this issue?

And, of course, does anyone have a suggestion how I could get around this - short of simulating a CONVERTBMP myself on that particular handset?

Also, my handset reports an incorrect device id. It reports 5014, which is the id for the KX414, instead of the id 5013 that it should according to the device data sheet.

Ouch. Does it do that for every dimension of bitmaps you've tried? If (for whatever bizarre reason) it doesn't do if for smaller bitmaps, it might be advisable to split your large bitmap into several smaller ones (either by messing around with your resources, or programmatically at run-time).
The only other thing I can think of (and please note that I have no experience with this particular handset) is, as you said, to write your own CONVERTBMP wrapper. But this presupposes that the device-dependent format utilises the normal 2 bytes per pixel, which may not be the case if it is trying to allocate twice that. If the device-dependent format does indeed use more than 2 bytes per pixel, then I'm afraid you're out of luck :(. I'm guessing this is not the case, though, as no handset manufacturer is that inefficient! ;)
You've probably considered all of this already, but I thought I'd chime in just in case! ;)

Ouch. Does it do that for every dimension of bitmaps you've tried? If (for whatever bizarre reason) it doesn't do if for smaller bitmaps, it might be advisable to split your large bitmap into several smaller ones (either by messing around with your resources, or programmatically at run-time).
The only other thing I can think of (and please note that I have no experience with this particular handset) is, as you said, to write your own CONVERTBMP wrapper. But this presupposes that the device-dependent format utilises the normal 2 bytes per pixel, which may not be the case if it is trying to allocate twice that. If the device-dependent format does indeed use more than 2 bytes per pixel, then I'm afraid you're out of luck :(. I'm guessing this is not the case, though, as no handset manufacturer is that inefficient! ;)
You've probably considered all of this already, but I thought I'd chime in just in case! ;)

simon,
Thanks for the thoughts. I had considered all that and even though the native format seems to be straight forward, I am very hesitant to do that.
The more I worked on the issues on that particular phone the more it raised a signal in my head. Maybe my handset is simply screwed up. It's a pre-productionhandset and maybe its firmware is really so old that it just doesn't do what the final handset is doing. I decided to have it reflashed and then try again.
So, let's see how that'll turn out.
If someone here has a commercial SE47 handset, could you please see what deviceID the handset is reporting, as mine is reporting an incorrect one.

simon,
Thanks for the thoughts. I had considered all that and even though the native format seems to be straight forward, I am very hesitant to do that.
The more I worked on the issues on that particular phone the more it raised a signal in my head. Maybe my handset is simply screwed up. It's a pre-productionhandset and maybe its firmware is really so old that it just doesn't do what the final handset is doing. I decided to have it reflashed and then try again.
So, let's see how that'll turn out.
If someone here has a commercial SE47 handset, could you please see what deviceID the handset is reporting, as mine is reporting an incorrect one.

I have an SE47 and it is correctly reporting device id 5013. It lists its software version as: NS1.0.14

I have an SE47 and it is correctly reporting device id 5013. It lists its software version as: NS1.0.14

Thanks for the heads-up. My software version was NS1.0.31
I sent it to Qualcomm for re-flashing and we'll see how it behaves when it comes back. :-)

Thanks for the heads-up. My software version was NS1.0.31
I sent it to Qualcomm for re-flashing and we'll see how it behaves when it comes back. :-)

cookie, did it alter the CONVERTBMP behaviour though ?

cookie, did it alter the CONVERTBMP behaviour though ?

I have two SE47 phones , both showing NS1.0.21 software version but different PRI version
yet my code works well on one phone but crashes on other
The problem occurs during loading of images
Is it necesary to have NS1.0.14 software version since the device data sheet from quallcomm also mentions the same:rolleyes:

I have two SE47 phones , both showing NS1.0.21 software version but different PRI version
yet my code works well on one phone but crashes on other
The problem occurs during loading of images
Is it necesary to have NS1.0.14 software version since the device data sheet from quallcomm also mentions the same:rolleyes:

charliex,
I have not tested my SE47 with CONVERTBMP, but I know that the phone definitely exhibits strange behavior with images. When I try to load and display a 180x17 pixel image from my resource file, the phone will load it but will not display it, and also stops displaying some of my other images. The applications I am writing do not rely on graphics that much so I can work around these minor issues, but I am unfamiliar with the more complicated issues dealing with graphics. If I find some time I'll try to test out CONVERTBMP.

charliex,
I have not tested my SE47 with CONVERTBMP, but I know that the phone definitely exhibits strange behavior with images. When I try to load and display a 180x17 pixel image from my resource file, the phone will load it but will not display it, and also stops displaying some of my other images. The applications I am writing do not rely on graphics that much so I can work around these minor issues, but I am unfamiliar with the more complicated issues dealing with graphics. If I find some time I'll try to test out CONVERTBMP.

Any more on this subject? I am about to hit the SE-47 with an app that uses a whole load of graphics...I am getting a bit worried reading this... :eek:

Any more on this subject? I am about to hit the SE-47 with an app that uses a whole load of graphics...I am getting a bit worried reading this... :eek:

No, there's nothing new on he subject. The CONVERTBMP implementation on the SE47 is broken. The best way to circumvent the problem is to write your own conversion routine.

No, there's nothing new on he subject. The CONVERTBMP implementation on the SE47 is broken. The best way to circumvent the problem is to write your own conversion routine.