Q: What serial devices does the cable work with?
A: The cable is designed to work with TTL serial devices at speeds up to 57.6 Kbps.
Q: What kinds of devices have TTL serial interfaces these days?
A: TTL serial devices include Arduino and other micro-controller platforms, scientific instrumentation,
data loggers, sensors, and more...
Q: What about the iPhone 5 and its new Lightning connector?
A: Our existing cables work with the Lightning to 30-pin adapters that Apple provides. We will also develop a new family of serial cables with Lightning connectors -- probably in early 2013. Moving new products through Apple's approval processes takes some time.
Q: Can I power the iOS device using this cable?
A: No. However customers have reported to us that they are using DockStubz from CableJive for this purpose.
Q: Can I power the serial device using this cable?
A: Some very low power devices make use of the DTR signal line to supply power. The VCC pin on the 6 pin connector is connected to handshaking line DTR. It should supply 8ma but no more. And you may have to turn it ON before power is available at the connector pin.
Q: What apps does this cable work with?
A: The cable and SDK are provided to you so that you may write your own apps.
Q: Does the cable work with apps available at the App Store?
A: Not at this time. This will depend upon Apple policy.
Q: How can I tell if my iOS device recognizes the cable?
A: Open the "Settings" app on your iOS device. Select "General", then "About". If the TTL Serial Cable is connected properly, it will appear in the list shown.
Q: How do I know what version of firmware the cable is using?
A: Once you have located the TTL Serial Cable in the "Settings" App, select the TTL Serial Cable to view its parameters.
Q: What are the pinouts of the TTL connector?
A: Pin out is as follows: RTS, RX, TX, DTR, CTS, GND (orange -> black).
Q: How do I connect the TTL cable to an Arduino?
A: Connect RX on the cable to TX on the Arduino, connect TX on the cable to RX on the Arduino, and connect GND to GND.
Q: Where do I get the SDK?
A: Here
Q: What else do I need in order to develop apps for use with the cable?
A: You need to become a registered iOS developer and build an understanding of iOS programming.
Q: As I am writing my app, is there a way to connect my iOS device to the USB port on my Mac (for debugging) while the serial cable is connected?
A: Customers have reported that they have been able to use DockStubz from CableJive for this purpose.
Q: Once I write my app, can I sell it on the App Store?
A: Not at this time. This will depend upon Apple policy.
Q: Can I use the SDK to write apps that work with other Redpark cables?
A: The SDK may be used with the C2-DB9 and C2-TTL cables.
Q: Where can I go for assistance as I develop my app?
A: Visit the Apple Developer portal for assistance regarding iOS app development. Our SDK includes a sample project and a User Guide (PDF). A few developers have posted their serial cable project code on GitHub (search for "Redpark"). Make Magazine has also posted projects involving the Redpark Serial cable.
Q: I am getting linker errors involving the EAAccessoryManager or EASession when I try to compile my project. What's wrong?
A: Make sure the ExternalAccessory Framework has been added to your project dependencies.
Q: Can the driver software let me know when it is safe to write additional bytes?
A: Turn on the txAck setting in the port control structure. This will send a port status update every time the cable's tx fifo is empty.
Q: Can you tell me the rate at which the SDK is polling/updating and calling the readBytesAvailable() method?
A: There is no polling, the code is event driven. When the iOS accessory manager receives data from the cable and we receive an event that data is
available in the read stream, the readBytesAvailable call is made. Because these events are processed on the main run loop, you must be returned to
your run loop before these are processed. For example, blocking locally inside your code will never allow these events to be processed.
Q: What is the unit for the value rxForwardingTimeout in serialPortConfig?
A: Milliseconds