Help getting compass heading val into Processing?


I have an Arduino with a compass module that I am getting data from with this code (this is the code loaded onto the robot):

#include <Wire.h>
int HMC6352Address = 0x42;
// This is calculated in the setup() function
int slaveAddress;
int ledPin = 13;
boolean ledState = false;
byte headingData[2];
int i, headingValue;
void setup()
// Shift the device's documented slave address (0x42) 1 bit right
// This compensates for how the TWI library only wants the
// 7 most significant bits (with the high bit padded with 0)
slaveAddress = HMC6352Address >> 1;   // This results in 0x21 as the address to pass to TWI
pinMode(ledPin, OUTPUT);      // Set the LED pin as output
void loop()
  // Flash the LED on pin 13 just to show that something is happening
  // Also serves as an indication that we're not "stuck" waiting for TWI data
  ledState = !ledState;
  if (ledState) {
  // Send a "A" command to the HMC6352
  // This requests the current heading data
  Wire.send("A");              // The "Get Data" command
  delay(10);                   // The HMC6352 needs at least a 70us (microsecond) delay
  // after this command.  Using 10ms just makes it safe
  // Read the 2 heading bytes, MSB first
  // The resulting 16bit word is the compass heading in 10th's of a degree
  // For example: a heading of 1345 would be 134.5 degrees
  Wire.requestFrom(slaveAddress, 2);        // Request the 2 byte heading (MSB comes first)
  i = 0;
  while(Wire.available() && i < 2)
    headingData[i] = Wire.receive();
  headingValue = headingData[0]*256 + headingData[1];  // Put the MSB and LSB together
  Serial.print("Current heading: ");
  Serial.print(int (headingValue / 10));     // The whole number part of the heading
  Serial.print(int (headingValue % 10));     // The fractional part of the heading
  Serial.println(" degrees");

How would I get the heading value stored into a processing sketch via Bluetooth?

Here’s a snippet of my Processing sketch method that creates the serial connection via bluetooth:

void initializeSerial()
  //Print serial data and create myPort, the port used for hardware connection
  String portName = Serial.list()[0];
  myPort = new Serial(this, portName, 115200);
  if (portName == null)
    println("portName is null!!!");

I need someway to get the heading value into this program. How do I do this?

The Processing application comes with a bunch of examples for reading serial data. The Arduino is sending serial data. Have you tried any of the Processing examples for reading serial data?

Could you give me a link as to what you are talking about?

Start Processing. On the File menu, select Examples, then Libraries, then Serial. There are 5 example programs that perform serial input or output. Try all of them. Then, modify the one that is closest to your needs.