Pages: [1]   Go Down
Author Topic: processing- problem with serial port, works with Arduino serial monitor  (Read 1738 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have a razor IMU.  I am able to use Arduino to monitor it in a serial console.   I can talk to it, and issue commands.
However when I try to use processing, and run the sketch that shows the board and its orientation  all I see is a black screen which says  connecting to Razor.  Here is what the command line says "nfo: XInitThreads() called for concurrent Thread support
AVAILABLE SERIAL PORTS:
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version   = RXTX-2.1-7
  • "/dev/ttyUSB0"

HAVE A LOOK AT THE LIST ABOVE AND SET THE RIGHT SERIAL PORT NUMBER IN THE CODE!
  -> Using port 0: /dev/ttyUSB0
Trying to setup and synch Razor...
"
I have tried earlier versions of processing and they do not work either.  Currently I am using processing-2.0a8, Razor AHRS v1.4.0, and rxtx-java-2.2pre2-3.1.x86_64.
I was wondering what might be causing this?  imbedded rxtx in the processing package, 32 bit vs 64 bit, an older version of rxtx?
Did the API change and processing did not keep up with it?

/dev/ttyUSB0 is what Arduino uses and works.
Logged

Australia
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hey I'm having the exact same problem. Same version of processing and the same symptoms. Also tried the 1.2.1 version without success.

Anyone got an idea?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I figured out what I was doing wrong.  There is nothing wrong with the serial driver.  It seems that the razor did not have the latest firmware uploaded to it.
Processing was looping reading it.  It did not find the sync bytes after sending it the command to send sync bytes.   The firmware in the razor was not programmed to respond to that command and others.  Once I uploaded the latest firmware,  I could use the processing program that shows the vector that moves around on the screen when you move the razor.  I am not sure if it is resetting correctly when I type "a", but I will check on that.

Here are the versions that I am using:
processing-2.0b6
It seems that some of the packages have rxtx included with them.  That might override what you have installed via rpm or vice verse.   You might have to pay attention to java CLASSPATH.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I wasn't able to align the arrow.
I modified the code and it works now.  You can take out the print statement.  It is for debugging.

 text("Point FTDI connector towards screen and press 'a' to align", 10, 25);
   check_key();
  // Output angles
  pushMatrix();
  translate(10, height - 10);
  textAlign(LEFT);
  text("Yaw: " + ((int) yaw), 0, 0);
  text("Pitch: " + ((int) pitch), 150, 0);
  text("Roll: " + ((int) roll), 300, 0);
  popMatrix();
}

void check_key() {
  if (keyPressed == true) {
  println("key was pressed")
    switch (key) {
    case '0':  // Turn Razor's continuous output stream off
      serial.write("#o0");
      break;
    case '1':  // Turn Razor's continuous output stream on
      serial.write("#o1");
      break;
    case 'f':  // Request one single yaw/pitch/roll frame from Razor (use when continuous streaming is off)
      serial.write("#f");
      break;
    case 'a':  // Align screen with Razor
      println("at align menu");
      yawOffset = yaw;
  }
  }
}
Logged

Pages: [1]   Go Up
Jump to: