| 12345678910111213141516171819202122232425262728293031 |
- #include "foc/mc_error.h"
- #include "foc/core/PMSM_FOC_Core.h"
- #include "libs/logger.h"
- static err_record_t err[FOC_CRIT_Err_Max];
- void err_add_record(u8 err_code, s16 err_value) {
- if (err_code >= FOC_CRIT_Err_Max) {
- return;
- }
- err[err_code].err_value = err_value;
- err[err_code].err_time = get_tick_ms();
- }
- int err_get_record(u8 index, int size, err_record_t *err_out) {
- size = min(size, (FOC_CRIT_Err_Max - index));
- for (int i = index; i < index + size; i++) {
- err_out[i].err_value = err[i].err_value;
- err_out[i].err_time = err[i].err_time;
- }
- return size;
- }
- void err_code_log(void) {
- for (int i = 0; i < FOC_CRIT_Err_Max; i++) {
- if (err[i].err_time == 0) {
- continue;
- }
- sys_error("err:%d, time = %d\n", err[i].err_value, err[i].err_time);
- }
- }
|