Hi,
I know this is not standard support in AR3, however I really feel bad cause in some situation AR3 will move beyond limit switch due to some calibration mistake. Beside, I'm writing another web services which may make mistake and break limit switch too.
IMHO, I think I shall change AR3 firmware (Mean Teensy) to prevent any possibility of movement beyond limit switch. I tried changed Teensy function 'MJ' to return back slightly when hit limit switch. At initial stage everything look fine. When I start jog robot with longer distance, the robot randomly stop, it look like AR3 hit the limit switch during jogging, however I notice the limit switch still far away.
Below is the image I use serial monitor to connect Teensy. the command i send was copy from arcs program (MJB11166S25G15H10I20K5U8875V3277W0X7600Y2368Z3300). The extra return string "msg hit: 000 001" wrote by me, it tell me currently machine hit limit switch 6. I notice limit switch is far away, so send again the command, next round it feed back touch limit switch 2. I continue send again, it no complain, mean no hit at limit switch. I continue above process and I notice it like random error.

Below is the code i modified to read the limit switch value, i changed the code ~line 1516:
isJ1HitLimit = digitalRead(J1calPin);
isJ2HitLimit = digitalRead(J2calPin);
isJ3HitLimit = digitalRead(J3calPin);
isJ4HitLimit = digitalRead(J4calPin);
isJ5HitLimit = digitalRead(J5calPin);
isJ6HitLimit = digitalRead(J6calPin);
Any expert have ideal? I think I did correct job but I don't understand why limit switch just randomly return HIGH when I jog robot, during calibration this issue never happen. After fix this I believe i can share this 'firmware' from my git repository.
Any of you have ideal?
default ARCS application controlled movement to prevent it break limit switch. however it is control in software, if we not use ARCS (like I developed another web service control panel, ROS/Moveit) then you will need to do own control. That is danger thats why prefered way is make the control in teensy so no matter which software we use it wont over limit