I amended your Confirm Location command to do some validation on the input:
Code:
Set Boolean [validLocation] to True
Set decimal [testLatitude] value to the converted value of {TXT:CoordLatitude}
Set decimal [testLongitude] value to the converted value of {TXT:CoordLongitude}
Begin Condition : [testLatitude] Is Less Than -90 OR [testLatitude] Is Greater Than 90
Set Boolean [validLocation] to False
Write [Red] 'The latitude is invalid: {DEC:testLatitude}' to log
Say, 'The latitude is invalid. It should be in the range minus ninety to plus ninety. Please try again' (and wait until it completes)
End Condition
Begin Condition : [testLongitude] Is Less Than -180.00000 OR [testLongitude] Is Greater Than 180.00000
Set Boolean [validLocation] to False
Write [Red] 'The target longitude is invalid: {DEC:targetLongitude}' to log
Say, 'The target longitude is invalid. It should be in the range minus 180, to plus 180.' (and wait until it completes)
End Condition
Begin Boolean Compare : [validLocation] Equals True
Write [Blue] 'Latitude {TXT:CoordLatitude}, Longitude {TXT:CoordLongitude}' to log
End Condition
And to help with the timing of the spoken numbers, I've written to the log the current value of latitude and longitude as each digit is appended; this indicates when VA is ready for the next number:
Code:
Begin Text Compare : [CoordVariable] Equals 'LAT'
Set Text [CoordLatitude] to [CoordNumber]
Write [Green] 'Latitude: {TXT:CoordLatitude}' to log
Else If Text Compare : [CoordVariable] Equals 'LONG'
Set Text [CoordLongitude] to [CoordNumber]
Write [Green] 'Longitude: {TXT:CoordLongitude}' to log
End Condition
The next step is to decide what to do with the numbers! This is a different scenario from the one I've developed so far where waypoints are known in advance and stored in commands. If an ad hoc location can be captured, I need to think about where that fits in the sequence of approaching the target body, retrieving its radius, etc.