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 capabilites 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 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 |  |  | |
Revision r12 - 16 Jul 2009 - 07:03 - ChristopheGragnic
Revision r11 - 14 Sep 2008 - 11:55 - MaurusCuelenaere
Copyright © by the contributing authors.
|