shark_bsp.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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)
  25. #elif (CONFIG_BOARD_TYPE==SHARK_BOARD_SP600)
  26. #define r_resistor 2.0f
  27. #define MAX_HA (22.5f)
  28. #define MAX_SOFT_CURRENT (23)
  29. #define MAX_I2T (900.0f)
  30. #elif (CONFIG_BOARD_TYPE==SHARK_BOARD_SP600_15AH)
  31. #define r_resistor 2.0f
  32. #define MAX_HA (15.0f)
  33. #define MAX_SOFT_CURRENT (23)
  34. #define MAX_I2T (900.0f)
  35. #endif
  36. #define CELLS_NUM 15
  37. #define PACK_TEMPS_NUM 4
  38. #define PCB_TEMP_INDEX 3
  39. #define GD32_ADC 0
  40. #define CS1180_ADC 1
  41. #define UART_TIMEOUT 3000
  42. #define CHARGER_DETECT_IRQ_CLEAR_TIMEOUT (UART_TIMEOUT + 2 * 1000)
  43. void bsp_init(void);
  44. void wdog_start(int timeout);
  45. void wdog_reload(void);
  46. void wdog_set_timeout(int timeout);
  47. void systick_close(void);
  48. void systick_open(void);