Nick (gagravarr) wrote,
Nick
gagravarr

nmea_info.py on Series 60 v3 (3rd Edition)

Artem lent me his S60 v3 phone today, so I've been working on making nmea_info.py work nicely on 3rd edition phones. I'd hoped that this would be a mix of changing all my absolute positioning to using a relative size, and selecting the new font.

So, I went through the code, and updated it all to use a relative positioning, based on the screen height required to fit 12 lines on the screen. This bit worked really well, and now all the text appears in the right place, and all the graphics are of the right size.

The snag came when I tried to get the font to be a sensible size. Despite the tiny font size bug being reported over 8 months ago, there's still no sign of a patch. All they need to do is allow you to specify either font=u'Font name' (as now) OR font=(u'Font Name',size) (with the size only having an effect on 3rd edition phones), then then pass that size onto the underlying font object. But, they don't, so the font is unreadable.
Update: The bug is finally fixed! You need to use S60 Python 1.3.22 or later.

Thankfully, I'm not the only person who things that the current python behaviour just won't cut it. So, there's now an un-official build of python for S60 3rd edition, which does the fonts a lot better. It doesn't have a font api that's compatible with older S60 phones, but they have fixed the default fonts (eg normal) to be the right size.

So, with Artem's phone running the un-official python 1.3.18, I was able to get nmea_info.py to render almost the same on S60 v2 and v3. All other S60 v3 users of nmea_info.py should grab the latest version (v22), make sure they have the patched version of python Python 1.3.22, and enjoy!

Update:Python 1.3.22 fixes the bugs, so use that, instead of the patched version.

Update 2: If you have installed the LocationRequestor module, then from nmea_info.py v23 onwards, it can talk to the internal GPS in a 3rd edition series 60 phone, eg the N95. However, owing to the pesky platsec stuff, all the .sis files (python, LocationRequestor and nmea_info) will need to be signed with a devcert, and granted all the extra permissions that allows.
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 22 comments