public void SendString(String writeStr) { char[] CharArray = writeStr.toCharArray(); byte[] WriteData = new byte[CharArray.length]; for (int i = 0; i < CharArray.length; i++) { WriteData[i] = (byte) CharArray[i]; } i2cBus.transaction(WriteData, WriteData.length, null, 0); }
/* * reads the arduino and recieves 2 bytes to represent the digital inputs attached to it * saves the 2 bytes to 'loByte' and 'hiByte' * return: true if and only if it's successful */ public boolean readArduino() { byte[] buffer = {0, 0}; successful = !m_I2C.transaction( null, 0, buffer, 2); // doesn't send anything and recieves 2 bytes of data; successful==true if // transaction is succesful DriverStationLCD.getInstance() .println(DriverStationLCD.Line.kUser1, 1, " "); DriverStationLCD.getInstance() .println(DriverStationLCD.Line.kUser2, 1, " "); DriverStationLCD.getInstance() .println(DriverStationLCD.Line.kUser1, 1, "success=" + successful); DriverStationLCD.getInstance() .println(DriverStationLCD.Line.kUser2, 1, "buffer=" + buffer[1] + ", " + buffer[0]); DriverStationLCD.getInstance().updateLCD(); hiByte = buffer[1]; loByte = buffer[0]; return successful; }
/** This function is called periodically during operator control */ public void teleopPeriodic() { // Commented and stuff // If it's wrong then uhh // My bad fam. if (joy.getRawButton(1)) { // Check if the button is pressed String WriteString = "RGB"; // String that is going to transfer; change to whatever the Arduino code has char[] CharArray = WriteString.toCharArray(); // Changes data type (string) to char array // Char array: array of chars byte[] WriteData = new byte [CharArray.length]; // Makes the char array able to transfer from roboRio to Arduino for (int i = 0; i < CharArray.length; i++) { // Repeats for each char in CharArray WriteData[i] = (byte) CharArray[i]; // Sets the char to byte } Wire.transaction(WriteData, WriteData.length, null, 0); // Finally does transaction } if (joy.getRawButton(2)) { String WriteString = "RGB"; char[] CharArray = WriteString.toCharArray(); byte[] WriteData = new byte[CharArray.length]; for (int i = 0; i < CharArray.length; i++) { WriteData[i] = (byte) CharArray[i]; } Wire.transaction(WriteData, WriteData.length, null, 0); } if (joy.getRawButton(3)) { String WriteString = "RGB"; char[] CharArray = WriteString.toCharArray(); byte[] WriteData = new byte[CharArray.length]; for (int i = 0; i < CharArray.length; i++) { WriteData[i] = (byte) CharArray[i]; } Wire.transaction(WriteData, WriteData.length, null, 0); } if (joy.getRawButton(4)) { String WriteString = "RGB"; char[] CharArray = WriteString.toCharArray(); byte[] WriteData = new byte[CharArray.length]; for (int i = 0; i < CharArray.length; i++) { WriteData[i] = (byte) CharArray[i]; } Wire.transaction(WriteData, WriteData.length, null, 0); } // if (joy.getRawButton(5)) { // String WriteString = "RGB"; // char[] CharArray = WriteString.toCharArray(); // byte[] WriteData = new byte[CharArray.length]; // for (int i = 0; i < CharArray.length; i++) { // WriteData[i] = (byte) CharArray[i]; // } // Wire.transaction(WriteData, WriteData.length, null, 0); // } // if (joy.getRawButton(6)) { // String WriteString = "RGB"; // char[] CharArray = WriteString.toCharArray(); // byte[] WriteData = new byte[CharArray.length]; // for (int i = 0; i < CharArray.length; i++) { // WriteData[i] = (byte) CharArray[i]; // } // Wire.transaction(WriteData, WriteData.length, null, 0); // } // if (joy.getRawButton(7)) { // String WriteString = "RGB"; // char[] CharArray = WriteString.toCharArray(); // byte[] WriteData = new byte[CharArray.length]; // for (int i = 0; i < CharArray.length; i++) { // WriteData[i] = (byte) CharArray[i]; // } // Wire.transaction(WriteData, WriteData.length, null, 0); // } }