mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-22 01:11:42 +00:00
Subsections are alphabetized according to lexographic ordering. Also, HAL includes were moved from headers to source files where possible. This change may cause user code which uses HAL functionality and does not include the relevant HAL header (since it may have been provided by another WPILib header) to fail to compile.
189 lines
5.3 KiB
C++
189 lines
5.3 KiB
C++
/*----------------------------------------------------------------------------*/
|
|
/* Copyright (c) FIRST 2011-2016. All Rights Reserved. */
|
|
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
|
/* must be accompanied by the FIRST BSD license file in the root directory of */
|
|
/* the project. */
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
#include "ControllerPower.h"
|
|
|
|
#include <stdint.h>
|
|
|
|
#include "ErrorBase.h"
|
|
#include "HAL/HAL.h"
|
|
#include "HAL/Power.h"
|
|
|
|
/**
|
|
* Get the input voltage to the robot controller.
|
|
*
|
|
* @return The controller input voltage value in Volts
|
|
*/
|
|
double ControllerPower::GetInputVoltage() {
|
|
int32_t status = 0;
|
|
double retVal = getVinVoltage(&status);
|
|
wpi_setGlobalErrorWithContext(status, getHALErrorMessage(status));
|
|
return retVal;
|
|
}
|
|
|
|
/**
|
|
* Get the input current to the robot controller.
|
|
*
|
|
* @return The controller input current value in Amps
|
|
*/
|
|
double ControllerPower::GetInputCurrent() {
|
|
int32_t status = 0;
|
|
double retVal = getVinCurrent(&status);
|
|
wpi_setGlobalErrorWithContext(status, getHALErrorMessage(status));
|
|
return retVal;
|
|
}
|
|
|
|
/**
|
|
* Get the voltage of the 6V rail.
|
|
*
|
|
* @return The controller 6V rail voltage value in Volts
|
|
*/
|
|
double ControllerPower::GetVoltage6V() {
|
|
int32_t status = 0;
|
|
double retVal = getUserVoltage6V(&status);
|
|
wpi_setGlobalErrorWithContext(status, getHALErrorMessage(status));
|
|
return retVal;
|
|
}
|
|
|
|
/**
|
|
* Get the current output of the 6V rail.
|
|
*
|
|
* @return The controller 6V rail output current value in Amps
|
|
*/
|
|
double ControllerPower::GetCurrent6V() {
|
|
int32_t status = 0;
|
|
double retVal = getUserCurrent6V(&status);
|
|
wpi_setGlobalErrorWithContext(status, getHALErrorMessage(status));
|
|
return retVal;
|
|
}
|
|
|
|
/**
|
|
* Get the enabled state of the 6V rail. The rail may be disabled due to a
|
|
* controller brownout, a short circuit on the rail, or controller over-voltage.
|
|
*
|
|
* @return The controller 6V rail enabled value. True for enabled.
|
|
*/
|
|
bool ControllerPower::GetEnabled6V() {
|
|
int32_t status = 0;
|
|
bool retVal = getUserActive6V(&status);
|
|
wpi_setGlobalErrorWithContext(status, getHALErrorMessage(status));
|
|
return retVal;
|
|
}
|
|
|
|
/**
|
|
* Get the count of the total current faults on the 6V rail since the controller
|
|
* has booted.
|
|
*
|
|
* @return The number of faults.
|
|
*/
|
|
int ControllerPower::GetFaultCount6V() {
|
|
int32_t status = 0;
|
|
int retVal = getUserCurrentFaults6V(&status);
|
|
wpi_setGlobalErrorWithContext(status, getHALErrorMessage(status));
|
|
return retVal;
|
|
}
|
|
|
|
/**
|
|
* Get the voltage of the 5V rail.
|
|
*
|
|
* @return The controller 5V rail voltage value in Volts
|
|
*/
|
|
double ControllerPower::GetVoltage5V() {
|
|
int32_t status = 0;
|
|
double retVal = getUserVoltage5V(&status);
|
|
wpi_setGlobalErrorWithContext(status, getHALErrorMessage(status));
|
|
return retVal;
|
|
}
|
|
|
|
/**
|
|
* Get the current output of the 5V rail.
|
|
*
|
|
* @return The controller 5V rail output current value in Amps
|
|
*/
|
|
double ControllerPower::GetCurrent5V() {
|
|
int32_t status = 0;
|
|
double retVal = getUserCurrent5V(&status);
|
|
wpi_setGlobalErrorWithContext(status, getHALErrorMessage(status));
|
|
return retVal;
|
|
}
|
|
|
|
/**
|
|
* Get the enabled state of the 5V rail. The rail may be disabled due to a
|
|
* controller brownout, a short circuit on the rail, or controller over-voltage.
|
|
*
|
|
* @return The controller 5V rail enabled value. True for enabled.
|
|
*/
|
|
bool ControllerPower::GetEnabled5V() {
|
|
int32_t status = 0;
|
|
bool retVal = getUserActive5V(&status);
|
|
wpi_setGlobalErrorWithContext(status, getHALErrorMessage(status));
|
|
return retVal;
|
|
}
|
|
|
|
/**
|
|
* Get the count of the total current faults on the 5V rail since the controller
|
|
* has booted.
|
|
*
|
|
* @return The number of faults
|
|
*/
|
|
int ControllerPower::GetFaultCount5V() {
|
|
int32_t status = 0;
|
|
int retVal = getUserCurrentFaults5V(&status);
|
|
wpi_setGlobalErrorWithContext(status, getHALErrorMessage(status));
|
|
return retVal;
|
|
}
|
|
|
|
/**
|
|
* Get the voltage of the 3.3V rail.
|
|
*
|
|
* @return The controller 3.3V rail voltage value in Volts
|
|
*/
|
|
double ControllerPower::GetVoltage3V3() {
|
|
int32_t status = 0;
|
|
double retVal = getUserVoltage3V3(&status);
|
|
wpi_setGlobalErrorWithContext(status, getHALErrorMessage(status));
|
|
return retVal;
|
|
}
|
|
|
|
/**
|
|
* Get the current output of the 3.3V rail.
|
|
*
|
|
* @return The controller 3.3V rail output current value in Amps
|
|
*/
|
|
double ControllerPower::GetCurrent3V3() {
|
|
int32_t status = 0;
|
|
double retVal = getUserCurrent3V3(&status);
|
|
wpi_setGlobalErrorWithContext(status, getHALErrorMessage(status));
|
|
return retVal;
|
|
}
|
|
|
|
/**
|
|
* Get the enabled state of the 3.3V rail. The rail may be disabled due to a
|
|
* controller brownout, a short circuit on the rail, or controller over-voltage.
|
|
*
|
|
* @return The controller 3.3V rail enabled value. True for enabled.
|
|
*/
|
|
bool ControllerPower::GetEnabled3V3() {
|
|
int32_t status = 0;
|
|
bool retVal = getUserActive3V3(&status);
|
|
wpi_setGlobalErrorWithContext(status, getHALErrorMessage(status));
|
|
return retVal;
|
|
}
|
|
|
|
/**
|
|
* Get the count of the total current faults on the 3.3V rail since the
|
|
* controller has booted.
|
|
*
|
|
* @return The number of faults
|
|
*/
|
|
int ControllerPower::GetFaultCount3V3() {
|
|
int32_t status = 0;
|
|
int retVal = getUserCurrentFaults3V3(&status);
|
|
wpi_setGlobalErrorWithContext(status, getHALErrorMessage(status));
|
|
return retVal;
|
|
}
|