Micro Serial Servo Controller - How to use serial OUTPUT pin

Hi.
I am using the Micro Serial Servo Controller with a PICmicro. Usually, the MSSC works fine, but once in a while, i get the flashing RED light indicating a fatal error and I have to manually reset it.

Is there any way for the PIC to know that the MSSC produced an error and reset it automatically?

I did notice a serial output pin on the MSSC. Is that there for this purpose? The manual doesn’t say anything about it, but I did read about it in one of your postings that the servo controller echoes its commands. Can you give more details about its timings?

Any suggestions are highly appreciated.

Thanks,
Aaqil

The serial output pin is quite useful, primarily because it’s not just another pin connected to the serial in line. It’s actually connected to a serial TX pin on the microSSC’s on-board microcontroller. Whatever serial bytes are read into the microcontroller and recognized, are sent back out the serial output pin.

I find this feature most useful paired with the microSSC’s logic level shifting circuit. You can, for example, connect a serial port on your PC directly to the RS-232 serial input pins on the microSSC, then connect the serial output pin to other serial devices that don’t have their own RS-232–>TTL level shifting circuits (like some of the serial motor controllers). I’ve been doing this a lot less often as serial ports have become scarce and USB–>TTL level serial adapters have become widely available, but it’s still neat!

You might find the serial output pin useful because in the event of a (flashing red LED) fatal error, the microSSC stops echoing serial data (well, at least my partially smoked one does, I’m pretty sure they all do but my working one is embedded in a project right now). You could, conceivably, connect this pin back to your microcontroller’s serial RX pin, and check that you get back the byte you sent to it. If you get an erroneous byte back, you could resend the whole command. If you stop getting bytes back at all, you could bring the reset pin low.

This seems like a lot of overhead to me, and there is another way: exploit the red LED itself. The side of the red LED connected to the microcontroller on the microSSC is its cathode (negative side). The pin it is connected to is normally high, but goes low to light the LED in the event of a fatal error. If you can solder a small wire to that side of the LED (the same as soldering a small wire to that particular pin on the microcontroller, but much easier) you can monitor the status of the microSSC by connecting it to a digital input on your PICmicro. If its high, all is well. If it goes low, a fatal error has occurred and it’s time for a reset. There is only a 1K current-limiting resistor between the other side of the red LED and +5V, so you may want to add a protection resistor between the LED cathode and the input pin of your own microcontroller.

Be careful, the red LED pin goes low for an imperceptibly brief period of time just after being brought out of reset (discovered here). Make sure to ignore it for a bit after a reset, maybe until after sending at least one command to it.

Hope this helps, and good luck!

-Adam