예제 #1
0
/**
 * Get a scaled sample straight from this channel.
 * The value is scaled to units of Volts using the calibrated scaling data from
 * GetLSBWeight() and GetOffset().
 * @return A scaled sample straight from this channel.
 */
float AnalogInput::GetVoltage() const {
    if (StatusIsFatal()) return 0.0f;
    int32_t status = 0;
    float voltage = getAnalogVoltage(m_port, &status);
    wpi_setErrorWithContext(status, getHALErrorMessage(status));
    return voltage;
}
예제 #2
0
/*
 * Class:     edu_wpi_first_wpilibj_hal_AnalogJNI
 * Method:    getAnalogVoltage
 * Signature: (Ljava/nio/ByteBuffer;Ljava/nio/IntBuffer;)D
 */
JNIEXPORT jdouble JNICALL Java_edu_wpi_first_wpilibj_hal_AnalogJNI_getAnalogVoltage
  (JNIEnv * env, jclass, jobject id, jobject status)
{
	void ** javaId = (void**)env->GetDirectBufferAddress(id);
	//ANALOGJNI_LOG(logDEBUG) << "Analog Ptr = " << *javaId;
	jint * statusPtr = (jint*)env->GetDirectBufferAddress(status);
	jdouble returnValue = getAnalogVoltage( *javaId, statusPtr );
	//ANALOGJNI_LOG(logDEBUG) << "Status = " << *statusPtr;
	//ANALOGJNI_LOG(logDEBUG) << "Voltage = " << returnValue;
	return returnValue;
}
예제 #3
0
파일: main.c 프로젝트: hitpotato/Lab3Part1
int main (void) {
    // SYSTEMConfigPerformance(40000000);
    initTMR();
    initLCD();
    initADC();
    initPWM();
    
    int i;
    while(1) {
        if (IFS0bits.AD1IF == 1)
        {
            analogVal = ADC1BUF0;
            IFS0bits.AD1IF = 0;
            getAnalogVoltage(analogVal);
        }
        //moveCursorLCD(1,1);
        //printCharLCD('c');
        //getAnalogVoltage(analogVal);
        
    }
}
예제 #4
0
int getAnalogVoltageIntHack(void* analog_port_pointer, int32_t *status) {
  return floatToInt(getAnalogVoltage(analog_port_pointer, status));
}