fsensor.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #ifndef FSENSOR_H
  2. #define FSENSOR_H
  3. #include "planner.h"
  4. //#define FSENSOR_CHUNK_LEN 280 //filament sensor chunk length in steps - 1mm
  5. #define FSENSOR_CHUNK_LEN 180 //filament sensor chunk length in steps - 0.64mm
  6. //save restore printing
  7. extern void fsensor_stop_and_save_print();
  8. extern void fsensor_restore_print_and_continue();
  9. //enable/disable
  10. extern bool fsensor_enable();
  11. extern void fsensor_disable();
  12. extern bool filament_autoload_enabled;
  13. extern void fsensor_autoload_set(bool State);
  14. //update (perform M600 on filament runout)
  15. extern void fsensor_update();
  16. //setup pin-change interrupt
  17. extern void fsensor_setup_interrupt();
  18. //
  19. extern void fsensor_autoload_check_start(void);
  20. //
  21. extern void fsensor_autoload_check_stop(void);
  22. //
  23. extern bool fsensor_check_autoload(void);
  24. //callbacks from stepper
  25. extern void fsensor_st_block_begin(block_t* bl);
  26. extern void fsensor_st_block_chunk(block_t* bl, int cnt);
  27. //minimum meassured chunk length in steps
  28. extern int16_t fsensor_chunk_len;
  29. //enable/disable flag
  30. extern bool fsensor_enabled;
  31. //watch runout flag
  32. extern bool fsensor_watch_runout;
  33. //not responding flag
  34. extern bool fsensor_not_responding;
  35. extern uint8_t fsensor_err_cnt;
  36. //autoload enable/disable flag
  37. extern bool fsensor_autoload_enabled;
  38. extern uint32_t fsensor_st_sum;
  39. extern uint32_t fsensor_yd_sum;
  40. extern uint32_t fsensor_er_sum;
  41. extern uint8_t fsensor_yd_min;
  42. extern uint8_t fsensor_yd_max;
  43. #endif //FSENSOR_H