fsensor.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. //! @file
  2. #ifndef FSENSOR_H
  3. #define FSENSOR_H
  4. #include <inttypes.h>
  5. //! minimum meassured chunk length in steps
  6. extern int16_t fsensor_chunk_len;
  7. // enable/disable flag
  8. extern bool fsensor_enabled;
  9. // not responding flag
  10. extern bool fsensor_not_responding;
  11. //enable/disable quality meassurement
  12. extern bool fsensor_oq_meassure_enabled;
  13. //! @name save restore printing
  14. //! @{
  15. extern void fsensor_stop_and_save_print(void);
  16. //! special handling for the IR sensor (no restore position and heating, since this is already correctly handled in the M600 itself)
  17. extern void fsensor_restore_print_and_continue_IR(void);
  18. //! legacy restore print - restore position and heatup to original temperature - for the MMU and the optical fsensor
  19. extern void fsensor_restore_print_and_continue(void);
  20. //! @}
  21. //! initialize
  22. extern void fsensor_init(void);
  23. //! @name enable/disable
  24. //! @{
  25. extern bool fsensor_enable(void);
  26. extern void fsensor_disable(void);
  27. //! @}
  28. //autoload feature enabled
  29. extern bool fsensor_autoload_enabled;
  30. extern void fsensor_autoload_set(bool State);
  31. extern void fsensor_update(void);
  32. #ifdef PAT9125
  33. //! setup pin-change interrupt
  34. extern void fsensor_setup_interrupt(void);
  35. //! @name autoload support
  36. //! @{
  37. extern void fsensor_autoload_check_start(void);
  38. extern void fsensor_autoload_check_stop(void);
  39. #endif //PAT9125
  40. extern bool fsensor_check_autoload(void);
  41. //! @}
  42. //! @name optical quality measurement support
  43. //! @{
  44. extern void fsensor_oq_meassure_set(bool State);
  45. extern void fsensor_oq_meassure_start(uint8_t skip);
  46. extern void fsensor_oq_meassure_stop(void);
  47. extern bool fsensor_oq_result(void);
  48. //! @}
  49. #include "planner.h"
  50. //! @name callbacks from stepper
  51. //! @{
  52. extern void fsensor_st_block_begin(block_t* bl);
  53. extern void fsensor_st_block_chunk(block_t* bl, int cnt);
  54. //! @}
  55. #endif //FSENSOR_H