Linuxlib

From Felixl.com
Revision as of 19:14, 5 February 2007 by Felix (talk | contribs) (API functions)
Jump to navigationJump to search

API functions

unsigned int audiodac_callback(unsigned short left, unsigned short right);

this is callback, that freedo will call 44100 times a second to put next sample into DAC buffer. this should be blocking function -- it should wait if buffer is full. Returns 1 if everything went ok, returns 0 if there's no buffer or other problems.

unsigned int videobuf_callback(unsigned char * buf);

this is callback, that freedo will call every video frame update (60 times a second). the parameter is 640x480, 32 bit, little endian, ARGB frame. Returns 1 if everything went ok, returns 0 if there's no buffer or other problems.

unsigned int keypad_callback();

this is callback, that freedo will cal every even frame (30 times a second) to get the info about pressed keys on the keypad. up to 6 keypads are supported. the return value is a bitmask:

#define KEYPAD_UP     0x00000001
#define KEYPAD_DOWN   0x00000002
#define KEYPAD_LEFT   0x00000004
#define KEYPAD_RIGHT  0x00000008
#define KEYPAD_LS     0x00000010
#define KEYPAD_RS     0x00000020
#define KEYPAD_A      0x00000040
#define KEYPAD_B      0x00000080
#define KEYPAD_C      0x00000100
#define KEYPAD_X      0x00000200
#define KEYPAD_P      0x00000400

API Structures

typedef struct{
   void * audiodac_callback;
   void * videobuf_callback;
   void * keypad_callback[5];
}freedo_struct;

where all are pointers to call back functions. see function API for details

Links