예제 #1
0
/*
 * Class:     edu_wpi_first_wpilibj_hal_SPIJNI
 * Method:    spiClose
 * Signature: (B)V
 */
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_SPIJNI_spiClose
  (JNIEnv *, jclass, jbyte port)
{
	SPIJNI_LOG(logDEBUG) << "Calling SPIJNI spiClose";
	SPIJNI_LOG(logDEBUG) << "Port = " << (jint) port;
	spiClose(port);
}
예제 #2
0
/*
 * Class:     edu_wpi_first_wpilibj_hal_SPIJNI
 * Method:    spiSetSpeed
 * Signature: (BI)V
 */
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_SPIJNI_spiSetSpeed(
    JNIEnv *, jclass, jbyte port, jint speed) {
  SPIJNI_LOG(logDEBUG) << "Calling SPIJNI spiSetSpeed";
  SPIJNI_LOG(logDEBUG) << "Port = " << (jint)port;
  SPIJNI_LOG(logDEBUG) << "Speed = " << (jint)speed;
  HAL_SetSPISpeed(port, speed);
}
예제 #3
0
/*
 * Class:     edu_wpi_first_wpilibj_hal_SPIJNI
 * Method:    spiInitialize
 * Signature: (B)V
 */
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_SPIJNI_spiInitialize(
    JNIEnv *env, jclass, jbyte port) {
  SPIJNI_LOG(logDEBUG) << "Calling SPIJNI spiInitialize";
  SPIJNI_LOG(logDEBUG) << "Port = " << (jint)port;
  int32_t status = 0;
  HAL_InitializeSPI(port, &status);
  SPIJNI_LOG(logDEBUG) << "Status = " << status;
  CheckStatus(env, status);
}
예제 #4
0
/*
 * Class:     edu_wpi_first_wpilibj_hal_SPIJNI
 * Method:    spiResetAccumulator
 * Signature: (B)V
 */
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_SPIJNI_spiResetAccumulator
  (JNIEnv *env, jclass, jbyte port)
{
	SPIJNI_LOG(logDEBUG) << "Calling SPIJNI spiResetAccumulator";
	SPIJNI_LOG(logDEBUG) << "Port = " << (jint) port;
	int32_t status = 0;
	spiResetAccumulator(port, &status);
	SPIJNI_LOG(logDEBUG) << "Status = " << status;
	CheckStatus(env, status);
}
예제 #5
0
/*
 * Class:     edu_wpi_first_wpilibj_hal_SPIJNI
 * Method:    spiSetChipSelectActiveLow
 * Signature: (B)V
 */
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_SPIJNI_spiSetChipSelectActiveLow
  (JNIEnv * env, jclass, jbyte port)
{
	SPIJNI_LOG(logDEBUG) << "Calling SPIJNI spiSetCSActiveLow";
	SPIJNI_LOG(logDEBUG) << "Port = " << (jint) port;
	int32_t status = 0;
	spiSetChipSelectActiveLow(port, &status);
	SPIJNI_LOG(logDEBUG) << "Status = " << status;
	CheckStatus(env, status);
}
예제 #6
0
/*
 * Class:     edu_wpi_first_wpilibj_hal_SPIJNI
 * Method:    spiSetOpts
 * Signature: (BIII)V
 */
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_SPIJNI_spiSetOpts
  (JNIEnv *, jclass, jbyte port, jint msb_first, jint sample_on_trailing, jint clk_idle_high)
{
	SPIJNI_LOG(logDEBUG) << "Calling SPIJNI spiSetOpts";
	SPIJNI_LOG(logDEBUG) << "Port = " << (jint) port;
	SPIJNI_LOG(logDEBUG) << "msb_first = " << msb_first;
	SPIJNI_LOG(logDEBUG) << "sample_on_trailing = " << sample_on_trailing;
	SPIJNI_LOG(logDEBUG) << "clk_idle_high = " << clk_idle_high;
	spiSetOpts(port, msb_first, sample_on_trailing, clk_idle_high);
}
예제 #7
0
/*
 * Class:     edu_wpi_first_wpilibj_hal_SPIJNI
 * Method:    spiSetAccumulatorDeadband
 * Signature: (BI)V
 */
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_SPIJNI_spiSetAccumulatorDeadband
  (JNIEnv *env, jclass, jbyte port, jint deadband)
{
	SPIJNI_LOG(logDEBUG) << "Calling SPIJNI spiSetAccumulatorDeadband";
	SPIJNI_LOG(logDEBUG) << "Port = " << (jint) port;
	SPIJNI_LOG(logDEBUG) << "Deadband = " << deadband;
	int32_t status = 0;
	spiSetAccumulatorDeadband(port, deadband, &status);
	SPIJNI_LOG(logDEBUG) << "Status = " << status;
	CheckStatus(env, status);
}
예제 #8
0
/*
 * Class:     edu_wpi_first_wpilibj_hal_SPIJNI
 * Method:    spiSetAccumulatorCenter
 * Signature: (BI)V
 */
