Miscellaneous software?
Mixture of utilities for Symbian OS?
味噌?
Your guess is as good as ours.
Miso is a Python for S60 utility library, which was developed in the PDIS project at HIIT. The idea of the library is to provide simple utility functions and classes that are easy to implement using native Symbian OS resources, but which would be difficult or impossible to implement in pure Python.
The library consists of a single Symbian OS native dynamic link library that has a Python interface. We have tested it on S60 v2 and v3 phones only, but don't know of any reason why it would fail to run on S60 v1 phones. We have found the library to build with a number of different Nokia S60 SDKs, using GCC, GCCE and MSVC 6.0 compilers. We have done both Windows and Linux hosted builds, with Nokia (on Windows), GnuPoc (on Linux), and sdk2unix (on Linux) style SDK installations, respectively.
Most of the Miso functionality has been around for a long time, and is thus reasonably well tested. We are not, however, too worried about adding (or removing) features of a more experimental nature.
The programs used to test Miso features also serve as example programs.
API documentation for the current (possibly unstable) version of Miso is available in both HTML and Python formats.
Each (versioned) release of Miso also comes with API documentation. See the downloads directory and the older releases page.
imp.load_dynamic
, now building
without a .py
wrapper—were not using it for pure Python
additions anyway. S60 v3.1 and v3.2 py2
variants now built for
PyS60 1.9.7.
have_process
(cf. kill_process
) and miso_version
functions.
stack_info
actually built in.
stack_info
function, inspired by LogMan and its RLogMan::StackInfo
function for logging stack usage. stack_info
may be useful when getting KERN-EXEC 3 panics, and wondering whether there is enough stack space.
CHWRMVibra
API for vibra functionality in 3rd edition builds.
Added kill_process
function.
Made initmiso
the only C++ export, also for GCCE builds.
For binaries, source, and documentation of older releases of Miso, see the older releases page.
A collection of release builds is available. The sisx
installation packages are signed, while the sis
ones are not. s60_3x
variants require signing, whereas s60_1x
and s60_2x
variants do not. The self
variants have maximum self-signed capabilities, while the dev
variants have maximum Symbian Open Signed capabilities. The py1
variants are for Python for S60 v1.3/v1.4, while the py2
variants are for Python for S60 v1.9.
Note that we are supplying binaries built for a number of different S60 platform versions, despite all S60 releases except for 3rd Edition having so far retained—to an extent—binary compatibility. While most of the utilities in the library only make use of well-established APIs, and are thus likely to run on any somewhat binary compatible S60 device regardless of which build is being used, the library does have some platform specificity, to the extent that some functionality hasn't even been implemented for all versions of the S60 platform. To reduce the likelihood of incompatibilities, you're best off installing whichever SIS file is the closest match for your phone.
A darcs repository of the source code (with
change history) is also available, and can be retrieved with the
get
command of darcs
.
Depends on the Python for S60 runtime. Does not depend on non-public APIs or anything exotic. Python must be installed on the target device to run this software. The appropriate Python SDK plugin(s) must be installed on the development host to build this software.
Contributions are welcome. Send patches to the below email address.
The send
command of darcs
may be used.
The Miso source code repository is also hosted at SourceForge, and while that repository presently does not contain the most recent code, this situation could be rectified if it should be helpful for contributors to have direct access to the source repository.
The work was initiated in the PDIS project at HIIT.
A number of Python for S60 extensions have been developed at HIIT. These include:
pyexpat
, with a statically linked Expataosocketnativenew
—a socket library that served as plumbing for PDISinbox
module for accessing received OBEX Bluetooth messages
Tero Hasu
tero.hasu@hut.fi