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