JNIEXPORT void JNICALL
Java_edu_wpi_first_wpilibj_hal_SPIJNI_spiSetAccumulatorCenter(
    JNIEnv *env, jclass, jbyte port, jint center) {
  SPIJNI_LOG(logDEBUG) << "Calling SPIJNI spiSetAccumulatorCenter";
  SPIJNI_LOG(logDEBUG) << "Port = " << (jint)port;
  SPIJNI_LOG(logDEBUG) << "Center = " << center;
  int32_t status = 0;
  HAL_SetSPIAccumulatorCenter(port, center, &status);
  SPIJNI_LOG(logDEBUG) << "Status = " << status;
  CheckStatus(env, status);
}
예제 #9
0
/*
 * Class:     edu_wpi_first_wpilibj_hal_SPIJNI
 * Method:    spiRead
 * Signature: (BLjava/nio/ByteBuffer;B)I
 */
JNIEXPORT jint JNICALL Java_edu_wpi_first_wpilibj_hal_SPIJNI_spiRead
  (JNIEnv * env, jclass, jbyte port, jobject dataReceived, jbyte size)
{
	SPIJNI_LOG(logDEBUG) << "Calling SPIJNI spiRead";
	SPIJNI_LOG(logDEBUG) << "Port = " << (jint) port;
	uint8_t* dataReceivedPtr = (uint8_t*)env->GetDirectBufferAddress(dataReceived);
	SPIJNI_LOG(logDEBUG) << "Size = " << (jint)size;
	SPIJNI_LOG(logDEBUG) << "DataReceivedPtr = " << dataReceivedPtr;
	jint retVal = spiRead(port, (uint8_t*)dataReceivedPtr, size);
	SPIJNI_LOG(logDEBUG) << "ReturnValue = " << (jint)retVal;
	return retVal;
}
예제 #10
0
/*
 * Class:     edu_wpi_first_wpilibj_hal_SPIJNI
 * Method:    spiGetAccumulatorAverage
 * Signature: (B)D
 */
JNIEXPORT jdouble JNICALL Java_edu_wpi_first_wpilibj_hal_SPIJNI_spiGetAccumulatorAverage
  (JNIEnv *env, jclass, jbyte port)
{
	SPIJNI_LOG(logDEBUG) << "Calling SPIJNI spiGetAccumulatorAverage";
	SPIJNI_LOG(logDEBUG) << "Port = " << (jint) port;
	int32_t status = 0;
	jdouble retVal = spiGetAccumulatorAverage(port, &status);
	SPIJNI_LOG(logDEBUG) << "Status = " << status;
	SPIJNI_LOG(logDEBUG) << "ReturnValue = " << retVal;
	CheckStatus(env, status);
	return retVal;
}
예제 #11
0
/*
 * Class:     edu_wpi_first_wpilibj_hal_SPIJNI
 * Method:    spiWrite
 * Signature: (BLjava/nio/ByteBuffer;B)I
 */
