I received a solution from Honeywell support. The solution isn't as nice as the LineaPro API because you can't send it a stream of bytes for sound frequency and duration.
Here's the snippet from Tech Support.
"We don’t have any upcoming SDKs that would add the same type of capability to the Captuvo. What I think you could do is send beep commands directly to the Captuvo scanner’s beeper using the SDK pass through mode. The important part is understanding how to use pass through mode. There should be some documentation in the help file, but I can try to explain here. When using pass through mode you can send any firmware command supported by the Captuvo scanner. If you want to make the scanner beep or razz you can send the firmware command [syn]M[cr]bepexe1. for a good read beep and [syn]M[cr]bepexe4. for a RAZZ tone. You could send a string of these commands to change the sound to something unique for various situations."
Here’s a code snippet.
The menu commands to send via the pass through function would be as follows:
[syn]M[cr]bepexe1.
[syn]M[cr]bepexe4.
[syn] is the hex value 16. M is the hex value 4D and [cr] is the hex value 0D.
const Byte msg[]= {0x16,0x4d,0x0d,'B','E','P','E','X','E','1'.'};
NSData* msgData = [NSMutableData dataWithBytes:&msg length:sizeof(msg)]; [[Captuvo sharedCaptuvoDevice]decoderPassThrough:msgData expectingReturnData:YES];
Here's a brief snippet of my code implementation for alternative sounds. I think there's only two sound pitches that I can find from the Honeywell device.
// 1 = good beep
// 4 = razz beep
const Byte msg1[]= {0x16,0x4d,0x0d,'B','E','P','E','X','E','1','.'};
NSData* msgData1 = [NSMutableData dataWithBytes:&msg1 length:sizeof(msg1)];
const Byte msg4[]= {0x16,0x4d,0x0d,'B','E','P','E','X','E','4','.'};
NSData* msgData4 = [NSMutableData dataWithBytes:&msg4 length:sizeof(msg4)];
[[Captuvo sharedCaptuvoDevice]decoderPassThrough:msgData1 expectingReturnData:YES];
[[Captuvo sharedCaptuvoDevice]decoderPassThrough:msgData4 expectingReturnData:YES];
[[Captuvo sharedCaptuvoDevice]decoderPassThrough:msgData1 expectingReturnData:YES];
[[Captuvo sharedCaptuvoDevice]decoderPassThrough:msgData4 expectingReturnData:YES];