Was arcadeDrive() tested on the elex board to ensure that it produces valid results for all 4 cases?
It looks broken to me. For example, if speed = 0 and rot = -1, it would appear to produce left=-1 and right=-1. There are probably other cases that are wrong as well.
It also seems to to assume that leftJoy.getY() will return a value > 0 when the operator is has the joystick pushed forward, but I don't think that's the case.