How to verify plugins
Cross platform coding
A
plugin has to work on all supported platforms. Besides some
coding conventions the following topics have to be considered for plugin coding:
- Display
- Display height/width (
LCD_HEIGHT/LCD_WIDTH
) ranging from 112x64 to 320x240
- color capabilities (
HAVE_COLOR_LCD
)
- levels of bits per color/greyscale (
LCD_DEPTH
)
- check if background colors, background light and backdrop images are handled correctly in the plugin
- Buttons
- usage of unified button handling makes life a lot easier (and code more compact). See
rockbox/apps/plugins/lib/pluginlib_actions.h
and its usage in some plugins for reference.
- OS
- Is there any
rb->yield()
in the code?
- Find more platform specific properties in
rockbox/firmware/export/config-target.h
- Some of the issues can be solve by putting the plugin source file in the correct section in
rockbox/apps/plugins/SOURCES
.
- ARM, MIPS and SH require aligned memory accesses (Coldfire doesn't), and on ARM, the "char" type is signed by default, but unsigned on most other platforms.
- Plugins should make use of the plugin api where possible. eg. the menu api should be used for all plugins (see
rockbox/apps/plugins/solitaire.c
)
Cross platform verification
Make sure that the plugin works on the following platforms (platform specific issues to be completed)
- DISPLAY (only HAVE_BITMAP listed here)
- Mono (1bpp)
- 112x64 mono: check one of
fmrecorder, ondiofm, ondiosp, recorder, recorderv2
- Greyscale (2bpp)
- 138x110: check one of
ipodmini, ipodmini2g
- 160x128: check one of
ipod3g, ipod4g, h100, h120
- Colour (16bpp)
- 128x128: check
h10_5gb
- 160x128: check one of
h10, iaudiox5
- 176x132: check
ipodnano
- 176x220: check
e200
- 220x176: check one of
h300, ipodcolor
- 320x240: check
ipodvideo
- 240x320: check
gigabeat
List of plugins currently under verification
|
rocklife FS#6616 |
maze FS#6636 |
Spider Solitaire FS#6599 |
SIM |
|
|
|
recorder |
|
|
|
e200 |
|
|
|
gigabeat |
|
|
|
h10_5gb |
|
|
|
h10 |
|
|
|
h120 |
|
|
|
h300 |
|
|
|
ipod3g |
|
|
|
ipodcolor |
|
|
|
ipodmini |
|
|
|
ipodnano |
|
|
|
ipodvideo |
|
|
|
HW |
|
|
|
recorder |
|
|
|
e200 |
|
|
|
gigabeat |
|
|
|
h10_5gb |
|
|
|
h10 |
|
|
|
h120 |
|
|
|
h300 |
|
|
|
ipod3g |
|
|
|
ipodcolor |
|
|
|
ipodmini |
|
|
|
ipodnano |
|
|
|
ipodvideo |
|
|
|
Copyright © by the contributing authors.