XMOS xCORE-200 Multi-channel Audio board Design Manual page 77

Usb audio
Hide thumbs Also See for xCORE-200 Multi-channel Audio board:
Table of Contents

Advertisement

USB Audio Design Guide
void U s e r R e a d H I D B u t t o n s ( unsigned char hidData [])
{
/* Variables for buttons a & b and switch sw */
unsigned a , b , sw , tmp ;
p_sw : > tmp ;
/* Buttons are active low */
tmp = ~ tmp ;
a = ( tmp & ( P _G PI _ BU TA _ MA SK ) ) >> P _ G P I _ B U T A _ S H I F T ;
b = ( tmp & ( P _G PI _ BU TB _ MA SK ) ) >> P _ G P I _ B U T B _ S H I F T ;
sw = ( tmp & ( P_GP I_SW1_ MASK ) ) >> P _G PI _ SW 1_ S HI F T ;
if ( sw )
{
}
else
{
XM0088546.1
}
}
/* Assign buttons A and B to Vol Up / Down */
hidData [0] = ( a << H I D _ C O N T R O L _ V O L U P _ S H I F T ) | ( b <<
H I D _ C O N T R O L _ V O L D N _ S H I F T ) ;
/* Assign buttons A and B to play for single tap , next / prev for
double tap */
if ( b )
{
m u l t i c o n t r o l _ c o u n t ++;
wait_counter = 0;
lastA = 0;
}
else if ( a )
{
m u l t i c o n t r o l _ c o u n t ++;
wait_counter = 0;
lastA = 1;
}
else
{
if ( m u l t i c o n t r o l _ c o u n t > THRESH )
{
state ++;
}
wait_counter ++;
if ( wait_counter > M U LT I PR ES S _W AI T )
{
if ( state == STATE_PLAY )
{
}
else if ( state == STATE _NEXTP REV )
{
if ( lastA )
else
}
state = STATE_IDLE ;
}
m u l t i c o n t r o l _ c o u n t = 0;
}
hidData [0] = (1 << H I D _ C O N T R O L _ P L A Y P A U S E _ S H I F T )
;
hidData [0] = (1 << H I D _ C O N T R O L _ P R E V _ S H I F T ) ;
hidData [0] = (1 << H I D _ C O N T R O L _ N E X T _ S H I F T ) ;
77/110

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents