ErrorHandler.h 818 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma once
  2. #include "Stream.h"
  3. namespace TeensyStep
  4. {
  5. using errCallback_t = void(int, int);
  6. enum class errModule;
  7. enum class pitERR;
  8. class ErrorHandler
  9. {
  10. public:
  11. static int error(errModule module, int code)
  12. {
  13. if (callback != nullptr) callback((int)module, code);
  14. return code;
  15. }
  16. static void attachCallback(errCallback_t* cb) { callback = cb; }
  17. protected:
  18. static errCallback_t* callback;
  19. };
  20. extern errCallback_t* verboseHandler(Stream&);
  21. enum class errModule {
  22. PIT = 1,
  23. MC,
  24. RB
  25. };
  26. enum class pitErr {
  27. OK,
  28. argErr,
  29. notAllocated,
  30. outOfTimers,
  31. };
  32. enum class mcErr {
  33. OK,
  34. alrdyMoving,
  35. };
  36. }