[doc] Add missing pneumatics docs (NFC) (#5389)

Add missing HAL docs for PCM and PH
Fix references to PCM
Document different one shot durations for PCM and PH
This commit is contained in:
sciencewhiz
2023-06-15 08:14:35 -07:00
committed by GitHub
parent c3e04a6ea2
commit 5c2addda0f
9 changed files with 497 additions and 18 deletions

View File

@@ -98,7 +98,7 @@ class DoubleSolenoid : public wpi::Sendable,
* If a solenoid is shorted, it is added to the DisabledList and disabled
* until power cycle, or until faults are cleared.
*
* @see ClearAllPCMStickyFaults()
* @see ClearAllStickyFaults()
* @return If solenoid is disabled due to short.
*/
bool IsFwdSolenoidDisabled() const;
@@ -109,7 +109,7 @@ class DoubleSolenoid : public wpi::Sendable,
* If a solenoid is shorted, it is added to the DisabledList and disabled
* until power cycle, or until faults are cleared.
*
* @see ClearAllPCMStickyFaults()
* @see ClearAllStickyFaults()
* @return If solenoid is disabled due to short.
*/
bool IsRevSolenoidDisabled() const;

View File

@@ -117,15 +117,15 @@ class PneumaticsBase {
/**
* Sets solenoids on a pneumatics module.
*
* @param mask mask
* @param values values
* @param mask bitmask to set
* @param values solenoid values
*/
virtual void SetSolenoids(int mask, int values) = 0;
/**
* Gets a bitmask of solenoid values.
*
* @return values
* @return solenoid values
*/
virtual int GetSolenoids() const = 0;
@@ -183,8 +183,16 @@ class PneumaticsBase {
*/
virtual void UnreserveSolenoids(int mask) = 0;
/**
* Reserve the compressor.
*
* @return true if successful; false if compressor already reserved
*/
virtual bool ReserveCompressor() = 0;
/**
* Unreserve the compressor.
*/
virtual void UnreserveCompressor() = 0;
/**
@@ -212,9 +220,29 @@ class PneumaticsBase {
*/
virtual units::pounds_per_square_inch_t GetPressure(int channel) const = 0;
/**
* Create a solenoid object for the specified channel.
*
* @param channel solenoid channel
* @return Solenoid object
*/
virtual Solenoid MakeSolenoid(int channel) = 0;
/**
* Create a double solenoid object for the specified channels.
*
* @param forwardChannel solenoid channel for forward
* @param reverseChannel solenoid channel for reverse
* @return DoubleSolenoid object
*/
virtual DoubleSolenoid MakeDoubleSolenoid(int forwardChannel,
int reverseChannel) = 0;
/**
* Create a compressor object.
*
* @return Compressor object
*/
virtual Compressor MakeCompressor() = 0;
/**

View File

@@ -118,7 +118,7 @@ class PneumaticsControlModule : public PneumaticsBase {
/**
* Returns whether the compressor has been disconnected since sticky faults
* were last cleared. This fault is persistent and can be cleared by
* ClearAllStickyFaults()}
* ClearAllStickyFaults()
*
* @return True if the compressor has been disconnected since sticky faults
* were last cleared, otherwise false.
@@ -126,7 +126,22 @@ class PneumaticsControlModule : public PneumaticsBase {
*/
bool GetCompressorNotConnectedStickyFault() const;
/**
* Returns whether the solenoid is currently reporting a voltage fault.
*
* @return True if solenoid is reporting a fault, otherwise false.
* @see GetSolenoidVoltageStickyFault()
*/
bool GetSolenoidVoltageFault() const;
/**
* Returns whether the solenoid has reported a voltage fault since sticky
* faults were last cleared. This fault is persistent and can be cleared by
* ClearAllStickyFaults()
*
* @return True if solenoid is reporting a fault, otherwise false.
* @see GetSolenoidVoltageFault()
*/
bool GetSolenoidVoltageStickyFault() const;
/** Clears all sticky faults on this device. */

View File

@@ -87,18 +87,22 @@ class Solenoid : public wpi::Sendable, public wpi::SendableHelper<Solenoid> {
bool IsDisabled() const;
/**
* Set the pulse duration in the PCM. This is used in conjunction with
* the startPulse method to allow the PCM to control the timing of a pulse.
* The timing can be controlled in 0.01 second increments.
* Set the pulse duration in the pneumatics module. This is used in
* conjunction with the startPulse method to allow the pneumatics module to
* control the timing of a pulse.
*
* @param duration The duration of the pulse, from 0.01 to 2.55 seconds.
* On the PCM, the timing can be controlled in 0.01 second increments, with a
* maximum of 2.55 seconds. On the PH, the timing can be controlled in 0.001
* second increments, with a maximum of 65.534 seconds.
*
* @param duration The duration of the pulse.
*
* @see startPulse()
*/
void SetPulseDuration(units::second_t duration);
/**
* %Trigger the PCM to generate a pulse of the duration set in
* %Trigger the pneumatics module to generate a pulse of the duration set in
* setPulseDuration.
*
* @see setPulseDuration()