shark_bsp.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #pragma once
  2. #define SHARK_BOARD_SP600 1
  3. #define SHARK_BOARD_SP700 2
  4. #define SHARK_BOARD_SP600_15AH 3
  5. #define SHARK_BOARD_SP700_OLD_CS1180 1
  6. #define true TRUE
  7. #define false FALSE
  8. #ifdef CONFIG_BOARD_SP600
  9. #include "gd32f3x0.h"
  10. #define CONFIG_BOARD_TYPE SHARK_BOARD_SP600
  11. #elif defined(CONFIG_BOARD_SP700)
  12. #include "gd32f3x0.h"
  13. #define CONFIG_BOARD_TYPE SHARK_BOARD_SP700
  14. #elif defined(CONFIG_BOARD_SP600_15AH)
  15. #include "gd32f3x0.h"
  16. #define CONFIG_BOARD_TYPE SHARK_BOARD_SP600_15AH
  17. #else
  18. #error "Invalid Board"
  19. #endif
  20. #if (CONFIG_BOARD_TYPE==SHARK_BOARD_SP700)
  21. #define r_resistor 1.0f // 1ºÁÅ·
  22. #define MAX_HA (30.0f)
  23. #define MAX_SOFT_CURRENT (45)
  24. #define MAX_I2T (2500.0f * 2)
  25. #define UART_NUM 2
  26. #elif (CONFIG_BOARD_TYPE==SHARK_BOARD_SP600)
  27. #define r_resistor 2.0f
  28. #ifdef CONFIG_CAP_15AH
  29. #define MAX_HA (15.0f)
  30. #else
  31. #define MAX_HA (22.5f)
  32. #endif
  33. #define MAX_SOFT_CURRENT (23)
  34. #define MAX_I2T (900.0f * 2)
  35. #define UART_NUM 1
  36. #endif
  37. #define CELLS_NUM 15
  38. #define PACK_TEMPS_NUM 4
  39. #define PCB_TEMP_INDEX 3
  40. #define GD32_ADC 0
  41. #define CS1180_ADC 1
  42. #define UART_TIMEOUT 3000
  43. #define CHARGER_DETECT_IRQ_CLEAR_TIMEOUT (UART_TIMEOUT + 2 * 1000)
  44. void bsp_init(void);
  45. void wdog_start(int timeout);
  46. void wdog_reload(void);
  47. void wdog_set_timeout(int timeout);
  48. void systick_close(void);
  49. void systick_open(void);