If chkMixing Then
'stickx = steering
' y = throttle
' work out diflection from centre on steering as a percentage
' multiply by throttle
' add to correct side
' cases 0 steering
' left
' right
Dim Throttle As Long
Dim Steering As Long
Dim Flip As Boolean
Dim LastFlipState As Boolean
'false = up true = down
'buffer vars
Throttle = StickX
Steering = StickY
'corrections for wiring in bot/driver stupidity, i mean really which way is the front?
If chkReverseSteering Then Steering = Steering * -1
If chkRevThrottle Then Throttle = Throttle * -1
'this makes the steering change direction dependant on throttle IE you can drive an arc by holding right stick and going forwards/backwards rather than an S
If chkSROT And Throttle < 0 Then Steering = Steering - 1
Dim Diflection As Double
Dim Slowdown As Double
'"Ram Mode" steering cuts the sensitivity of the steering stick, needs tweaking per bot
If JoystickState.buttons(11) = 128 Then
Shape1.FillColor = 255
Steering = Steering / 4
Else
Shape1.FillColor = 0
End If
'work out where the steering stick is then multiply it by the throttle to get the abs value we need to slow the inside motor by
Diflection = (Throttle / 32767) * 2
Slowdown = Diflection * Steering
'reverse which motor if we are flipped
If chkFlip Then
Steering = Steering * -1
Throttle = Throttle * -1
End If
'both = full forward
'StickX = StickX
'StickY = StickX
'apply the slowdown depending on which way we are turning
Select Case Steering
Case Is < 0 'left
StickX = Throttle
StickY = Throttle + Slowdown
Case Is > 0 ' right
StickY = Throttle
StickX = Throttle - Slowdown
Case Is = 0 ' straight
StickX = Throttle
StickY = Throttle
End Select
End If
Page was generated in 0.0129 seconds
There are no comments on this page. [Add comment]