BrightSign Users Guide Matches: BrightSign HD2000 Version: 1.2.27 AutoPlay Script Version: 1.2 California, USA www.rokulabs.
INTRODUCTION ............................................................................................................................. 4 BRIGHTSIGN FEATURES.............................................................................................................. 5 EXAMPLE BRIGHTSIGN SETUPS ................................................................................................ 7 EXAMPLES .........................................................................................................
SETTING THE DATE/TIME ON BRIGHTSIGN (HD2000 ONLY) ........................................................... 50 WRITING BOOT SCRIPT & LOGO TO ROM ...................................................................................... 50 WIDESCREEN VS. 4X3 DISCUSSION .............................................................................................. 52 SUPPORTED INPUT DEVICES ........................................................................................................
Introduction The Roku BrightSigns are complete standalone Digital Sign or Kiosk Controllers that can play content from standard Flash memory cards. BrightSigns have uniquely high quality video playback. This is achieved via professional quality decoders and a scaler that can produce crisp clean 1920x1080 interlaced video from high definition mpeg sources on an HD2000, and 1024x768 video on a VGA monitor from standard definition mpeg sources on an HD600.
BrightSign Features BrightSign HD600 Display Resolutions NTSC PAL S-Video (requires adaptor) 640x480 (VGA out) 800x600 (VGA out) 1024x768 (VGA out) 480p (Component out) 480p (HDMI out) 576p (Component out) 576p (HDMI out) 720p (Component out) 720p (HDMI out) 1080i (Component out) 1080i (HDMI out) Video Compression Standards MPEG-1 MPEG-2 Picture Formats BMP PNG JPEG Audio Formats AC3 pass through MP3 decode out to analog and SPDIF MP3 decode out to USB 5.1 Dolby digital decode (analog output) 5.
Compact Flash card slot SD/MMC flash card slot Video mode select button LEDs: connector activity and video mode Back Panel Connectors Power 3 audio out stereo 1/8” mini plugs VGA (also supports XVGA) Component out 3 RCA jacks: Y-Pr-Pb HDMI out 2 High Speed USB host ports 10/100 Ethernet jack DB25 control port (for buttons & LEDs) RS-232 serial port Optical SPDIF audio out 1/8” 5V serial port 8 position dip switch Power Typical power consumption Features Auto play and looping video support Playlists .
Example BrightSign Setups Probably the simplest way to use BrightSign is to put a video or set of still images on a CompactFlash card, and use a VGA cable to connect the BrightSign to a flat panel monitor. Variations on this setup include using the component out to connect to a High Definition display (like a Plasma TV), or even connecting to a standard definition display. On the HD2000, HDMI out can be used to connect to a display.
Examples Here are some examples of what you can do with a BrightSign: • Display a looping video with “DVD+” quality on a variety of monitor types. • Display a looping slide show in high definition. • Play looping music. • Combine any of the above. • Create interactive displays that play video, photos, or audio in response to customers using touch screens, mouse, keyboard, remote, or a custom button board you have created.
your monitor is configured to the correct input type and is connected using the correct cable. You should now see the demo in various video modes, and see how it auto scales and supports widescreen or 4x3. Note that the front panel “video mode” button is not currently supported on the HD2000. Software Versions The version of the BrightSign device software that matches this manual can be found on the cover of the Manual.
BrightSign Documentation The complete set of BrightSign documentation is available at www.rokulabs.com/BrightSign.
Getting Started Step 1: Get Hardware You Need To start using the BrightSign, you’ll need the following hardware. • Display – Any monitor, TV, or Elo touch screen with a VGA, Component, Composite (HD600 only), or HDMI (HD2000 only) inputs. • CF Card Reader/Writer o A Compact Flash card to store the demo or your content. Read “Selecting Compact Flash Cards” o A USB card reader for your PC or Macintosh that supports compact flash cards. You can get one for less then $20.
Media Types Supported The following media types are supported: • MPEG-2 Video Files (aka “VOB” or “MPG” files) - These are the same types of files that are found on DVDs. They can be authored using any video editing software such as Pinnacle Studio or iMovie. Video sizes up to 1080i (1920x1080 interlaced) are supported with bit rates up to 25Mbps on the HD2000, and sizes up to D1 (720 x 480) are supported with bit rates up to 9 mbps on the HD600.
Playing Media with BrightSign Media can autoplay from a CompactFlash card upon power-up, play via a script on a CompactFlash card, or be tested using the serial shell commands. NOTE: On an HD600, video will come out the VGA connector, and the resolution will be 1024x768 unless you have changed this in your .CSV, Playlist, or Script, or by using the front panel video mode button. On an HD2000, video will come out the Component and HDMI connectors and the default video resolution is 720p.
2. Go to www.rokulabs.com/brightsign and download the “autoplay.zip” file. This contains a script named autorun.bas. Copy autorun.bas into the root directory of your CF card. 3. Insert the CF card into the BrightSign, apply power, and after a few moments, the video should play and auto loop. Auto Playing a Playlist upon Power-up A playlist is a text file that describes a sequence of still images, or video clips, or audio clips to play, and the order they should play.
1. Create the script using a text editor (see the script section of this manual for more information) 2. Save it to the root directory of your CompactFlash card with the name “autorun.bas” Creating a Schedule for Auto Playing Videos, Still Images, Playlists, or CSV Files To play videos, still images, playlists, or CSV files at scheduled times, do the following: 1. Create the scheduling file “autoschedule.txt” using a text editor. See the scheduling section of the manual for more detail. 2.
Playlists A BrightSign playlist is a text file that ends in “.bsp” (BrightSign Playlist). It contains the names of the files to play, in the order they should play. Files are played in sequence, one after the next. This means that it is not currently possible to have a playlist that plays audio and a video at the same time, for example. Getting Started To play a playlist, you must have your content, the playlist, and the Roku autoplay script (autorun.bas) on your CF card.
Playlist Commands Here is the list of commands that can appear in a playlist: .bmp, .mp3, .mpg, .vob, .png (HD2000 only) Any line that is a file name that ends in one of these extensions is played. Names may contain spaces. .bsp You can call another playlist from within a playlist putting the playlist filename on a line by itself. For example: mysubplaylist.bsp. This “sub playlist” will complete one loop and then return control to the main playlist.
audiochan # (default is 2 ) Since there are three analog outs, if analog is selected you must also use the "audiochan" cmd: • audiochan 2 -- output 1 (this is not a typo) • audiochan 1 -- output 2 • audiochan 0 -- output 3 volume # (default is 100 ) Sets the volume to a value between 0 and 100. For example: volume 100 videomode (default is 1024x768x60p ) Set the output framebuffer format.
lighton # lightoff # These two commands are used to set or clear one of the GPIO outputs. The number can be any integer between 17 and 22. For example: lighton 17 sets LED 0 on the button board. waitbuttonany This will pause until any of the GPIO buttons is pressed. pause # This will pause for the specified number of seconds. The number must be an integer.
Creating Interactive Displays With BrightSign you can create displays that respond to user input. For example, give the customer options of watching different videos depending on which button is pressed. To accomplish this with BrightSign, you need to decide what the input device will be, and you will need to either (a) use Microsoft Excel to create a control table and use BrightSign’s “autoplay .CSV files” mode, or (b) create a custom control script.
STATE bs5.bmp bs6.bmp STATE bs6.bmp bs7.bmp STATE bs7.bmp bs8.bmp STATE bs8.bmp bs9.bmp STATE bs9.bmp bs10.bmp STATE bs10.bmp demo_menu .bmp Keywords The first two lines use the optional “videomode” and “imagemode” keywords. These items are optional, but if used, can have these parameters (in the column after the keyword VIDEOMODE or IMAGEMODE).
• 3 - Scale to fill. The image is stretched so that it fills the screen and the whole image is viewable. This means that the aspect ratio will not be maintained if it is different to that of the current screen resolution. FLIPELO This keyword isn’t used in the example above. The FLIPELO keyword should only be used with a touch screen if the touch screen coordinates appear to be reversed.
• • • • button - Triggers on a GPIO Control Port button press. The format is: button:number, where number is between 0 and 12. timeout - When a video or slide is displaying, you can use a “timeout” event. The format is: timeout:seconds where seconds is the number of seconds after the video/image starts that the event will trigger. This event can be used to advance a slide show to the next slide, or exit a looping video after a certain number of seconds of playback.
In the example above, the state cars.mpg is in the “elo:110:180:350:400” event column. To track the number of times that the user activates this transition, enter “cars.mpg:counter(TouchToDemoMenu) in place of “cars.mpg”. The value in the registry corresponding to the TouchToDemoMenu key is incremented when the corresponding event is triggered. To display the contents of the registry from a CSV file, use the reserved state name “DisplayRegistry”.
• • ppt10.bmp:gpiosOff(0;2;4) o LED’s 0, 2, and 4 are turned off; other LED’s are unaffected when the ppt10.bmp state is entered product1.bmp:gpios() o All LED’s are turned off when the product1.bmp state is entered Preloading Images The autoplay script tries to be smart about preloading still images so that when a user triggers their display, they pop up immediately. Here are the rules that are used to preload an image: 1.
State File (CSV) Examples The BrightSign Demo described above shows that you can design powerful interactive signs using easy to understand CSV files. The following examples further illustrate how easy CSV files are to use. Example 1: Slideshow that advances automatically after the first slide plays Example 1 contains two events, an elo event (used for ELO touch screens or any Mouse input) and a timeout event. The clickable/touch area is defined as the whole screen. One touch or click starts the slideshow.
Example 2: slideshow that advances only when a click / touch occurs Example 2 has only 1 event, the same elo event as Example 1. • There’s an elo event entry for each image that plays next image when there’s a click or touch anywhere onscreen. • There are no timeout events in this demo. Because example 2 only has an elo event, and no timeout events, you must click or touch the screen to advance the slideshow.
Example 3: Video and Slide playback, using button input Example 3 contains five events, three button events and a timeout and videoend event. This demo plays two videos and 3 images. When this demo starts, menu.bmp is displayed since it’s in the first STATE position. • If the menu is being displayed, pressing button 1 starts the attract video; pressing button 2 starts the showcase video; pressing button 3 starts the slideshow.
OFF image is displayed. This allows buttons to highlight as the mouse cursor moves over them.
• • • • • Starting position is: 765, 674 The touch region is 96 pixels wide and 43 pixels high The rollover region is enabled The on and off images are: next_on.bmp and next_off.bmp. The rollover images are displayed in the same location as the touch region Normally, the on and off image have the same dimensions as touch region (width, height), and the same starting position (x,y). The rollover origin (x_origin, y_origin) allows you to specify a different starting position.
Example 5.1: Example 5.
Scheduling Playback (HD2000 only) Videos, still images, playlists, and CSV files can be played back at scheduled times using the autoschedule.txt file. This file contains a series of date/time specifications, followed by a specification of what to play when the date/time event occurs.
specification indicates that “video.mpg” will start playing at 4:00 PM every Wednesday in January, 2008. The playlist “breakfast.bsp” will start playing at 7:00 AM during January, 2008. Finally, “demo.csv” will be launched everyday in January, 2008, at 2:00 PM. Note that blank lines can be added (as above) to autoschedule.txt files to improve readability. Additionally, “REM” lines can be added to annotate these files.
9. If you want the script to autorun upon boot, rename it “autorun.bas” Roku Objects As well as the BrightScript language itself, BrightSign relies upon a library of “Roku Objects” to expose the hardware to the scripting language. Each Roku Object provides access to certain capabilities. For example, there is a roVideoPlayer object and a roTouchScreen object. To create an object in a script, the CreateObject() function is used.
Registry (HD2000 only) The BrightSign has an I2CROM with 2K bytes of memory that supports the storage of persistent settings. The purpose of the registry is to enable customers to persist usage statistics and other small amounts of information that may change regularly. Individual items are stored in the registry through the use of registry keys and values.
msg=p.GetMessage():if type(msg)<>"rotINT32" then clear_events goto event_loop Learning More and Support The following resources can help you get the most from your BrightSign: 1. Visit www.rokulabs.com/brightsign 2. Refer to each of the different BrightSign documents available (listed at the start of this manual). 3. Visit the BrightSign community Forums to discuss projects with other customers and Roku engineers: www.rokulabs.com/forums 4. Contact brightsignsales@rokulabs.
Troubleshooting If you are still having problems after trying troubleshooting tips, please contact customer support at www.rokulabs.com/brightsign for more assistance. Autoplay & General Troubleshooting Autoplay.mpg does not play automatically 1. Verify autoplay.mpg is spelled correctly 2. Verify that the autorun.bas v1.1 or later and autoplay.mpg are both in the root of the CF card 3. Verify you do not have an “autoplay.csv” or “autoplay.bsp” in the root of the CF card.
8. Contact Roku Customer Support if you are still having problems. Video output includes artifacts, quality lower than expected The format of video content should be chosen to best match the properties of the intended display resolution. Most of the video output modes are progressive and so for the highest quality video reproduction, video files should be MPEG-2 encoded as progressive files.
1. Verify autoplay.bsp is spelled correctly 2. Verify that the autorun.bas v1.1 or later and autoplay.bsp are both in the root of the CF card 3. Verify you do not have an “autoplay.csv” or “autoplay.mpg” in the root of the CF card. There should only be one autoplay file in the root of the CF card. 4. Check if your PC is set to show file extensions. If your PC is not set to show file extensions, and you rename the file “autoplay.bsp”, you may have accidentally named the file “autoplay.bsp.txt.” 5.
BrightSign Software Update Fails 1. 2. 3. 4. 5. Verify that the update file is named update.rok Verify the update file is in the root of the CF card, not in a sub-directory Try reformatting the CF card as FAT32 Try using a different CF card Try updating from the BrightSign Shell. Please see “Device Software and Upgrading” for details. 6. Contact Roku Customer Support, www.rokulabs.com/brightsign., if you are still having problems.
USB Mouse is not responding The BrightSign works with many different brands of USB mice. Before troubleshooting the mouse, please download the BrightSign Demo, and test if your mouse works with the demo. If the mouse works with the demo, then the problem is with your script or the coordinates used in the .csv file. 1. Unplug the mouse from the BrightSign, and reconnect 2. If you are using a wireless mouse, reconnect the wireless transmitter, and replace the batteries in the mouse 3.
Appendix Selecting Compact Flash Cards Summary When using a BrightSign Product, your content and scripts are loaded onto a Compact Flash (CF) card. Although the CF interface is standardized, there are a wide range of performance, compatibility, and reliability issues with different CF card brands and models. Roku strongly recommends that you use “industrial rated” CF cards with BrightSign.
speed with BrightSign by placing a file on it, and using the shell “readperf” command (see the BrightSign User Guide on shell instructions). BrightSign Compatibility BrightSign is compatible with most CF cards, but may not be 100% compatible with every model. Although there are standards for CF card interfaces, most chips are slightly different. We have tested with a large number of chips, and at this point have high compatibility.
Device Software (Firmware) and Upgrading The BrightSign is pre-programmed with two primary software images: a “Safe Mode” and a “Run Mode”. The Safe Mode software image is write protected, and not changed once programmed by the factory. Its main purpose is to validate that the run mode rom image is not corrupt, and boot the unit. In addition, it can upgrade or re-program the main run-mode rom image. The main run mode software image is stored on a flash rom and may be upgraded in the field.
The upgrade process is very safe. If for some reason it fails, for example a power failure in the middle of the update, the unit’s “safe-mode” will still boot and will still perform upgrades as above. Updating from the BrightSign Shell BrightSign works with most CF cards, but is not compatible with all. See the “BrightSign Shell” section for more details on testing your CF cards and accessing the shell.
7. After a few moments you should see the BrightSign shell appear. It should also show you the software version number. Verify it is 1.0.72 or greater. List of Shell Commands With the shell running, type: help for a list of commands. Type the command on a line by itself for more information on a particular command. Example Shell Commands: Playing Files & Changing Settings All files on the CompactFlash card should be referenced with a “/” in front of the filename.
imageplay slide1.bmp 1 The current version of the BrightSign software does not support “hot swap” of CompactFlash cards. You must put in the CF card before applying power. Using SD Cards (HD2000 only) To list the contents of a CF card, enter any of the following: dir dir cf:/ dir ata:/ To list the contents of an SD card, enter: dir sd:/ To explicitly refer to a card from within a script, use “CF:/” for compact flash cards or “SD:/” for SD cards. When an autorun.
Testing Scripts, Playlists, and .CSV An efficient way to test playback is to use the BrightSign Shell. By using the shell, you can see “debug output”. From the BrightSign Shell you can start your script manually and view output from the script. You can start a script from the shell by using the “script” command. Follow the directions above to connect the BrightSign to your computer, and access it using Hyperterminal. As your script runs, you’ll see output in your terminal program.
• • Add print statements showing names of files read from the flash card Add print statements showing the coordinates of a mouse click To begin testing your custom script: 1. Copy your content and script file to the compact flash card. 2. Name your script run.bas. You can call it anything, as long as it’s not autorun.bas, so it doesn’t start automatically. 3. Add a debug statement to the top of your script, like the autorun.bas. Now, we’ll see output from the print statements you added to your script.
Linux Shell (HD2000 only) The HD2000 has a Linux shell that can be accessed via the serial port. To access the Linux shell, enter the following at the Roku prompt: exit When done using the Linux shell, enter the following at the Linux prompt: reboot Setting the Date/Time on BrightSign (HD2000 only) BrightSign has a real time clock that can be used for scheduling content playback. In order to use BrightSign’s scheduling features, the date and time on the BrightSign must be set.
7. Assumes logo.bmp is the file name of your logo file on the CF card. 8. Reboot the system - your logo should appear Using Your Own Boot Script The script must be self contained. For example, it can't be used to play a playlist or csv file. You can use the boot script to play any content on your CF card (images, audio, and videos). 1. 2. 3. 4. 5. 6. Save your boot script as myscript.bas Copy your myscript.
Widescreen vs. 4x3 Discussion BrightSign can be used with widescreen or 4x3 displays. However the use of different display aspect ratios with the various BrightScreen options can often be confusing. In this section we try to clarify what you can expect. Displaying Videos Video and Images are currently treated a little differently. When a video is being played back, it is displayed by default in what is known in BrightSignese as “ViewMode 0”.
• • • • • • • • • • • • • • • • Elo Touch Screens Many brands of USB Keyboards Many brands of USB Speakers – HD600 only Many brands of USB Mouse or Trackballs Many brands of USB Bar Code Scanners (these appear as a keyboard). Quadravox Serial Button Board Any “GPIO” button, signal or LED (your custom board or led display). Roku has a test button board available for purchase on our estore. VGA Monitors Component-input TVs.
1. DB9 Serial Port - The RS232 serial port can be used to control any serial device or to access the shell. Serial control is accomplished using BrightScript and the serial object. 2. DB25 GPIO Control Port - For connecting your own LEDs or Buttons (see the GPIO Control Port section of this manual) 3. Line Level Audio Outputs and SPDIF - When audio is playing back (either by itself or as part of a video), it can be directed to any one of these audio outputs, or to SPDIF, or to USB Speakers.