V2XE compass sensor

hello

#include<SPI.h>
byte sync_flag=0xAA;
byte module_info=0x01;
byte terminator_flag=0x00;
int x=0;
int SYNC_PIN=8;
long frametype=0;
void setup() 
{
// SPI.setBitOrder(MSBFIRST);
SPI.setDataMode( SPI_MODE0);
//SPI.setClockDivider( SPI_CLOCK_DIV8);//Since max SCLK frequency 3.6864 MHz
Serial.begin(9600); // start the SPI library:
Serial.println(" ");
Serial.println("Start communication with V2XE");
SPI.begin(); // initalize the data ready and chip select pins:
pinMode(SYNC_PIN, OUTPUT); //sync pin

pinMode(10, OUTPUT);//chipselect
delay(20);
Serial.println("Syncing V2XE....");
v2xe_sync();//syncing V2XE
Serial.println("Syncing V2XE DONE.....");
}
void loop()
{
//Sending start signals
digitalWrite(10,LOW);
Serial.println("CS LOW");
SPI.transfer(sync_flag);// sync flag
Serial.println("sync flag sent");
delayMicroseconds(50);
SPI.transfer(module_info);//Frame Type
delayMicroseconds(50);
Serial.println("module info request");
SPI.transfer(terminator_flag);
Serial.println("terminator flag");
while(x!= 0xAA) 
{
delayMicroseconds(50);
x = SPI.transfer(0);
}
Serial.println("sync response = ");
Serial.println(x,HEX);
Serial.println(" ");
frametype= SPI.transfer(0);
delayMicroseconds(50);
digitalWrite(10,HIGH);
Serial.println("V2XE response = ");
Serial.println( frametype,HEX);
Serial.println(" ");

/* //Sending start signals
digitalWrite(10,LOW);
SPI.transfer(sync_flag);// sync flag
SPI.transfer(0x02);//Frame Type
SPI.transfer(terminator_flag);
for(int i=0; i<2;i++)
{
x= SPI.transfer(terminator_flag);
}
Serial.println(x);
Serial.println(" ");
*/
}

void v2xe_sync()
{
digitalWrite(SYNC_PIN, LOW);
delayMicroseconds(100);
digitalWrite(SYNC_PIN, HIGH);
delayMicroseconds(100);
digitalWrite(SYNC_PIN, LOW);
delay(20);
}

here is code of v2xe what i tried but it is not working wel... kindly give me SPI code if anyone did work on it ... i shall be very thankful to you if you provide SPI operational code for v2xe compass sensor.

Regards,