====== bs_example ====== Peripheral example program. ==== Synopsis ==== ''%%bs_example%%'' ==== Description ==== This demonstration program lets you move a cel (a cloud) around the screen with a joystick and leave an image of it on the screen when you press the trigger. You can also distort the cel and clear the screen. The program supports control pad, joystick, and mouse interaction. This example illustrates how to use the broker shell peripheral interaction utilities. The connection/configuration/disconnection routines can be used as-is in final code. The data interaction/processing is less efficient than it could be for the sake of modularity, comprehensibility, and flexibility. If you unpack the''%% BS_NiceWaitEvent()%%'' and ''%%BS_ProcessXxxData()%%'' routines and perform that processing in a more direct way performance will improve. You should also eliminate any debouncing checks that you don't use. Joystick controls * **Stick** move in x and y * **Z** zoom in/out U/D/ * **L/R switch** deform cel * **Trigger** leave copy of cel on screen * **A** clear screen * **B** recalibrate stick (to recalibrate, hit B with stick in neutral position and move the stick and z throttle to the limits of travel) * **C** quit * **RightShift** switch to mouse Mouse controls * **LeftButton** leave copy of cel on screen * **MiddleButton** clear screen * **Movement** move cel in x and y Pad 1 controls (used with mouse): * **RightButton** switch to joystick * **D Pad** distort cel * **C Button** quit * **RightShift** toggle mouse edge conditions between bound & wrap Pad 2 controls (only if there are 2 pads and no mouse): * **D Pad** move cel * **A Button** leave copy of cel on screen * **B Button** clear screen * **C Button** switch to joystick control * **RightShift** toggle movement speed between high & low ==== Caveats ==== Lightgun support is not yet included in this example. ==== Associated Files ==== cloud.cel ==== Location ==== examples/EventBroker/Control_Port_Peripherals