module CTopDrivePanelVariables
    implicit none    
    public    
    
    ! const
    integer :: TdsPower_REV = 1
    integer :: TdsPower_OFF = 0
    integer :: TdsPower_FWD = -1
    
    integer :: TdsMu_TORQ = 1
    integer :: TdsMu_SPINE = 0
    integer :: TdsMu_DRILL = -1
    
    integer :: TdsLinkTilt_TILT = 1
    integer :: TdsLinkTilt_OFF = 0
    integer :: TdsLinkTilt_DRILL = -1
    
    integer :: LED_OFF = 0
    integer :: LED_ON = 1
    integer :: LED_BLINK = 2
    
    ! Input vars
    Type::TopDrivePanelType
        integer :: TopDriveTdsPowerState
        logical :: TopDriveTorqueWrench
        integer :: TopDriveDrillTorqueState
        integer :: TopDriveLinkTiltState
        logical :: TopDriveIbop
        real :: TopDriveTorqueLimitKnob
        real :: RpmKnob

        
        ! Output vars
        integer :: TopDriveOperationFaultLed
        integer :: TopDriveTdsPowerLed
        integer :: TopDriveTorqueWrenchLed
        integer :: TopDriveLinkTiltLed
        integer :: TopDriveIbopLed
        real :: TopDriveTorqueLimitGauge
        real :: TopDriveTorqueGauge
        real :: TopDriveRpmGauge
    end type TopDrivePanelType
    contains
 end module CTopDrivePanelVariables