module CSwingTiltPermission
    use UnitySignalsModule
    use OperationScenariosModule
    use SimulationVariables
    implicit none
    
    contains
    
    subroutine Evaluate_SwingTiltPermission()
        implicit none
        
        if (data%Configuration%Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
            print*, 'Evaluate_SwingTiltPermission=TopDrive'
#endif


            !TOPDRIVE-CODE=34
            if (Get_TdsElevatorModes() == TDS_ELEVATOR_CONNECTION_NOTHING .and.&
                Get_TdsConnectionModes() == TDS_CONNECTION_NOTHING .and.&
                Get_TdsSwing() == TDS_SWING_OFF_END .and.&
                Get_Slips() == SLIPS_SET_END .and.&
                data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState /= TdsPower_OFF) then
            
                call Set_SwingTiltPermission(.true.)
                return
            end if

                
            call Set_SwingTiltPermission(.false.)

        endif
        
        
        
        
        
        
        
        
        
!        if (DriveType == Kelly_DriveType) then
!#ifdef OST
!            print*, 'Evaluate_SwingTiltPermission=Kelly'
!#endif
!        endif
        
    end subroutine
    
    subroutine Subscribe_SwingTiltPermission()
        implicit none
    end subroutine
    
end module CSwingTiltPermission