Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #ifndef CONFIG_H_
  2. #define CONFIG_H_
  3.  
  4. #define DEBUG_MODE 0
  5. #define DEBUG_DATA 1
  6.  
  7. // --------------------------------------------------------------------------
  8. // MOTOR
  9. // --------------------------------------------------------------------------
  10.  
  11. // motor type (0=48V 1=36V)
  12. // DO NOT ENTER OTHER VALUES!
  13. #define MOTOR_TYPE 0
  14.  
  15. // experimental high cadence mode (1=ENABLED)
  16. #define EXPERIMENTAL_HIGH_CADENCE_MODE 1
  17.  
  18. // motor acceleration adjustment
  19. #define MOTOR_ACCELERATION 15
  20. /* VALUES NEED VALIDATION FROM USER FEEDBACK
  21. Default value = 0 %
  22. 36 volt motor, 36 volt battery = 35 %
  23. 36 volt motor, 48 volt battery = 5 %
  24. 36 volt motor, 52 volt battery = 0 %
  25. 48 volt motor, 36 volt battery = 45 %
  26. 48 volt motor, 48 volt battery = 35 %
  27. 48 volt motor, 52 volt battery = 30 % */
  28.  
  29. // assist without pedal rotation (1=ENABLED)
  30. #define MOTOR_ASSISTANCE_WITHOUT_PEDAL_ROTATION 0
  31.  
  32. // assist without pedal rotation threshold
  33. // max value 100, recommended range between 10-20
  34. #define ASSISTANCE_WITHOUT_PEDAL_ROTATION_THRESHOLD 20
  35.  
  36. // pedal torque conversion (optional calibration)
  37. #define PEDAL_TORQUE_PER_10_BIT_ADC_STEP_X100 67
  38.  
  39. // cadence sensor high percentage (calibration required)
  40. #define CADENCE_SENSOR_PULSE_HIGH_PERCENTAGE_X10 500
  41.  
  42.  
  43. // --------------------------------------------------------------------------
  44. // BATTERY
  45. // --------------------------------------------------------------------------
  46.  
  47. // maximum battery current (Amp)
  48. #define BATTERY_CURRENT_MAX 20
  49.  
  50. // battery capacity (Watt/h)
  51. #define TARGET_MAX_BATTERY_POWER 850
  52.  
  53. // number of cells in series (7=24V 10=36V 13=48V 14=52V)
  54. #define BATTERY_CELLS_NUMBER 13
  55.  
  56. // battery internal resistance (milliohms)
  57. #define BATTERY_PACK_RESISTANCE 196
  58.  
  59. // battery low-cut-off voltage (Volt)
  60. #define BATTERY_LOW_VOLTAGE_CUT_OFF 39
  61.  
  62. // battery voltage calibration (95% to 105%)
  63. #define ACTUAL_BATTERY_VOLTAGE_PERCENT 100
  64.  
  65. // battery capacity calibration (max 100%)
  66. #define ACTUAL_BATTERY_CAPACITY_PERCENT 100
  67.  
  68. // li-ion cell
  69. #define LI_ION_CELL_OVERVOLT 4.30
  70. #define LI_ION_CELL_RESET_SOC_PERCENT 4.10
  71. // full
  72. #define LI_ION_CELL_VOLTS_FULL 3.95
  73. // 4 bars
  74. #define LI_ION_CELL_VOLTS_3_OF_4 3.70
  75. #define LI_ION_CELL_VOLTS_2_OF_4 3.45
  76. #define LI_ION_CELL_VOLTS_1_OF_4 3.25
  77. // 6 bars
  78. #define LI_ION_CELL_VOLTS_5_OF_6 3.85
  79. #define LI_ION_CELL_VOLTS_4_OF_6 3.70
  80. #define LI_ION_CELL_VOLTS_3_OF_6 3.55
  81. #define LI_ION_CELL_VOLTS_2_OF_6 3.40
  82. #define LI_ION_CELL_VOLTS_1_OF_6 3.25
  83. // empty
  84. #define LI_ION_CELL_VOLTS_EMPTY 2.90
  85.  
  86.  
  87. // --------------------------------------------------------------------------
  88. // BIKE
  89. // --------------------------------------------------------------------------
  90.  
  91. // wheel perimeter(mm)
  92. #define WHEEL_PERIMETER 2215
  93.  
  94. // wheel max speed (km/h)
  95. #define WHEEL_MAX_SPEED 99
  96.  
  97.  
  98. // --------------------------------------------------------------------------
  99. // FUNCTION
  100. // --------------------------------------------------------------------------
  101.  
  102. // enable functions (1=ENABLED)
  103. #define ENABLE_LIGHTS 1
  104. #define ENABLE_WALK_ASSIST 1
  105. #define ENABLE_BRAKE_SENSOR 1
  106. #define ENABLE_THROTTLE 1
  107. #define ENABLE_TEMPERATURE_LIMIT 0
  108.  
  109. // FUNCTIONS ENABLED ON STARTUP
  110. // street mode (0=OFFROAD 1=STREET)
  111. #define ENABLE_STREET_MODE_ON_STARTUP 0
  112.  
  113. // display mode (0=DISPLAY DATA 1=SET PARAMETER)
  114. #define ENABLE_SET_PARAMETER_ON_STARTUP 0
  115.  
  116. // odometer compensation (1=ENABLED)
  117. #define ENABLE_ODOMETER_COMPENSATION 1
  118.  
  119. // cadence sensor mode (0=STANDARD 1=ADVANCED)
  120. #define CADENCE_SENSOR_MODE_ON_STARTUP 0
  121.  
  122. // lights configuration (0 to 8)
  123. #define LIGHTS_CONFIGURATION_ON_STARTUP 0
  124.  
  125. // ridind mode (1=POWER 2=TORQUE 3=CADENCE 4=EMTB)
  126. #define RIDING_MODE_ON_STARTUP 4
  127.  
  128.  
  129. // lights configuration
  130. #define LIGHTS_CONFIGURATION_1 1
  131. #define LIGHTS_CONFIGURATION_2 6
  132. #define LIGHTS_CONFIGURATION_3 7
  133. /* NOTE: regarding the various light modes
  134. (0) lights ON when enabled
  135. (1) lights FLASHING when enabled
  136. (2) lights ON when enabled and BRAKE-FLASHING when braking
  137. (3) lights FLASHING when enabled and ON when braking
  138. (4) lights FLASHING when enabled and BRAKE-FLASHING when braking
  139. (5) lights ON when enabled, but ON when braking regardless if lights are enabled
  140. (6) lights ON when enabled, but BRAKE-FLASHING when braking regardless if lights are enabled
  141. (7) lights FLASHING when enabled, but ON when braking regardless if lights are enabled
  142. (8) lights FLASHING when enabled, but BRAKE-FLASHING when braking regardless if lights are enabled
  143. */
  144.  
  145. // STREET MODE FUNCTION
  146.  
  147. // street mode power limit (1=ENABLED)
  148. #define STREET_MODE_POWER_LIMIT_ENABLED 1
  149.  
  150. // street mode power limit value (Watt)
  151. #define STREET_MODE_POWER_LIMIT 250
  152.  
  153. // street mode speed limit (km/h)
  154. #define STREET_MODE_SPEED_LIMIT 24
  155.  
  156. // street mode enable other functions
  157. #define STREET_MODE_THROTTLE_ENABLED 0
  158. #define STREET_MODE_CRUISE_ENABLED 0
  159.  
  160.  
  161. // throttle ADC values (optional)
  162. #define ADC_THROTTLE_MIN_VALUE 47
  163. #define ADC_THROTTLE_MAX_VALUE 176
  164.  
  165. // motor temperature limit (sensor required)
  166. #define MOTOR_TEMPERATURE_MIN_VALUE_LIMIT 65
  167. #define MOTOR_TEMPERATURE_MAX_VALUE_LIMIT 80
  168. // enable temperature error at min limit value
  169. #define ENABLE_TEMPERATURE_ERROR_MIN_LIMIT 1
  170.  
  171.  
  172. // --------------------------------------------------------------------------
  173. // DISPLAY
  174. // --------------------------------------------------------------------------
  175.  
  176. // display type
  177. #define ENABLE_VLCD6 0
  178. #define ENABLE_VLCD5 1
  179. #define ENABLE_XH18 0
  180.  
  181. // display parameters
  182. #define ENABLE_DISPLAY_WORKING_FLAG 1
  183. #define ENABLE_DISPLAY_ALWAYS_ON 0
  184. #define ENABLE_WHEEL_MAX_SPEED_FROM_DISPLAY 0
  185.  
  186. // delay menu function (0.1 sec)
  187. #define DELAY_MENU_ON 20
  188.  
  189. // enable delay return to default display mode
  190. #define ENABLE_RETURN_DEFAULT_DISPLAY_MODE 1
  191. // delay return to default display mode (seconds)
  192. #define DELAY_DISPLAY_MODE_DEFAULT 60
  193.  
  194. // displays double data (0=3 VALUES 1=6 VALUES)
  195. #define ENABLE_DISPLAY_DOUBLE_DATA 0
  196. // delay display data (0.1 sec, max 255)
  197. // first series
  198. #define DELAY_DISPLAY_DATA_1 50
  199. #define DELAY_DISPLAY_DATA_2 250
  200. #define DELAY_DISPLAY_DATA_3 250
  201. // second series
  202. #define DELAY_DISPLAY_DATA_4 250
  203. #define DELAY_DISPLAY_DATA_5 50
  204. #define DELAY_DISPLAY_DATA_6 50
  205.  
  206. // display data configuration
  207. // first series
  208. #define DISPLAY_DATA_1 2
  209. #define DISPLAY_DATA_2 3
  210. #define DISPLAY_DATA_3 7
  211. // second series
  212. #define DISPLAY_DATA_4 4
  213. #define DISPLAY_DATA_5 5
  214. #define DISPLAY_DATA_6 6
  215. /* display data code configuration
  216. 0 - motor temperature (°C)
  217. 1 - battery SOC remaining (%)
  218. 2 - battery voltage (Volt)
  219. 3 - battery current (Amp)
  220. 4 - absorbed motor power (Watt/10)
  221. 5 - adc torque sensor (8 bit)
  222. 6 - adc torque sensor (10 bit)
  223. 7 - pedal cadence (rpm)
  224. */
  225.  
  226. // --------------------------------------------------------------------------
  227. // ASSIST
  228. // --------------------------------------------------------------------------
  229. // CAUTION: all assist values _LEVEL_0 for safety must be set to zero
  230.  
  231. // power assist (% max 500)
  232. #define POWER_ASSIST_LEVEL_0 0
  233. #define POWER_ASSIST_LEVEL_1 40
  234. #define POWER_ASSIST_LEVEL_2 70
  235. #define POWER_ASSIST_LEVEL_3 120
  236. #define POWER_ASSIST_LEVEL_4 500
  237.  
  238. // torque assist (max 254)
  239. #define TORQUE_ASSIST_LEVEL_0 0
  240. #define TORQUE_ASSIST_LEVEL_1 40
  241. #define TORQUE_ASSIST_LEVEL_2 70
  242. #define TORQUE_ASSIST_LEVEL_3 120
  243. #define TORQUE_ASSIST_LEVEL_4 254
  244.  
  245. // cadence assist (max 254)
  246. #define CADENCE_ASSIST_LEVEL_0 0
  247. #define CADENCE_ASSIST_LEVEL_1 40
  248. #define CADENCE_ASSIST_LEVEL_2 70
  249. #define CADENCE_ASSIST_LEVEL_3 120
  250. #define CADENCE_ASSIST_LEVEL_4 254
  251.  
  252. // eMTB assist (sensitivity 0 to 20)
  253. #define EMTB_ASSIST_LEVEL_0 0
  254. #define EMTB_ASSIST_LEVEL_1 4
  255. #define EMTB_ASSIST_LEVEL_2 7
  256. #define EMTB_ASSIST_LEVEL_3 12
  257. #define EMTB_ASSIST_LEVEL_4 20
  258.  
  259. // walk assist (max 100)
  260. #define WALK_ASSIST_LEVEL_0 0
  261. #define WALK_ASSIST_LEVEL_1 30
  262. #define WALK_ASSIST_LEVEL_2 50
  263. #define WALK_ASSIST_LEVEL_3 75
  264. #define WALK_ASSIST_LEVEL_4 100
  265. // walk assist threshold (speed limit max km/h)
  266. #define WALK_ASSIST_THRESHOLD_SPEED 25
  267. // walk assist debounce (brake sensor required)
  268. #define WALK_ASSIST_DEBOUNCE_ENABLED 0
  269. // walk assist debounce time (0.1 sec, max 255)
  270. #define WALK_ASSIST_DEBOUNCE_TIME 50
  271.  
  272. // cruise level (target km/h, brake sensor required)
  273. #define CRUISE_TARGET_SPEED_LEVEL_0 0
  274. #define CRUISE_TARGET_SPEED_LEVEL_1 15
  275. #define CRUISE_TARGET_SPEED_LEVEL_2 18
  276. #define CRUISE_TARGET_SPEED_LEVEL_3 21
  277. #define CRUISE_TARGET_SPEED_LEVEL_4 24
  278. // cruise function with pedal rotation
  279. #define CRUISE_MODE_CADENCE_ENABLED 1
  280. // cruise threshold (speed limit min km/h)
  281. #define CRUISE_THRESHOLD_SPEED 10
  282.  
  283. #endif // CONFIG_H_