Sabertooth 2 x25 and Uno Circuit - Beginner is seeking GURU for assistance!

I am a beginner with Sabertooth and Arduino Uno Circuit.
I am having a tough time getting started and this seems kind of complex, nothing I have tried from Sabertooth and Arduino library has worked I did upload the blink test and that worked between the computer and the UNO but other than that I feel stuck.
We are running a Sabertooth 2x25 with Arduino Uno Board.
Our system is operated with a remote controller currently and we wanted to add the functionality option of autonomous.

So what we are trying to do is drive our system with remote control to a given location and then start the program.

Right now I have not even got the UNO circuit to even control the motors yet.
Can anyone help?
I uploaded programs but all seem to error out one way or the other.

Has anyone have the programs and code that works for the Saber tooth - UNO intergration?

Our system is a 350watt brush motor for forward and reverse on Channel 1 - S1 on the Sabertooth circuit
linear actuator controls left to right on channel 2 = S2 on sabertooth controller.
Thanks I appreciate any help I can get!

Link to datasheet?

Existing code?

Wiring diagram including power supplies?

Right now I have not even got the UNO circuit to even control the motors yet.
Can anyone help?
I uploaded programs but all seem to error out one way or the other.

Which programs? Fail how?

Here is the data I am working from
http://www.dimensionengineering.com/software/SabertoothArduinoLibrary/html/index.html

Page 4 is very similar to our setup we use 24v and 1 brush motor 350w for forward and reverse and a linear actuator motor for front steering.

I actually had some motors working for a brief period? I think it might have been the driving in a square example program. I will try uploading it again to see if I can get it to work again.
I changed the program on the UNO then it did not work. I wish I would have remembered what program that is was to have it work again!

It worked with a set of jumper wires to (UNO board)port 9 fpor S1 (sabertooth 2x25)and (Uno board)port 10 to S2 (sabertooth 2x25)
On sabertooth board I had 0V and 5V hooked up to UNO to supply power on UNO board to GND and 5V slots.

On the sabertooth dip switch I had it set to 2,3,5 ON all others off....

When we operate the remote controller to manual drive it over to the desired start position we need a way to shut off UNO while doing that?

For the standard remote control we have the dip switch setting on the Sabertooth at 2,3,6 are ON - 6 going on disables the microcontroller so I tried it at 2,3,5, ON

I ran the jolty program from the list of example programs and nothing…
I then unplugged the power to GND and 5V on the UNO and the system started moving the front wheels then the rear drive wheels took off wide open…
I turned it off and then on again and could get nothing …

Jolty program
// Jolty Sample for Packet Serial
// Copyright (c) 2012 Dimension Engineering LLC
// See license.txt for license details.

#include <Sabertooth.h>

Sabertooth ST(128); // The Sabertooth is on address 128. We’ll name its object ST.
// If you’ve set up your Sabertooth on a different address, of course change
// that here. For how to configure address, etc. see the DIP Switch Wizard for
// Sabertooth - http://www.dimensionengineering.com/datasheets/SabertoothDIPWizard/start.htm
// SyRen - http://www.dimensionengineering.com/datasheets/SyrenDIPWizard/start.htm
// Be sure to select Packetized Serial Mode for use with this library.
//
// On that note, you can use this library for SyRen just as easily.
// The diff-drive commands (drive, turn) do not work on a SyRen, of course, but it will respond correctly
// if you command motor 1 to do something (ST.motor(1, …)), just like a Sabertooth.
//
// In this sample, hardware serial TX connects to S1.
// See the SoftwareSerial example in 3.Advanced for how to use other pins.

void setup()
{
SabertoothTXPinSerial.begin(9600); // 9600 is the default baud rate for Sabertooth packet serial.
ST.autobaud(); // Send the autobaud command to the Sabertooth controller(s).
// NOTE: Not all Sabertooth controllers need this command.
// It doesn’t hurt anything, but V2 controllers use an
// EEPROM setting (changeable with the function setBaudRate) to set
// the baud rate instead of detecting with autobaud.
//
// If you have a 2x12, 2x25 V2, 2x60 or SyRen 50, you can remove
// the autobaud line and save yourself two seconds of startup delay.
}

void loop()
{
ST.motor(1, 127); // Go forward at full power.
delay(2000); // Wait 2 seconds.
ST.motor(1, 0); // Stop.
delay(2000); // Wait 2 seconds.
ST.motor(1, -127); // Reverse at full power.
delay(2000); // Wait 2 seconds.
ST.motor(1, 0); // Stop.
delay(2000);
}

