@@ -86,6 +86,7 @@ int16_t i16_PAS_Duration=PAS_TIMEOUT;
8686int32_t i32_Gauge_Torque_cumulated = 0 ;
8787int16_t i16_Current_Target = 0 ;
8888uint16_t ui16_slow_loop_counter = 0 ;
89+ uint16_t ui16_Gauge_Gain ;
8990volatile uint16_t adcData [4 ]; //Buffer for ADC1 Input
9091MotorState_t MS ; //struct for motor state
9192
@@ -182,18 +183,23 @@ int main(void)
182183 HAL_Delay (200 );
183184 HAL_GPIO_TogglePin (Onboard_LED_GPIO_Port , Onboard_LED_Pin );
184185 Send_CAN_Request (REG_MOTOR_REV_SW );
186+
185187 }
186188 HAL_Delay (200 );
187189
190+ Send_CAN_Command (REG_MOTOR_PROTECT_UNLOCK ,MOTOR_PROTECT_UNLOCK_KEY );
191+ Send_CAN_Command (REG_MOTOR_TORQUE_GAUGE_GAIN ,30 ); // 30=neuer Gauge_Gain
192+ ui16_Gauge_Gain = 0 ;
193+ Send_CAN_Request (REG_MOTOR_TORQUE_GAUGE_GAIN ); // Gauge_Gain abfragen, nur zur Kontrolle
194+ ui16_Gauge_Gain = RxData [3 ];
188195
189-
190- MS .Gauge_Ext_Torq_Flag = 0 ; //set torque source to external BB-sensor by default. Is overwritten by KT-LCD setting of P3 at runtime.
191- MS .Assist_Level = 3 ; //set Assistlevel to 3 as default value
196+ MS .Gauge_Ext_Torq_Flag = 1 ; //set torque source to external BB-sensor by default. Is overwritten by KT-LCD setting of P3 at runtime.
197+ MS .Assist_Level = 1 ; //set Assistlevel to 3 as default value
192198 MS .Gauge_Factor = 127 ; //default for global gain for torque measurement, set by Kunteng Paramter P1 0 ... 255
193- MS .Regen_Factor = 4 ; //default regen strenght for brake lever regen
199+ MS .Regen_Factor = 2 ; //default regen strenght for brake lever regen
194200 MS .Throttle_Function = 0 ; //Throttle override for power and regen
195201 MS .Min_Voltage = 20000 ; //minimum Voltage (mV) for 10s pack as default
196- MS .Max_Voltage = 39000 ; //maximum Voltage (mV) for 10s pack as default
202+ MS .Max_Voltage = 46000 ; //maximum Voltage (mV) for 10s pack as default
197203
198204 /* USER CODE END 2 */
199205
@@ -444,7 +450,7 @@ int main(void)
444450
445451 case REG_MOTOR_TORQUE_GAUGE_VALUE :
446452 i16_Gauge_Torque = RxData [3 ];
447- i32_Gauge_Torque_cumulated -= (i32_Gauge_Torque_cumulated >>FILTER );
453+ i32_Gauge_Torque_cumulated -= (i32_Gauge_Torque_cumulated >>FILTER ); // FILTER = 6 für 1s Zeitkonstante
448454 i32_Gauge_Torque_cumulated += i16_Gauge_Torque ;
449455
450456 break ;
@@ -507,7 +513,7 @@ int main(void)
507513
508514 if (!UART_RX_Buffer [0 ]){
509515
510- sprintf (UART_TX_Buffer , "%d, %ld, %d, %d, %ld, %d, %d, %d, %d, %d, %d \r\n" , MS .MotorTemperature , ui32_Ext_Torque_Cumulated , MS .Power , MS .Speed , MS .Voltage , i16_PAS_Duration , i16_Current_Target , adcData [ 0 ], adcData [ 1 ] , adcData [2 ], adcData [3 ]);
516+ sprintf (UART_TX_Buffer , "%d, %ld, %d, %d, %ld, %d, %d, %d, %d, %d, %d \r\n" , MS .MotorTemperature , i32_Gauge_Torque_cumulated , MS .Power , MS .Speed , MS .Voltage , i16_PAS_Duration , i16_Current_Target , i16_Gauge_Torque , ui16_Gauge_Gain , adcData [2 ], adcData [3 ]);
511517 i = 0 ;
512518 while (UART_TX_Buffer [i ] != '\0' )
513519 {i ++ ;}
0 commit comments