Q: What serial devices does the cable work with?
A: The cable is designed to work with RS-232 serial devices at speeds up to 57.6 Kbps.
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: 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.
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: 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.
For the C2-DB9 cable, 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
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: Not at this time.
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