mirror of https://github.com/rusefi/RomRaider.git
gettin close
git-svn-id: http://svn.3splooges.com/romraider-arch/trunk@546 d2e2e1cd-ba16-0410-be16-b7c4453c7c2d
This commit is contained in:
parent
0a1d957cfa
commit
3d7b68dee9
|
@ -25,9 +25,9 @@ import enginuity.logger.utec.properties.UtecProperties;
|
||||||
// CommPortOwnershipListener {
|
// CommPortOwnershipListener {
|
||||||
import gnu.io.*;
|
import gnu.io.*;
|
||||||
|
|
||||||
public class UtecSerialConnection {
|
public class UtecSerialConnection{
|
||||||
|
|
||||||
|
|
||||||
private static GetMapFromUtecListener getMapFromUtecListener = null;
|
|
||||||
|
|
||||||
// Parameters used to define serial connection
|
// Parameters used to define serial connection
|
||||||
public static SerialParameters parameters = new SerialParameters();
|
public static SerialParameters parameters = new SerialParameters();
|
||||||
|
@ -50,13 +50,6 @@ public class UtecSerialConnection {
|
||||||
// Listeners
|
// Listeners
|
||||||
private static Vector portListeners = new Vector();
|
private static Vector portListeners = new Vector();
|
||||||
|
|
||||||
// Define whether or not we are recieving a map from the UTEC
|
|
||||||
private static boolean isMapFromUtecPrep = false;
|
|
||||||
|
|
||||||
private static boolean isMapFromUtec = false;
|
|
||||||
|
|
||||||
private static UtecMapData currentMap = null;
|
|
||||||
private static String totalDat = "";
|
|
||||||
|
|
||||||
private static UtecSerialListener serialListener = null;
|
private static UtecSerialListener serialListener = null;
|
||||||
|
|
||||||
|
@ -100,6 +93,7 @@ public class UtecSerialConnection {
|
||||||
* @throws SerialConnectionException
|
* @throws SerialConnectionException
|
||||||
*/
|
*/
|
||||||
public static void openConnection() throws SerialConnectionException {
|
public static void openConnection() throws SerialConnectionException {
|
||||||
|
System.out.println("Opening connection now.");
|
||||||
|
|
||||||
// if(sPort == null){ System.err.println("No port selected or available to open."); return; }
|
// if(sPort == null){ System.err.println("No port selected or available to open."); return; }
|
||||||
|
|
||||||
|
@ -158,7 +152,7 @@ public class UtecSerialConnection {
|
||||||
|
|
||||||
// Add this object as an event listener for the serial port.
|
// Add this object as an event listener for the serial port.
|
||||||
try {
|
try {
|
||||||
sPort.addEventListener(serialListener);
|
sPort.addEventListener(new UtecSerialListener());
|
||||||
} catch (TooManyListenersException e) {
|
} catch (TooManyListenersException e) {
|
||||||
System.err.println("Too Many listeners");
|
System.err.println("Too Many listeners");
|
||||||
sPort.close();
|
sPort.close();
|
||||||
|
@ -282,4 +276,17 @@ public class UtecSerialConnection {
|
||||||
public static boolean isOpen(){
|
public static boolean isOpen(){
|
||||||
return open;
|
return open;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static InputStream getInputFromUtecStream() {
|
||||||
|
return inputFromUtecStream;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static OutputStream getOutputToUtecStream() {
|
||||||
|
return outputToUtecStream;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void serialEvent(SerialPortEvent arg0) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,27 +48,17 @@ public class LoggerEvent {
|
||||||
if(theData.startsWith("--")){
|
if(theData.startsWith("--")){
|
||||||
theData = "0.0";
|
theData = "0.0";
|
||||||
}
|
}
|
||||||
|
if(theData.startsWith("ECU")){
|
||||||
|
theData = "0.0";
|
||||||
|
}
|
||||||
|
|
||||||
try{
|
try{
|
||||||
doubleData[i] = Double.parseDouble(theData);
|
doubleData[i] = Double.parseDouble(theData);
|
||||||
}catch (NumberFormatException e) {
|
}catch (NumberFormatException e) {
|
||||||
System.out.println("Number error in commevent.");
|
//System.out.println("Number error in commevent.");
|
||||||
this.isValidData = false;
|
this.isValidData = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Valid data found
|
|
||||||
String[] afrIndex = UtecProperties.getProperties("utec.afrIndex");
|
|
||||||
if(afrIndex == null || afrIndex[0] == null || afrIndex[0].length() < 1){
|
|
||||||
// No afr data available
|
|
||||||
}else{
|
|
||||||
System.out.println("AFR Data available.");
|
|
||||||
UtecAFRListener utecAFRListener = DataManager.getUtecAFRListener();
|
|
||||||
if(utecAFRListener != null){
|
|
||||||
utecAFRListener.receivedUtecAFRData(Double.parseDouble(afrIndex[0]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package enginuity.logger.utec.commEvent;
|
||||||
import java.util.TimerTask;
|
import java.util.TimerTask;
|
||||||
|
|
||||||
import enginuity.logger.utec.comm.UtecSerialConnection;
|
import enginuity.logger.utec.comm.UtecSerialConnection;
|
||||||
|
import enginuity.logger.utec.gui.JutecGUI;
|
||||||
|
|
||||||
public class UtecTimerTask extends TimerTask{
|
public class UtecTimerTask extends TimerTask{
|
||||||
private UtecTimerTaskListener listener = null;
|
private UtecTimerTaskListener listener = null;
|
||||||
|
@ -14,16 +15,19 @@ public class UtecTimerTask extends TimerTask{
|
||||||
this.listener = listener;
|
this.listener = listener;
|
||||||
this.data = data;
|
this.data = data;
|
||||||
this.stringBuffer = new StringBuffer(data);
|
this.stringBuffer = new StringBuffer(data);
|
||||||
|
JutecGUI.getInstance().getJProgressBar().setMinimum(0);
|
||||||
|
JutecGUI.getInstance().getJProgressBar().setMaximum(data.length());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void run(){
|
public void run(){
|
||||||
char theChar = stringBuffer.charAt(counter);
|
char theChar = stringBuffer.charAt(counter);
|
||||||
System.out.println("->"+theChar+"<- :"+(int)theChar+"");
|
// System.out.println("->"+theChar+"<- :"+(int)theChar+"");
|
||||||
|
|
||||||
//Send the data to the Utec
|
//Send the data to the Utec
|
||||||
UtecSerialConnection.sendCommandToUtec((int)theChar);
|
UtecSerialConnection.sendCommandToUtec((int)theChar);
|
||||||
|
|
||||||
counter++;
|
counter++;
|
||||||
|
JutecGUI.getInstance().getJProgressBar().setValue(counter);
|
||||||
|
|
||||||
// Kill the timer after a at the end of the string
|
// Kill the timer after a at the end of the string
|
||||||
if(counter == data.length()){
|
if(counter == data.length()){
|
||||||
|
|
|
@ -36,7 +36,7 @@ import enginuity.logger.utec.commEvent.UtecTimerTaskManager;
|
||||||
public class UtecInterface{
|
public class UtecInterface{
|
||||||
//Store string vector of known system comm ports
|
//Store string vector of known system comm ports
|
||||||
private static Vector portChoices = listPortChoices();
|
private static Vector portChoices = listPortChoices();
|
||||||
private static UtecSerialListener se = new UtecSerialListener();
|
private static UtecSerialListener serialEventListener = new UtecSerialListener();
|
||||||
private static Vector<LoggerListener> loggerListeners = new Vector<LoggerListener>();
|
private static Vector<LoggerListener> loggerListeners = new Vector<LoggerListener>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -44,7 +44,7 @@ public class UtecInterface{
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static void init(){
|
public static void init(){
|
||||||
UtecSerialConnection.init(se);
|
UtecSerialConnection.init(serialEventListener);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -166,8 +166,7 @@ public class UtecInterface{
|
||||||
* @param mapNumber
|
* @param mapNumber
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public static void pullMapData(int mapNumber, GetMapFromUtecListener listener) {
|
public static void pullMapData(int mapNumber) {
|
||||||
/*
|
|
||||||
// Sanity check
|
// Sanity check
|
||||||
if (mapNumber < 1 || mapNumber > 5) {
|
if (mapNumber < 1 || mapNumber > 5) {
|
||||||
System.err.println("Map selection out of range.");
|
System.err.println("Map selection out of range.");
|
||||||
|
@ -184,14 +183,11 @@ public class UtecInterface{
|
||||||
System.out.println("UtecControl, getting map:" + mapNumber);
|
System.out.println("UtecControl, getting map:" + mapNumber);
|
||||||
|
|
||||||
// Null out any previously loaded map
|
// Null out any previously loaded map
|
||||||
this.currentMap = null;
|
serialEventListener.currentMap = null;
|
||||||
|
|
||||||
// Who will get this map in the end?
|
|
||||||
this.getMapFromUtecListener = listener;
|
|
||||||
|
|
||||||
// Setup map transfer prep state
|
// Setup map transfer prep state
|
||||||
this.isMapFromUtecPrep = true;
|
serialEventListener.isMapFromUtecPrep = true;
|
||||||
this.isMapFromUtec = false;
|
serialEventListener.isMapFromUtec = false;
|
||||||
|
|
||||||
// Iterate through command string
|
// Iterate through command string
|
||||||
int starCounter = 0;
|
int starCounter = 0;
|
||||||
|
@ -201,32 +197,32 @@ public class UtecInterface{
|
||||||
// Select map
|
// Select map
|
||||||
|
|
||||||
if (mapNumber == 1) {
|
if (mapNumber == 1) {
|
||||||
this.sendCommandToUtec(33);
|
UtecTimerTaskManager.execute(33);
|
||||||
System.out.println("Requested Map 1");
|
System.out.println("Requested Map 1");
|
||||||
}
|
}
|
||||||
if (mapNumber == 2) {
|
if (mapNumber == 2) {
|
||||||
this.sendCommandToUtec(64);
|
UtecTimerTaskManager.execute(64);
|
||||||
System.out.println("Requested Map 2");
|
System.out.println("Requested Map 2");
|
||||||
}
|
}
|
||||||
if (mapNumber == 3) {
|
if (mapNumber == 3) {
|
||||||
this.sendCommandToUtec(35);
|
UtecTimerTaskManager.execute(35);
|
||||||
System.out.println("Requested Map 3");
|
System.out.println("Requested Map 3");
|
||||||
}
|
}
|
||||||
if (mapNumber == 4) {
|
if (mapNumber == 4) {
|
||||||
this.sendCommandToUtec(36);
|
UtecTimerTaskManager.execute(36);
|
||||||
System.out.println("Requested Map 4");
|
System.out.println("Requested Map 4");
|
||||||
}
|
}
|
||||||
if (mapNumber == 5) {
|
if (mapNumber == 5) {
|
||||||
this.sendCommandToUtec(37);
|
UtecTimerTaskManager.execute(37);
|
||||||
System.out.println("Requested Map 5");
|
System.out.println("Requested Map 5");
|
||||||
}
|
}
|
||||||
}else if(starCounter == 1){
|
}else if(starCounter == 1){
|
||||||
|
|
||||||
// Make this class receptive to map transfer
|
// Make this class receptive to map transfer
|
||||||
this.isMapFromUtec = true;
|
serialEventListener.isMapFromUtec = true;
|
||||||
|
|
||||||
// No longer map prep
|
// No longer map prep
|
||||||
this.isMapFromUtecPrep = false;
|
serialEventListener.isMapFromUtecPrep = false;
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
System.err.println("No operation supported for properties value '*'");
|
System.err.println("No operation supported for properties value '*'");
|
||||||
|
@ -235,10 +231,9 @@ public class UtecInterface{
|
||||||
starCounter++;
|
starCounter++;
|
||||||
}else{
|
}else{
|
||||||
// Send parsed command to the utec
|
// Send parsed command to the utec
|
||||||
this.sendCommandToUtec(Integer.parseInt(commandList[i]));
|
UtecTimerTaskManager.execute(Integer.parseInt(commandList[i]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -343,4 +338,8 @@ public class UtecInterface{
|
||||||
public static void addLoggerListener(LoggerListener ll){
|
public static void addLoggerListener(LoggerListener ll){
|
||||||
loggerListeners.add(ll);
|
loggerListeners.add(ll);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Vector<LoggerListener> getLoggerListeners() {
|
||||||
|
return loggerListeners;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -3,26 +3,29 @@ package enginuity.logger.utec.commInterface;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
|
||||||
|
import enginuity.logger.utec.comm.UtecSerialConnection;
|
||||||
import enginuity.logger.utec.commEvent.LoggerEvent;
|
import enginuity.logger.utec.commEvent.LoggerEvent;
|
||||||
import enginuity.logger.utec.commEvent.LoggerListener;
|
import enginuity.logger.utec.commEvent.LoggerListener;
|
||||||
|
import enginuity.logger.utec.gui.mapTabs.DataManager;
|
||||||
import enginuity.logger.utec.mapData.UtecMapData;
|
import enginuity.logger.utec.mapData.UtecMapData;
|
||||||
import gnu.io.SerialPortEvent;
|
import gnu.io.SerialPortEvent;
|
||||||
import gnu.io.SerialPortEventListener;
|
import gnu.io.SerialPortEventListener;
|
||||||
|
|
||||||
public class UtecSerialListener implements SerialPortEventListener{
|
public class UtecSerialListener implements SerialPortEventListener{
|
||||||
|
// Define whether or not we are recieving a map from the UTEC
|
||||||
|
public boolean isMapFromUtecPrep = false;
|
||||||
|
public boolean isMapFromUtec = false;
|
||||||
|
public UtecMapData currentMap = null;
|
||||||
|
public String totalDat = "";
|
||||||
|
|
||||||
|
public UtecSerialListener(){
|
||||||
|
System.out.println("Serial listener was instantiated.");
|
||||||
/**
|
}
|
||||||
* Handles SerialPortEvents. The two types of SerialPortEvents that this
|
|
||||||
* program is registered to listen for are DATA_AVAILABLE and BI. During
|
|
||||||
* DATA_AVAILABLE the port buffer is read until it is drained, when no more
|
|
||||||
* data is availble and 30ms has passed the method returns. When a BI event
|
|
||||||
* occurs the words BREAK RECEIVED are written to the messageAreaIn.
|
|
||||||
*/
|
|
||||||
|
|
||||||
public void serialEvent(SerialPortEvent e) {
|
public void serialEvent(SerialPortEvent e) {
|
||||||
/*
|
System.out.println("Got serial event.");
|
||||||
|
|
||||||
|
|
||||||
// Create a StringBuffer and int to receive input data.
|
// Create a StringBuffer and int to receive input data.
|
||||||
StringBuffer inputBuffer = new StringBuffer();
|
StringBuffer inputBuffer = new StringBuffer();
|
||||||
int newData = 0;
|
int newData = 0;
|
||||||
|
@ -37,20 +40,12 @@ public class UtecSerialListener implements SerialPortEventListener{
|
||||||
// Append new output to buffer
|
// Append new output to buffer
|
||||||
while (newData != -1) {
|
while (newData != -1) {
|
||||||
try {
|
try {
|
||||||
newData = inputFromUtecStream.read();
|
newData = UtecSerialConnection.getInputFromUtecStream().read();
|
||||||
|
|
||||||
if (newData == -1) {
|
if (newData == -1) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//if ('\r' == (char) newData) {
|
|
||||||
// inputBuffer.append('\n');
|
|
||||||
//} else {
|
|
||||||
// inputBuffer.append((char) newData);
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
inputBuffer.append((char) newData);
|
inputBuffer.append((char) newData);
|
||||||
System.out.print((char)newData);
|
System.out.print((char)newData);
|
||||||
this.totalDat += (char)newData;
|
this.totalDat += (char)newData;
|
||||||
|
@ -60,7 +55,7 @@ public class UtecSerialListener implements SerialPortEventListener{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Ouput to console
|
|
||||||
//System.out.println(inputBuffer);
|
//System.out.println(inputBuffer);
|
||||||
|
|
||||||
if (this.isMapFromUtecPrep == true) {
|
if (this.isMapFromUtecPrep == true) {
|
||||||
|
@ -93,14 +88,17 @@ public class UtecSerialListener implements SerialPortEventListener{
|
||||||
this.currentMap.populateMapDataStructures();
|
this.currentMap.populateMapDataStructures();
|
||||||
System.out.println("hi 3");
|
System.out.println("hi 3");
|
||||||
|
|
||||||
|
// Inform data manager of new map
|
||||||
|
DataManager.setCurrentMap(this.currentMap);
|
||||||
|
|
||||||
// Notify listner if available
|
// Notify listner if available
|
||||||
System.out.println("Calling listeners.");
|
//System.out.println("Calling listeners.");
|
||||||
if (this.getMapFromUtecListener != null) {
|
//if (this.getMapFromUtecListener != null) {
|
||||||
System.out.println("Listener called.");
|
// System.out.println("Listener called.");
|
||||||
this.getMapFromUtecListener.mapRetrieved(this.currentMap);
|
// this.getMapFromUtecListener.mapRetrieved(this.currentMap);
|
||||||
}else{
|
//}else{
|
||||||
System.out.println("Calling listeners, but none found.");
|
// System.out.println("Calling listeners, but none found.");
|
||||||
}
|
//}
|
||||||
|
|
||||||
// Empty out map storage
|
// Empty out map storage
|
||||||
this.currentMap = null;
|
this.currentMap = null;
|
||||||
|
@ -114,11 +112,14 @@ public class UtecSerialListener implements SerialPortEventListener{
|
||||||
loggerEvent.setLoggerData(new String(inputBuffer));
|
loggerEvent.setLoggerData(new String(inputBuffer));
|
||||||
loggerEvent.setLoggerData(true);
|
loggerEvent.setLoggerData(true);
|
||||||
|
|
||||||
Iterator portIterator = portListeners.iterator();
|
Iterator portIterator = UtecInterface.getLoggerListeners().iterator();
|
||||||
while (portIterator.hasNext()) {
|
while (portIterator.hasNext()) {
|
||||||
LoggerListener theListener = (LoggerListener) portIterator.next();
|
LoggerListener theListener = (LoggerListener) portIterator.next();
|
||||||
if(loggerEvent.isValidData() == true){
|
if(loggerEvent.isValidData() == true){
|
||||||
|
//System.out.println("Valid data");
|
||||||
theListener.getCommEvent(loggerEvent);
|
theListener.getCommEvent(loggerEvent);
|
||||||
|
}else{
|
||||||
|
//System.out.println("Invalid data");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -130,7 +131,5 @@ public class UtecSerialListener implements SerialPortEventListener{
|
||||||
//System.out.println("BREAK RECEIVED.");
|
//System.out.println("BREAK RECEIVED.");
|
||||||
|
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ import enginuity.logger.utec.commInterface.UtecInterface;
|
||||||
/**
|
/**
|
||||||
* @author botman
|
* @author botman
|
||||||
*/
|
*/
|
||||||
public class JutecGUI extends JFrame implements ActionListener,GetMapFromUtecListener, KeyListener {
|
public class JutecGUI extends JFrame implements ActionListener, KeyListener {
|
||||||
|
|
||||||
// Top level desktop pane
|
// Top level desktop pane
|
||||||
public JLayeredPane desktop = null;
|
public JLayeredPane desktop = null;
|
||||||
|
@ -78,17 +78,17 @@ public class JutecGUI extends JFrame implements ActionListener,GetMapFromUtecLis
|
||||||
|
|
||||||
private static JutecGUI instance = null;
|
private static JutecGUI instance = null;
|
||||||
|
|
||||||
public static UtecMapData currentMap = null;
|
|
||||||
|
|
||||||
// Text input field for sending commands directly to the UTEC
|
// Text input field for sending commands directly to the UTEC
|
||||||
private JTextField textInput = new JTextField();
|
private JTextField textInput = new JTextField();
|
||||||
|
|
||||||
private JLabel utecInputLabel = new JLabel(" Send Single Char Commands to UTEC: ");
|
private JLabel utecInputLabel = new JLabel(" Send Single Char Commands to UTEC: ");
|
||||||
|
|
||||||
// Map tabs
|
private JProgressBar jProgressBar = new JProgressBar();
|
||||||
private MapJPanel timingMapPanel = new MapJPanel(MapJPanel.TIMINGMAP);
|
|
||||||
private MapJPanel fuelMapPanel = new MapJPanel(MapJPanel.FUELMAP);
|
public JProgressBar getJProgressBar() {
|
||||||
private MapJPanel boostMapPanel = new MapJPanel(MapJPanel.BOOSTMAP);
|
return jProgressBar;
|
||||||
|
}
|
||||||
|
|
||||||
public static JutecGUI getInstance() {
|
public static JutecGUI getInstance() {
|
||||||
return instance;
|
return instance;
|
||||||
|
@ -103,11 +103,14 @@ public class JutecGUI extends JFrame implements ActionListener,GetMapFromUtecLis
|
||||||
this.setResizable(false);
|
this.setResizable(false);
|
||||||
this.setDefaultCloseOperation(setDefaultCloseOperation);
|
this.setDefaultCloseOperation(setDefaultCloseOperation);
|
||||||
|
|
||||||
|
this.jProgressBar.setSize(790,20);
|
||||||
|
|
||||||
// *************************
|
// *************************
|
||||||
// Voice the welcome message
|
// Voice the welcome message
|
||||||
// *************************
|
// *************************
|
||||||
|
|
||||||
SpeakString vc = new SpeakString("Welcome to you teck logger! Use at your own risk.");
|
SpeakString vc = new SpeakString("Welcome to you teck logger! Use at your own risk.");
|
||||||
|
System.out.println("UTEC Gui is loading now.");
|
||||||
|
|
||||||
// Actions to take when window is closing
|
// Actions to take when window is closing
|
||||||
addWindowListener(new WindowAdapter() {
|
addWindowListener(new WindowAdapter() {
|
||||||
|
@ -222,6 +225,7 @@ public class JutecGUI extends JFrame implements ActionListener,GetMapFromUtecLis
|
||||||
JPanel commandPanel = new JPanel(new BorderLayout());
|
JPanel commandPanel = new JPanel(new BorderLayout());
|
||||||
this.textInput.addKeyListener(this);
|
this.textInput.addKeyListener(this);
|
||||||
|
|
||||||
|
commandPanel.add(this.jProgressBar, BorderLayout.NORTH);
|
||||||
commandPanel.add(this.utecInputLabel, BorderLayout.WEST);
|
commandPanel.add(this.utecInputLabel, BorderLayout.WEST);
|
||||||
commandPanel.add(this.textInput, BorderLayout.CENTER);
|
commandPanel.add(this.textInput, BorderLayout.CENTER);
|
||||||
|
|
||||||
|
@ -312,14 +316,14 @@ public class JutecGUI extends JFrame implements ActionListener,GetMapFromUtecLis
|
||||||
|
|
||||||
else if (cmd.equals("Save Map To File")) {
|
else if (cmd.equals("Save Map To File")) {
|
||||||
System.out.println("Saving map to file.");
|
System.out.println("Saving map to file.");
|
||||||
if (this.currentMap != null) {
|
if (DataManager.getCurrentMapData() != null) {
|
||||||
|
|
||||||
String saveFileName = null;
|
String saveFileName = null;
|
||||||
System.out.println("Save map now.");
|
System.out.println("Save map now.");
|
||||||
fileChosen = fileChooser.showSaveDialog(this);
|
fileChosen = fileChooser.showSaveDialog(this);
|
||||||
if (fileChosen == JFileChooser.APPROVE_OPTION) {
|
if (fileChosen == JFileChooser.APPROVE_OPTION) {
|
||||||
saveFileName = fileChooser.getSelectedFile().getPath();
|
saveFileName = fileChooser.getSelectedFile().getPath();
|
||||||
this.currentMap.writeMapToFile(saveFileName);
|
DataManager.getCurrentMapData().writeMapToFile(saveFileName);
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -329,27 +333,27 @@ public class JutecGUI extends JFrame implements ActionListener,GetMapFromUtecLis
|
||||||
|
|
||||||
else if (cmd.equals("Load Map #1")) {
|
else if (cmd.equals("Load Map #1")) {
|
||||||
System.out.println("Starting to get map 1");
|
System.out.println("Starting to get map 1");
|
||||||
UtecInterface.pullMapData(1, this);
|
UtecInterface.pullMapData(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (cmd.equals("Load Map #2")) {
|
else if (cmd.equals("Load Map #2")) {
|
||||||
System.out.println("Starting to get map 2");
|
System.out.println("Starting to get map 2");
|
||||||
UtecInterface.pullMapData(2, this);
|
UtecInterface.pullMapData(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (cmd.equals("Load Map #3")) {
|
else if (cmd.equals("Load Map #3")) {
|
||||||
System.out.println("Starting to get map 3");
|
System.out.println("Starting to get map 3");
|
||||||
UtecInterface.pullMapData(3, this);
|
UtecInterface.pullMapData(3);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (cmd.equals("Load Map #4")) {
|
else if (cmd.equals("Load Map #4")) {
|
||||||
System.out.println("Starting to get map 4");
|
System.out.println("Starting to get map 4");
|
||||||
UtecInterface.pullMapData(4, this);
|
UtecInterface.pullMapData(4);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (cmd.equals("Load Map #5")) {
|
else if (cmd.equals("Load Map #5")) {
|
||||||
System.out.println("Starting to get map 5");
|
System.out.println("Starting to get map 5");
|
||||||
UtecInterface.pullMapData(5, this);
|
UtecInterface.pullMapData(5);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (cmd.equals("Load Map File")) {
|
else if (cmd.equals("Load Map File")) {
|
||||||
|
@ -453,12 +457,6 @@ public class JutecGUI extends JFrame implements ActionListener,GetMapFromUtecLis
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void mapRetrieved(UtecMapData theMap) {
|
|
||||||
System.out.println("@@@@@@@@@@@@@@@@@@ Got a map from the utec:" + theMap.getMapName());
|
|
||||||
this.currentMap = theMap;
|
|
||||||
DataManager.setCurrentMap(theMap);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void keyPressed(KeyEvent arg0) {
|
public void keyPressed(KeyEvent arg0) {
|
||||||
//System.out.println("Key Pressed");
|
//System.out.println("Key Pressed");
|
||||||
// System.out.println("Key Pressed:"+arg0.getKeyCode()+" :"+arg0.getKeyChar()+" :"+arg0.getModifiers()+" :"+(int)arg0.getKeyChar());
|
// System.out.println("Key Pressed:"+arg0.getKeyCode()+" :"+arg0.getKeyChar()+" :"+arg0.getModifiers()+" :"+(int)arg0.getKeyChar());
|
||||||
|
|
|
@ -36,12 +36,23 @@ public class MapJPanel extends JPanel{
|
||||||
}
|
}
|
||||||
this.tableModel = new UtecTableModel(this.mapType, initialData);
|
this.tableModel = new UtecTableModel(this.mapType, initialData);
|
||||||
|
|
||||||
init();
|
if(this.mapType == MapJPanel.FUELMAP){
|
||||||
|
init(-8.0, 8.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(this.mapType == MapJPanel.TIMINGMAP){
|
||||||
|
init(-1.0, 5.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(this.mapType == MapJPanel.BOOSTMAP){
|
||||||
|
init(0.0, 500.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void init(){
|
public void init(double min, double max){
|
||||||
table = new UtecJTable(tableModel, mapType);
|
table = new UtecJTable(tableModel, mapType, min, max);
|
||||||
//table.setPreferredScrollableViewportSize(new Dimension(500, 70));
|
//table.setPreferredScrollableViewportSize(new Dimension(500, 70));
|
||||||
|
|
||||||
//Create the scroll pane and add the table to it.
|
//Create the scroll pane and add the table to it.
|
||||||
|
|
|
@ -1,13 +1,26 @@
|
||||||
package enginuity.logger.utec.gui.mapTabs;
|
package enginuity.logger.utec.gui.mapTabs;
|
||||||
|
|
||||||
import javax.swing.JTable;
|
import javax.swing.JTable;
|
||||||
|
import javax.swing.ListSelectionModel;
|
||||||
|
|
||||||
public class UtecJTable extends JTable{
|
public class UtecJTable extends JTable{
|
||||||
|
|
||||||
public UtecJTable(UtecTableModel theModel, int modelType){
|
public UtecJTable(UtecTableModel theModel, int modelType, double minValue, double maxValue){
|
||||||
super(theModel);
|
super(theModel);
|
||||||
|
//this.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
|
||||||
|
//this.getColumnModel().getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
|
||||||
|
//this.setRowSelectionAllowed(false);
|
||||||
|
this.setCellSelectionEnabled(true);
|
||||||
|
//this.setColumnSelectionAllowed(false);
|
||||||
|
this.getSelectionModel().addListSelectionListener(new UtecSelectionListener(this));
|
||||||
|
|
||||||
|
this.setDefaultRenderer(Object.class, new UtecTableCellRenderer(minValue, maxValue));
|
||||||
|
|
||||||
|
|
||||||
|
// ************************
|
||||||
|
// Utec Specific code below
|
||||||
|
// ************************
|
||||||
if(modelType == MapJPanel.FUELMAP){
|
if(modelType == MapJPanel.FUELMAP){
|
||||||
System.out.println("Setting the fuel listener");
|
|
||||||
DataManager.setFuelListener(theModel);
|
DataManager.setFuelListener(theModel);
|
||||||
}
|
}
|
||||||
else if(modelType == MapJPanel.BOOSTMAP){
|
else if(modelType == MapJPanel.BOOSTMAP){
|
||||||
|
@ -19,7 +32,6 @@ public class UtecJTable extends JTable{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateData(double[][] newData){
|
public void updateData(double[][] newData){
|
||||||
System.out.println("Hi ya spanky");
|
|
||||||
((UtecTableModel)this.dataModel).replaceData(newData);
|
((UtecTableModel)this.dataModel).replaceData(newData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
package enginuity.logger.utec.gui.mapTabs;
|
||||||
|
|
||||||
|
import javax.swing.JTable;
|
||||||
|
import javax.swing.event.ListSelectionEvent;
|
||||||
|
import javax.swing.event.ListSelectionListener;
|
||||||
|
|
||||||
|
public class UtecSelectionListener implements ListSelectionListener{
|
||||||
|
private JTable parentTable = null;
|
||||||
|
|
||||||
|
public UtecSelectionListener(JTable parentTable){
|
||||||
|
this.parentTable = parentTable;
|
||||||
|
}
|
||||||
|
public void valueChanged(ListSelectionEvent event) {
|
||||||
|
//System.out.println("1: "+ event.getFirstIndex()+" 2: "+event.getLastIndex());
|
||||||
|
|
||||||
|
int selRow[] = parentTable.getSelectedRows();
|
||||||
|
int selCol[] = parentTable.getSelectedColumns();
|
||||||
|
|
||||||
|
|
||||||
|
for(int i = 0; i < selRow.length; i++){
|
||||||
|
//System.out.println("Row Value: "+selRow[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i = 0; i < selCol.length; i++){
|
||||||
|
//System.out.println("Col Value: "+selCol[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
//System.out.println("---------------------------");
|
||||||
|
Object[] selectedCells = new Object[selRow.length * selCol.length];
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,40 @@
|
||||||
|
package enginuity.logger.utec.gui.mapTabs;
|
||||||
|
|
||||||
|
import java.awt.Color;
|
||||||
|
import java.awt.Component;
|
||||||
|
|
||||||
|
import javax.swing.JTable;
|
||||||
|
import javax.swing.table.DefaultTableCellRenderer;
|
||||||
|
import javax.vecmath.Color3f;
|
||||||
|
|
||||||
|
import com.ecm.graphics.tools.ColorTable;
|
||||||
|
|
||||||
|
public class UtecTableCellRenderer extends DefaultTableCellRenderer{
|
||||||
|
private double min;
|
||||||
|
private double max;
|
||||||
|
|
||||||
|
public UtecTableCellRenderer(double min, double max){
|
||||||
|
this.min = min;
|
||||||
|
this.max = max;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int col){
|
||||||
|
Component cell = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col);
|
||||||
|
|
||||||
|
if(isSelected){
|
||||||
|
cell.setBackground(Color.BLUE);
|
||||||
|
}else{
|
||||||
|
if(value instanceof Double){
|
||||||
|
//System.out.println("Amount:"+(Double)value);
|
||||||
|
}
|
||||||
|
ColorTable.initColorTable(min, max);
|
||||||
|
Color3f theColor = ColorTable.getColor((Double)value);
|
||||||
|
|
||||||
|
cell.setBackground(new Color(theColor.x, theColor.y, theColor.z));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return cell;
|
||||||
|
}
|
||||||
|
}
|
|
@ -20,6 +20,7 @@ public class UtecTableModel extends AbstractTableModel {
|
||||||
for (int i = 0; i < columnNames.length; i++) {
|
for (int i = 0; i < columnNames.length; i++) {
|
||||||
columnNames[i] = i + "";
|
columnNames[i] = i + "";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getColumnCount() {
|
public int getColumnCount() {
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
package enginuity.logger.utec.gui.mapTabs;
|
||||||
|
|
||||||
|
import javax.swing.event.TableModelEvent;
|
||||||
|
import javax.swing.event.TableModelListener;
|
||||||
|
|
||||||
|
public class UtecTableSelectionListener implements TableModelListener{
|
||||||
|
|
||||||
|
public void tableChanged(TableModelEvent arg0) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue