Example #1
0
/*
 * Class:     edu_wpi_first_wpilibj_hal_DIOJNI
 * Method:    freeDIO
 * Signature: (J)V
 */
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_DIOJNI_freeDIO
  (JNIEnv * env, jclass, jlong id)
{
	DIOJNI_LOG(logDEBUG) << "Calling DIOJNI freeDIO";
	DIOJNI_LOG(logDEBUG) << "Port Ptr = " << (void*)id;
	int32_t status = 0;
	freeDIO((void*)id, &status);
	DIOJNI_LOG(logDEBUG) << "Status = " << status;
	CheckStatus(env, status);
}
Example #2
0
/*
 * Class:     edu_wpi_first_wpilibj_hal_DIOJNI
 * Method:    freeDIO
 * Signature: (Ljava/nio/ByteBuffer;Ljava/nio/IntBuffer;)V
 */
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_DIOJNI_freeDIO
(JNIEnv * env, jclass, jobject id, jobject status)
{
    DIOJNI_LOG(logDEBUG) << "Calling DIOJNI freeDIO";
    void ** javaId = (void**)env->GetDirectBufferAddress(id);
    DIOJNI_LOG(logDEBUG) << "Port Ptr = " << *javaId;
    jint * statusPtr = (jint*)env->GetDirectBufferAddress(status);
    DIOJNI_LOG(logDEBUG) << "Status Ptr = " << statusPtr;
    freeDIO(*javaId, statusPtr);
    DIOJNI_LOG(logDEBUG) << "Status = " << *statusPtr;
}
Example #3
0
/**
 * Free resources associated with the Digital Input class.
 */
DigitalInput::~DigitalInput()
{
	if (StatusIsFatal()) return;
	if (m_interrupt != NULL)
	{
		int32_t status = 0;
		cleanInterrupts(m_interrupt, &status);
		wpi_setErrorWithContext(status, getHALErrorMessage(status));
		m_interrupt = NULL;
		m_interrupts->Free(m_interruptIndex);
	}

	int32_t status = 0;
	freeDIO(m_digital_ports[m_channel], &status);
	wpi_setErrorWithContext(status, getHALErrorMessage(status));
}