Q: What are the differences between the three versions of the Redpark Serial Cable?
A: The C2-DB9 uses the UART pins to communicate with an iOS device via the 30 pin connector. It may be configured to use a baud rate up to 57.6 kbps (although we have observed that the maximum sustained throughput is 40-45 kbps). It requires iOS 4.3.1 or later. The C2-DB9V uses the USB pins to communicate with an iOS device via the 30 pin connector. It supports a maximum data rate of 115.2 kbps. It requires iOS 5.1 or later. Though the C2-DB9V version of the cable is faster, the fact that it uses the USB pins to communicate with an iOS device makes this version of the cable incompatible with certain 3rd party accessories such as DockStubz. The L2-DB9V uses the USB pins to communicate with an iOS device via Lightning connector. It supports a maximum data rate of 115.2 kbps. It requires iOS 6.0 or later.
Q: What kinds of devices have serial ports these days?
A: Ham radios, dive computers, point of sale devices, Arduino and other micro-controller platforms, scientific instrumentation, data loggers, RFID readers, automobile engines, routers and other networking devices, glucose meters, fire alarm panels, irrigation controllers, weather stations, specialty printers, scales, temperature sensors, flight loggers, satellite radios, model cars (models boats, planes and rockets too), CNC machines and more...
Q: What about the iPhone 5 and its new Lightning connector?
A: We have released a Lightning version of our RS-232 serial cable. Our 30-pincables work with Apple's Lightning to 30-pin adapter.
Q: Is there a way to connect to devices using TTL (logc level)?
A: Yes, by connecting an external RS-232 to TTL adapter to the DB-9 connector on our cable. (Or you can use our C2-TTL cable instead of the C2-DB9.)
Q: Can I power the iOS device using this cable?
A: No. Depending upon which Redpark serial cable you are using, it may be possible to power the iOS device using an accessory named DockStubz. Customers have reported to us that they are using DockStubz from CableJive for this purpose. DockStubz is compatible with our C2-DB9 and C2-TTL cables but is not compatible with our C2-DB9V cable.
Q: Can I power the serial device using this cable?
A: Power is not supplied through a RS232 connection. Some very low power devices make use of the RS232 signal lines to supply power. This usage of the RS232 connection is outside of the RS232 specification and may not work in every instance. It is left up to the user to determine if the RS232 output signals will supply enough power for a particular application. Currently, the C2-DB9 uses a MAX3243 or similar driver to convert logic level signals to RS232 level signals. The specifications for the MAX3243 may be used as a rough guide to determine if the signal levels are appropriate for your application. Redpark reserves the right to change the RS232 driver circuitry at any time.
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 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 Serial Cable in the "Settings" App, select the Serial Cable to view its parameters.
Q: What are the pinouts of the DB-9 connector?
A: This is provided in the SDK User Guide.
Q: Where do I get the SDK?
A: Here. This SDK is used for the following Redpark cables: C2-DB9, C2-DB9V, C2-TTL, and L2-DB9V.
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: This depends upon which Redpark serial cable you are using. Customers have reported that they have been able to use DockStubz from CableJive for this purpose with our C2-DB9 and C2-TTL cables. However DockStubz is not compatible with our C2-DB9V cable.
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, C2-DB9V 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?