|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||
|
|||
|
Using the cRIO serial port in Java
I am looking for a Jave code snippet of how to configure the cRIO serial port and how to use it. Can it take over the System.Out functionality?
I am also looking for code to do formatted number to string conversion. Is there any native Java class? I need something simple. I do not need all of the Swing overhead. I am planning on sending data out the cRIO serial port into a PC running HyperTerminal to make an elaborate disgnostic screen. I will send it ANSI escape sequences to control the cursor. I've done this in C and it is a great tool for the team to maintain the robot. Daniel |
|
#2
|
|||
|
|||
|
Re: Using the cRIO serial port in Java
I'm just a bit confused on what you mean by the serial port...
I thought the serial port from the module was to connect to the digital sidecar.... |
|
#3
|
|||
|
|||
|
Re: Using the cRIO serial port in Java
Quote:
Have you considered using a TCP connection to the PC instead? -Joe |
|
#4
|
|||
|
|||
|
Re: Using the cRIO serial port in Java
The serial port on the cRIO is the 9-pin D connector.
I prefer serial RS232 communications because it is simple. No setting of IP address, just plug and go. I've used this in the past and liked it. I am asking for an example of using the SerialPort class that has actually worked. Specifically the constructor with try-catch logic in Java. |
|
#5
|
||||
|
||||
|
Re: Using the cRIO serial port in Java
Code:
package com.shadowh511.mayor.util;
import edu.wpi.first.wpilibj.SerialPort;
/**
*
* @author Team 2412
*/
public class Arduino {
/*
* Hopefully, i will be able to have an arduino be hooked up to the robot
* and communicate with the serial port. I can use this to do many things,
* such as maintain a LCD screen and display data on it to help the electrical
* and mechanical teams figure out what went wrong.
*
* In all realism, it will most likely just be a fun cool thing for me to
* play with :D
*/
private SerialPort serial;
public Arduino() {
try {
serial = new SerialPort(115200);
this.serial.disableTermination();
this.serial.print("h");
System.out.println("Arduino Starting, waiting 0.5 seconds to get data");
String e = this.getData();
edu.wpi.first.wpilibj.Timer.delay(0.125);
if(e.equals("h")) {
System.out.println("Arduino communications locked in");
}
}
catch (Exception e) {
System.out.println("something went wrong, " + e.getMessage());
}
}
public String getData() {
try {
return this.serial.readString();
} catch (Exception e) {
System.out.println("something went wrong, " + e.getMessage());
return null;
}
}
public boolean sendData(byte[] buffer) throws Exception {
try {
int count = buffer.length;
this.serial.write(buffer, count);
return true;
} catch (Exception e) {
System.out.println("something went wrong, " + e.getMessage());
return false;
}
}
public boolean printf(String data) {
try {
this.serial.print(data);
return true;
} catch (Exception e) {
System.out.println("something went wrong, " + e.getMessage());
return false;
}
}
public String requestData() {
try {
this.serial.print("r");
return this.serial.readString();
} catch (Exception e) {
System.out.println("something went wrong, " + e.getMessage());
return null;
}
}
public int requestData(String request) {
try {
this.serial.print(request);
return NumberUtils.stringToInt(this.getData());
} catch (Exception e) {
System.out.println("something went wrong, " + e.getMessage());
return 0;
}
}
}
|
|
#6
|
|||
|
|||
|
Re: Using the cRIO serial port in Java
Does this work regardless of the CONSOLE OUT switch position on the cRIO?
I do not want console data mixed in with my diagnostic data, so I prefer the switch in the OFF position. Can I still send data to the Serial port? |
|
#7
|
||||
|
||||
|
Re: Using the cRIO serial port in Java
I would test that if i were you, I don't know
|
|
#8
|
|||
|
|||
|
Re: Using the cRIO serial port in Java
Why does netbeans not find the valueOf() function?
Is there a special class to load? long l; String s; s = valueOf(l); |
|
#9
|
|||
|
|||
|
Re: Using the cRIO serial port in Java
Because you need to use:
long l; String s; s = String.valueOf(l); |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|