shark_bsp.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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 MIN_CURRENT_FOR_CS1180 (4000)
  38. #define SMALL_CURRENT_R (28.0f)
  39. #define CELLS_NUM 15
  40. #define PACK_TEMPS_NUM 4
  41. #define PCB_TEMP_INDEX 3
  42. #define GD32_ADC 0
  43. #define CS1180_ADC 1
  44. #define UART_TIMEOUT 3000
  45. #define CHARGER_DETECT_IRQ_CLEAR_TIMEOUT (UART_TIMEOUT + 2 * 1000)
  46. void bsp_init(void);
  47. void wdog_start(int timeout);
  48. void wdog_reload(void);
  49. void wdog_set_timeout(int timeout);
  50. void systick_close(void);
  51. void systick_open(void);