I did get this one to work so programming wise I will try to build off of it!
// Sweep Sample
// Copyright (c) 2012 Dimension Engineering LLC
// See license.txt for license details.

#include <Servo.h>

Servo ST1, ST2; // We’ll name the Sabertooth servo channel objects ST1 and ST2.
// For how to configure the Sabertooth, see the DIP Switch Wizard for
// http://www.dimensionengineering.com/datasheets/SabertoothDIPWizard/start.htm
// Be sure to select RC Microcontroller Mode for use with this sample.
//
// Connections to make:
// Arduino Pin 9 → Sabertooth S1
// Arduino Pin 10 → Sabertooth S2
// Arduino GND → Sabertooth 0V
// Arduino VIN → Sabertooth 5V (OPTIONAL, if you want the Sabertooth to power the Arduino)
//
// Sabertooth accepts servo pulses from 1000 us to 2000 us.
// We need to specify the pulse widths in attach(). 0 degrees will be full reverse, 180 degrees will be
// full forward. Sending a servo command of 90 will stop the motor. Whether the servo pulses control
// the motors individually or control throttle and turning depends on your mixed mode setting.

// Notice these attach() calls. The second and third arguments are important.
// With a single argument, the range is 44 to 141 degrees, with 92 being stopped.
// With all three arguments, we can use 0 to 180 degrees, with 90 being stopped.
void setup()
{
ST1.attach( 9, 1000, 2000);
ST2.attach(10, 1000, 2000);
}

void loop()
{
int power;

// Ramp both servo channels from 0 to 180 (full reverse to full forward),
// waiting 20 ms (1/50th of a second) per value.
for (power = 0; power <= 180; power ++)
{
ST1.write(power);
ST2.write(power);
delay(20);
}

// Now go back the way we came.
for (power = 180; power >= 0; power --)
{
ST1.write(power);
ST2.write(power);
delay(20);
}
}

We have a functional program but noticed the distances vary in forward and reverse with a brush motor 350W - 24volt system.
Anyone ever run into a solution for that?
// program goes in Reveerse for 20 feet - 4 seconds then forward for 25 feet - 4 seconds-NOT SURE WHAT CAUSES THIS YET!

#include <Servo.h>

Servo ST1; // We’ll name the Sabertooth servo channel objects ST1 and ST2.
// For how to configure the Sabertooth, see the DIP Switch Wizard for
// http://www.dimensionengineering.com/datasheets/SabertoothDIPWizard/start.htm
// Be sure to select RC Microcontroller Mode for use with this sample.
//
// Connections to make:
// Arduino Pin 9 → Sabertooth S1
// Arduino Pin 10 → Sabertooth S2
// Arduino GND → Sabertooth 0V
// Arduino VIN → Sabertooth 5V (OPTIONAL, if you want the Sabertooth to power the Arduino)
//
// Sabertooth accepts servo pulses from 1000 us to 2000 us.
// Delay 1000=1 second
// We need to specify the pulse widths in attach(). 0 degrees will be full reverse, 180 degrees will be
// full forward. Sending a servo command of 90 will stop the motor. Whether the servo pulses control
// the motors individually or control throttle and turning depends on your mixed mode setting.
//110 =2.5 seconds of runtime with a 20ms delay = 1/50th of a second

// Notice these attach() calls. The second and third arguments are important.
// With a single argument, the range is 44 to 141 degrees, with 92 being stopped.
// With all three arguments, we can use 0 to 180 degrees, with 90 being stopped.
void setup()
{
ST1.attach( 9, 1000, 2000);

}

void loop()
{
delay(5000);
// delay of 5000 = 5 seconds
int power;
//intialize power

// Ramp both servo channels from 0 to 180 (full reverse to full forward),
// waiting 20 ms (1/50th of a second) per value.
for (power = 0; power <= 180; power ++)
{
ST1.write(power);
delay(20);
// delay of 50 runtime = 4 seconds
}

// Now go back the way we came.change this setting tommorrow to slow down reverse
for (power = 180; power >= 0; power --)
{
ST1.write(power);
delay(20);
//Now motor stops and program does not loop
//for (power = 90; power <= 90;)
//ST1.write(power);
//delay(50);
}
}