30 { a.previousAllocation } -> std::convertible_to<std::string_view>;
90 return static_cast<int16_t
>(handle & 0xffff);
125 return (((handle & 0xFF0000) >> 16) & version) == version;
144#if !defined(__FIRST_SYSTEMCORE__)
@ index
Definition base.h:690
High level class for interfacing with CAN devices conforming to the standard CAN spec.
Definition CAN.hpp:24
Class for sending pulse-width modulation (PWM) signals.
Definition PWM.hpp:21
static void ResetGlobalHandles()
HandleBase & operator=(const HandleBase &)=delete
HandleBase(const HandleBase &)=delete
virtual void ResetHandles()
int16_t m_version
Definition HandlesInternal.hpp:47
Definition HandlesInternal.hpp:29
int32_t HAL_Handle
Definition Types.h:17
Converts a string literal into a format string that will be parsed at compile time and converted into...
Definition printf.h:50
WPILib Hardware Abstraction Layer (HAL) namespace.
Definition Types.hpp:9
HAL_HandleEnum
Enum of HAL handle types.
Definition HandlesInternal.hpp:55
@ UNDEFINED
Definition HandlesInternal.hpp:56
@ COUNTER
Definition HandlesInternal.hpp:63
@ NOTIFIER
Definition HandlesInternal.hpp:59
@ DUTY_CYCLE
Definition HandlesInternal.hpp:72
@ ALERT
Definition HandlesInternal.hpp:79
@ PORT
Definition HandlesInternal.hpp:58
@ COMPRESSOR
Definition HandlesInternal.hpp:66
@ VENDOR
Definition HandlesInternal.hpp:68
@ REV_PH
Definition HandlesInternal.hpp:77
@ CAN_STREAM
Definition HandlesInternal.hpp:78
@ DIO
Definition HandlesInternal.hpp:57
@ CTRE_PDP
Definition HandlesInternal.hpp:75
@ SIMULATION_JNI
Definition HandlesInternal.hpp:69
@ ENCODER
Definition HandlesInternal.hpp:65
@ FPGA_ENCODER
Definition HandlesInternal.hpp:64
@ SOLENOID
Definition HandlesInternal.hpp:67
@ REV_PDH
Definition HandlesInternal.hpp:76
@ DIGITAL_PWM
Definition HandlesInternal.hpp:62
@ ADDRESSABLE_LED
Definition HandlesInternal.hpp:73
@ CTRE_PCM
Definition HandlesInternal.hpp:74
@ SERIAL_PORT
Definition HandlesInternal.hpp:71
@ ANALOG_INPUT
Definition HandlesInternal.hpp:60
int16_t getHandleTypedIndex(HAL_Handle handle, HAL_HandleEnum enumType, int16_t version)
Get if the handle is a correct type and version.
Definition HandlesInternal.hpp:139
HAL_Handle createHandle(int16_t index, HAL_HandleEnum handleType, int16_t version)
Create a handle for a specific index, type and version.
static bool isHandleCorrectVersion(HAL_Handle handle, int16_t version)
Get if the version of the handle is correct.
Definition HandlesInternal.hpp:124
static int16_t getHandleIndex(HAL_Handle handle)
Get the handle index from a handle.
Definition HandlesInternal.hpp:88
static HAL_HandleEnum getHandleType(HAL_Handle handle)
Get the handle type from a handle.
Definition HandlesInternal.hpp:99
constexpr int16_t INVALID_HANDLE_INDEX
Definition HandlesInternal.hpp:50
static bool isHandleType(HAL_Handle handle, HAL_HandleEnum handleType)
Get if the handle is a specific type.
Definition HandlesInternal.hpp:111
constexpr int HANDLE_TYPE_HAL_BASE
Definition Synchronization.hpp:26