JNIEXPORT jint JNICALL Java_edu_wpi_first_wpilibj_hal_SPIJNI_spiWrite(
    JNIEnv *env, jclass, jbyte port, jobject dataToSend, jbyte size) {
  SPIJNI_LOG(logDEBUG) << "Calling SPIJNI spiWrite";
  SPIJNI_LOG(logDEBUG) << "Port = " << (jint)port;
  uint8_t *dataToSendPtr = nullptr;
  if (dataToSend != 0) {
    dataToSendPtr = (uint8_t *)env->GetDirectBufferAddress(dataToSend);
  }
  SPIJNI_LOG(logDEBUG) << "Size = " << (jint)size;
  SPIJNI_LOG(logDEBUG) << "DataToSendPtr = " << dataToSendPtr;
  jint retVal = HAL_WriteSPI(port, dataToSendPtr, size);
  SPIJNI_LOG(logDEBUG) << "ReturnValue = " << (jint)retVal;
  return retVal;
}
예제 #12
0
/*
 * Class:     edu_wpi_first_wpilibj_hal_SPIJNI
 * Method:    spiGetAccumulatorOutput
 * Signature: (BLjava/nio/LongBuffer;Ljava/nio/IntBuffer;)V
 */
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_SPIJNI_spiGetAccumulatorOutput
  (JNIEnv *env, jclass, jbyte port, jobject value, jobject count)
{
	SPIJNI_LOG(logDEBUG) << "Calling SPIJNI spiGetAccumulatorOutput";
	SPIJNI_LOG(logDEBUG) << "Port = " << (jint) port;
	int32_t status = 0;

	jlong * valuePtr = (jlong*)env->GetDirectBufferAddress(value);
	uint32_t * countPtr = (uint32_t*)env->GetDirectBufferAddress(count);

	spiGetAccumulatorOutput(port, valuePtr, countPtr, &status);

	SPIJNI_LOG(logDEBUG) << "Status = " << status;
	SPIJNI_LOG(logDEBUG) << "Value = " << *valuePtr;
	SPIJNI_LOG(logDEBUG) << "Count = " << *countPtr;
	CheckStatus(env, status);
}
예제 #13
0
/*
 * Class:     edu_wpi_first_wpilibj_hal_SPIJNI
 * Method:    spiInitAccumulator
 * Signature: (BIIBIIBBZZ)V
 */
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_SPIJNI_spiInitAccumulator
  (JNIEnv *env, jclass, jbyte port, jint period, jint cmd, jbyte xferSize, jint validMask, jint validValue, jbyte dataShift, jbyte dataSize, jboolean isSigned, jboolean bigEndian)
{
	SPIJNI_LOG(logDEBUG) << "Calling SPIJNI spiInitAccumulator";
	SPIJNI_LOG(logDEBUG) << "Port = " << (jint) port;
	SPIJNI_LOG(logDEBUG) << "Period = " << period;
	SPIJNI_LOG(logDEBUG) << "Cmd = " << cmd;
	SPIJNI_LOG(logDEBUG) << "XferSize = " << (jint) xferSize;
	SPIJNI_LOG(logDEBUG) << "ValidMask = " << validMask;
	SPIJNI_LOG(logDEBUG) << "ValidValue = " << validValue;
	SPIJNI_LOG(logDEBUG) << "DataShift = " << (jint) dataShift;
	SPIJNI_LOG(logDEBUG) << "DataSize = " << (jint) dataSize;
	SPIJNI_LOG(logDEBUG) << "IsSigned = " << (jint) isSigned;
	SPIJNI_LOG(logDEBUG) << "BigEndian = " << (jint) bigEndian;
	int32_t status = 0;
	spiInitAccumulator(port, period, cmd, xferSize, validMask, validValue,
		dataShift, dataSize, isSigned, bigEndian, &status);
	SPIJNI_LOG(logDEBUG) << "Status = " << status;
	CheckStatus(env, status);
}