Skip to content

Commit fda338e

Browse files
authored
Fix source voltage compensation on R6B board (#102)
1 parent 6d10be8 commit fda338e

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

tfrog-motordriver/controlVelocity.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ typedef struct _DriverState
177177
uint32_t velcontrol;
178178
uint32_t ping_request;
179179
uint32_t odom_drop;
180+
int32_t vsrc_max;
180181
} DriverState;
181182

182183
#ifdef static_assert

tfrog-motordriver/main.c

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -711,6 +711,19 @@ int main()
711711
driver_state.ifmode = 0;
712712
driver_state.watchdog = 0;
713713
driver_state.odom_drop = 0;
714+
driver_state.vsrc_max = 0x3ff;
715+
switch (driver_state.board_version)
716+
{
717+
case BOARD_R6A:
718+
case BOARD_R4:
719+
break;
720+
case BOARD_R6B:
721+
#if defined(tfrog_rev5)
722+
driver_state.vsrc_max = 0x3ff * VSRC_CONV_B;
723+
#endif
724+
break;
725+
}
726+
714727
// Driver loop
715728
while (1)
716729
{
@@ -1014,7 +1027,7 @@ int main()
10141027
driver_state.vsrc = Filter1st_Filter(&voltf, (int32_t)(analog[7] & 0x0FFF));
10151028
ADC_Start();
10161029

1017-
if (driver_param.vsrc_rated >= 0x03FF)
1030+
if (driver_param.vsrc_rated >= driver_state.vsrc_max)
10181031
{
10191032
driver_state.vsrc_factor = 32768;
10201033
}

0 commit comments

Comments
 (0)