Mattzobricks / MattzoControllers

MattzoController firmware
19 stars 8 forks source link

BT trains with different motor types #63

Open Mattzobricks opened 9 months ago

Mattzobricks commented 9 months ago

On behalf of user Max I create the following feature request:

Hi there, I’m currently building a loco that uses two M-motors in the loco and a train-motor in the tender. Problem is that the train motor is driving faster then the M-motors, so the tender is pushing the loco the whole time. I’m planing to use the sbrick as the reciever is there a way to define the MTC4BT file that the different ports are run with different speeds so I could adjust it, to have both of them run at the same speed?

Thanks, Max

Mattzobricks commented 9 months ago

As many useful features, this is actually implemented in the MTC4PF. For each motorshield, a "configMotor" parameter can be set:

msConf[0] = (MattzoMotorShieldConfiguration){
    ...
    .configMotorA = -1,
    .configMotorB = 1,
    ...

While the values for these parameters are usually 1 (forward), -1 (reverse) or 0 (unused), the value can actually be any floating point value. This configuration for example would make motor B turn in the opposite direction with half the power of motor A:

msConf[0] = (MattzoMotorShieldConfiguration){
    ...
    .configMotorA = 1,
    .configMotorB = -0.5,
    ...

We should also add such a feature to the MTC4BT.