Thanks for all the responses. Below is what I cam up with after changing my way of thinking initially and it's pretty close to what robtillaart proposed. As many stated representing the checksum as Ascii seemed strange, but that is what I was told initially. when I sent the sample output back to the radio manufacturer they acknowledged that the checksum should be in hex. Below is where I have the code right now (changed the voltage math per recommendation, feel stupid for not moving the decimal in the first place).
Still have some cleanup to do and have to add serial communication lines, but I'm hoping that will be pretty simple. Again thank to everyone who made suggestions.
Shane
/*
Hall_Effect_Read
Reads an analog input on pin A5, converts it to voltage, multiplies by 100 to remove "." which is an unsupported character by the radio.
Calculates a checksum using XOR and appends values to the end of the string.
*/
//clear existing setup
void setup() {
///init serial comms
Serial.begin(9600);
}
// Loop for testing, final revision will be run once per power cycle
void loop() {
//turn pin 9 on to full power
analogWrite(9, 255);
//wait 5ms for sensor to settle
delay(5);
// read the input on analog pin A5:
int sensorValue = analogRead(A5);
// Convert the analog reading to a voltage and multiply by 100 to remove decimal point:
float voltage = sensorValue * (5.0 / 10.23);
//turn pin 9 off
analogWrite(9, 0);
//build array
char voltread[10];
sprintf (voltread, "V;RB0%03i;",(int)voltage);
//add checksum to transmission
byte checksum = 0;
for(int i = 0; i < 9; i++) checksum ^= voltread[i];
char transmission[13];
sprintf (transmission, "%s%x;", voltread, checksum);
Serial.println(transmission);
//transmit message serially
//need serial parameters still
//delay X seconds between reads REMOVE WHEN COMPLETE
delay(3000);
}