mc_error.c 556 B

123456789101112131415161718192021
  1. #include "foc/mc_error.h"
  2. #include "foc/core/PMSM_FOC_Core.h"
  3. static err_record_t err[FOC_CRIT_Err_Max];
  4. void err_add_record(u8 err_code, s16 err_value) {
  5. if (err_code >= FOC_CRIT_Err_Max) {
  6. return;
  7. }
  8. err[err_code].err_value = err_value;
  9. err[err_code].err_time = shark_get_seconds();
  10. }
  11. int err_get_record(u8 index, int size, err_record_t *err_out) {
  12. size = min(size, (FOC_CRIT_Err_Max - index));
  13. for (int i = index; i < index + size; i++) {
  14. err_out[i].err_value = err[i].err_value;
  15. err_out[i].err_time = err[i].err_time;
  16. }
  17. return size;
  18. }