Site Tools


documentation:development:opera:pf25:ppgfldr:smmfldr:gspfldr:12pgs010

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

documentation/development/opera/pf25/ppgfldr/smmfldr/gspfldr/12pgs010.txt · Last modified: 2022/10/10 16:53 by 127.0.0.1