/* * Class: edu_wpi_first_wpilibj_hal_AnalogJNI * Method: setAnalogSampleRate * Signature: (DLjava/nio/IntBuffer;)V */ JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_AnalogJNI_setAnalogSampleRate (JNIEnv * env, jclass, jdouble value, jobject status) { ANALOGJNI_LOG(logDEBUG) << "SampleRate = " << value; jint * statusPtr = (jint*)env->GetDirectBufferAddress(status); setAnalogSampleRate( value, statusPtr ); ANALOGJNI_LOG(logDEBUG) << "Status = " << *statusPtr; }
/** * Initialize the analog System. */ void initializeAnalog(int32_t *status) { std::lock_guard<priority_recursive_mutex> sync(analogRegisterWindowMutex); if (analogSystemInitialized) return; analogInputSystem = tAI::create(status); analogOutputSystem = tAO::create(status); setAnalogNumChannelsToActivate(kAnalogInputPins); setAnalogSampleRate(kDefaultSampleRate, status); analogSystemInitialized = true; }
// Doubles void setAnalogSampleRateIntHack(int samplesPerSecond, int32_t *status) { setAnalogSampleRate(intToFloat(samplesPerSecond), status); }
/** * Set the sample rate per channel for all analog channels. * The maximum rate is 500kS/s divided by the number of channels in use. * This is 62500 samples/s per channel. * @param samplesPerSecond The number of samples per second. */ void AnalogInput::SetSampleRate(float samplesPerSecond) { int32_t status = 0; setAnalogSampleRate(samplesPerSecond, &status); wpi_setGlobalErrorWithContext(status, getHALErrorMessage(status)); }