Simulation Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CFillMouseHoleLedNotificationVariables.f90 1.7 KiB

1 year ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. module CFillMouseHoleLedNotificationVariables
  2. use CVoidEventHandlerCollection
  3. implicit none
  4. logical :: FillMouseHoleLed = .false.
  5. public
  6. type(VoidEventHandlerCollection) :: OnFillMouseHoleLedChange
  7. private :: FillMouseHoleLed
  8. contains
  9. subroutine Set_FillMouseHoleLed(v)
  10. use CDrillingConsoleVariables, only: FillMouseHoleLedHw => FillMouseHoleLed
  11. use CMouseHoleEnumVariables
  12. implicit none
  13. logical , intent(in) :: v
  14. #ifdef ExcludeExtraChanges
  15. if(FillMouseHoleLed == v) return
  16. #endif
  17. FillMouseHoleLed = v
  18. if(FillMouseHoleLed) then
  19. FillMouseHoleLedHw = 1
  20. !call Set_MouseHole(MOUSE_HOLE_FILL)
  21. else
  22. FillMouseHoleLedHw = 0
  23. !call Set_MouseHole(MOUSE_HOLE_EMPTY)
  24. endif
  25. call OnFillMouseHoleLedChange%RunAll()
  26. end subroutine
  27. logical function Get_FillMouseHoleLed()
  28. implicit none
  29. Get_FillMouseHoleLed = FillMouseHoleLed
  30. end function
  31. subroutine Set_FillMouseHoleLed_WN(v)
  32. !DEC$ ATTRIBUTES DLLEXPORT :: Set_FillMouseHoleLed_WN
  33. !DEC$ ATTRIBUTES ALIAS: 'Set_FillMouseHoleLed_WN' :: Set_FillMouseHoleLed_WN
  34. implicit none
  35. logical , intent(in) :: v
  36. call Set_FillMouseHoleLed(v)
  37. end subroutine
  38. logical function Get_FillMouseHoleLed_WN()
  39. !DEC$ ATTRIBUTES DLLEXPORT :: Get_FillMouseHoleLed_WN
  40. !DEC$ ATTRIBUTES ALIAS: 'Get_FillMouseHoleLed_WN' :: Get_FillMouseHoleLed_WN
  41. implicit none
  42. Get_FillMouseHoleLed_WN = FillMouseHoleLed
  43. end function
  44. end module CFillMouseHoleLedNotificationVariables