release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide
translations



Search | Go
Wiki > Main > HowtoWritePlugins > HowtoVerifyPlugins

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 DONE DONE  
recorder DONE DONE  
e200 DONE DONE  
gigabeat DONE DONE DONE
h10_5gb DONE DONE  
h10 DONE DONE  
h120 DONE DONE  
h300     DONE
ipod3g DONE DONE  
ipodcolor DONE DONE DONE
ipodmini DONE DONE  
ipodnano DONE DONE  
ipodvideo DONE DONE DONE
HW      
recorder DONE DONE  
e200 DONE DONE  
gigabeat      
h10_5gb      
h10      
h120      
h300     DONE
ipod3g      
ipodcolor      
ipodmini      
ipodnano      
ipodvideo DONE DONE  

r14 - 02 Apr 2021 - 20:46:06 - UnknownUser

Copyright © by the contributing authors.