fix swapped feedback speed_measured left and right
This commit is contained in:
parent
fb961e3da7
commit
70a17af3f2
|
@ -23,7 +23,7 @@ unsigned long last_log_send=0;
|
|||
#define LOGMININTERVAL 20 //minimum interval (ms) to send logs
|
||||
#define LOGMAXINTERVAL 10000 //maximum time (ms) after which data is send
|
||||
|
||||
#define WRITE_HEADER_TIME 1000
|
||||
#define WRITE_HEADER_TIME 400 //just before FEEDBACKRECEIVETIMEOUT, so header gets written before error comments
|
||||
bool log_header_written = false;
|
||||
|
||||
|
||||
|
@ -112,12 +112,12 @@ SerialCommand CommandFront;
|
|||
SerialCommand CommandRear;
|
||||
|
||||
|
||||
typedef struct{
|
||||
typedef struct{ //match this struct to hoverboard-firmware SerialFeedback struct in main.c
|
||||
uint16_t start;
|
||||
int16_t cmd1;
|
||||
int16_t cmd2;
|
||||
int16_t speedL_meas; //left speed is negative when driving forward
|
||||
int16_t speedR_meas; //right speed is positive when driving forward
|
||||
int16_t speedR_meas; //right speed is negatie when driving forward
|
||||
int16_t speedL_meas; //left speed is positive when driving forward
|
||||
int16_t batVoltage;
|
||||
int16_t boardTemp;
|
||||
int16_t curL_DC; //negative values are current consumed. positive values mean generated current
|
||||
|
@ -130,8 +130,8 @@ SerialFeedback NewFeedbackFront;
|
|||
SerialFeedback FeedbackRear;
|
||||
SerialFeedback NewFeedbackRear;
|
||||
|
||||
#define CURRENT_FILTER_SIZE 20 //latency is about CURRENT_FILTER_SIZE/2*MEASURE_INTERVAL (measure interval is defined by hoverboard controller)
|
||||
#define CURRENT_MEANVALUECOUNT 4 //0<= meanvaluecount < CURRENT_FILTER_SIZE/2. how many values will be used from sorted weight array from the center region. abour double this values reading are used
|
||||
#define CURRENT_FILTER_SIZE 40 //latency is about CURRENT_FILTER_SIZE/2*MEASURE_INTERVAL (measure interval is defined by hoverboard controller)
|
||||
#define CURRENT_MEANVALUECOUNT 10 //0<= meanvaluecount < CURRENT_FILTER_SIZE/2. how many values will be used from sorted weight array from the center region. abour double this values reading are used
|
||||
typedef struct{
|
||||
int16_t curL_DC[CURRENT_FILTER_SIZE] = {0}; //current will be inverted for this so positive value means consumed current
|
||||
int16_t curR_DC[CURRENT_FILTER_SIZE] = {0};
|
||||
|
@ -359,10 +359,10 @@ void writeLog(HardwareSerial &SerialRef, unsigned long time, MotorParameter &mpf
|
|||
SerialRef.print(mprear.filtered_curL,3); SerialRef.print(",");
|
||||
SerialRef.print(mprear.filtered_curR,3); SerialRef.print(",");
|
||||
|
||||
SerialRef.print(-fbfront.speedL_meas); SerialRef.print(","); //invert speed, because left wheels are negated
|
||||
SerialRef.print(fbfront.speedR_meas); SerialRef.print(",");
|
||||
SerialRef.print(-fbrear.speedL_meas); SerialRef.print(","); //invert speed, because left wheels are negated
|
||||
SerialRef.print(fbrear.speedR_meas); SerialRef.print(",");
|
||||
SerialRef.print(fbfront.speedL_meas); SerialRef.print(","); //invert speed, because left wheels are negated
|
||||
SerialRef.print(-fbfront.speedR_meas); SerialRef.print(",");
|
||||
SerialRef.print(fbrear.speedL_meas); SerialRef.print(","); //invert speed, because left wheels are negated
|
||||
SerialRef.print(-fbrear.speedR_meas); SerialRef.print(",");
|
||||
|
||||
SerialRef.print(fbfront.boardTemp/10.0); SerialRef.print(","); //in degC
|
||||
SerialRef.print(fbrear.boardTemp/10.0); SerialRef.print(","); //in degC
|
||||
|
@ -569,7 +569,7 @@ void readButtons() {
|
|||
|
||||
if (button_start_state) { //pressed
|
||||
if ( (loopmillis> button_start_lastchange + LONG_PRESS_ARMING_TIME)) { //pressed long
|
||||
if (throttle_pos<=0 && brake_pos<=0 && !armed) { //brake or thottle not pressed
|
||||
if (throttle_pos<=0 && brake_pos<=0 && controllers_connected && !armed) { //brake or thottle not pressed, controllers connected
|
||||
armed=true; //arm if button pressed long enough
|
||||
writeLogComment(Serial1,loopmillis, "Armed by button");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue