-ne Button
Friedrich-Alexander-Universität UnivisSuche FAU-Logo
Techn. Fakultät Willkommen am Department Informatik FAU-Logo
Logo I4
Lehrstuhl für Informatik 4
SPiC
 
  Übungen
  Dokumentation
  HowTos
  Evaluation
  Prüfungsinformationen
  protected area Intern
Übungen
  Anmeldung
  Folien
  Aufgaben
Department Informatik  >  Informatik 4  >  Lehre  >  WS 2013/14  >  SPiC  >  Übung  >  Doku  >  Button

SPiCboard library (libspicboard, revision 8997) API documentation

Found a bug or something ambiguous? Mail us to get it fixed!

The button module enables event-driven and polling access to the buttons of the SPiCboard. More...

Files

file  button.h

Typedefs

typedef void(* buttoncallback_t )(BUTTON, BUTTONEVENT)
 Type for button event callback functions.

Enumerations

enum  BUTTON { BUTTON0 = 4, BUTTON1 = 8 }
 Identifiers for all available buttons. More...
enum  BUTTONEVENT { BTNPRESSED = 1, BTNRELEASED = 2 }
 Events for buttons. More...

Functions

int8_t sb_button_registerListener (BUTTON btn, BUTTONEVENT eve, buttoncallback_t callback)
 Register a callback function for a button event.
int8_t sb_button_unregisterListener (BUTTON btn, BUTTONEVENT eve, buttoncallback_t callback)
 Unregister a callback function for a button event.
BUTTONEVENT sb_button_getState (BUTTON btn)
 Query the current state of a button.

Detailed Description

The button module enables event-driven and polling access to the buttons of the SPiCboard.

The SPiCboard is equipped with two buttons. Button 0 is debounced in hardware, whereas Button 1 needs to be debounced in software by the button module. Debouncing is transparent to the application, that can use both buttons through the provided interface without the need to care about debouncing.

The debouncing code makes use of the timer module. When no listeners are registered for Button 1, the debouncing code is disabled and all alarms registered at the timer should be canceled.

The button module uses dynamic memory management to maintain the listener queues.

Typedef Documentation

typedef void(* buttoncallback_t)(BUTTON, BUTTONEVENT)

Type for button event callback functions.

A button callback function is called on the interrupt level whenever an event at a button occurs that the function was registered for. The callback function is passed the button id and the type of event that occurred. This way, the same callback function can be registered for different buttons and events.

Enumeration Type Documentation

enum BUTTON

Identifiers for all available buttons.

Enumerator:
BUTTON0 

Button 0

BUTTON1 

Button 1

Events for buttons.

Pressed and released events for buttons.

Enumerator:
BTNPRESSED 

Button was pressed

BTNRELEASED 

Button was released

Function Documentation

BUTTONEVENT sb_button_getState ( BUTTON  btn)

Query the current state of a button.

Parameters
btnid of the button
Returns
The buttons current state (pressed or released) as a BUTTONEVENT
int8_t sb_button_registerListener ( BUTTON  btn,
BUTTONEVENT  eve,
buttoncallback_t  callback 
)

Register a callback function for a button event.

Parameters
btnthe id of the button
evethe type of event that the callback function should be invoked for. event types can be bitwise or'd to register a callback for both pressed and released events.
callbackpointer to the callback function. This function is called from the interrupt handler.
Return values
0success,
!0error
See Also
sb_button_unregisterListener
buttoncallback_t
int8_t sb_button_unregisterListener ( BUTTON  btn,
BUTTONEVENT  eve,
buttoncallback_t  callback 
)

Unregister a callback function for a button event.

Parameters
btnthe id of the button
evethe type of event that the callback function should be invoked for. event types can be bitwise or'd to register a callback for both pressed and released events.
callbackpointer to the callback function
Returns
0 on success, negative value on error
Return values
0success
-1the callback function was not registered with the given button/event combination
See Also
sb_button_registerListener
  Impressum Stand: 2014-02-24 11:24   MS