SSC-32 Manual Version 2.0 Ambiguities

Maybe somebody could be so kind as to verify my assumptions about the manual since no ‘real world’ examples or reasoning is written for these entries:

  1. Discrete Output: This either turns on (H) or off (L) a servo channel?
  2. Byte Output: This is used for connecting something other than a servo to the SSC-32 servo outputs and writing binary out? What the hell is a bank?

Thanks for the time and energy!

Discrete output is used to make the normal pulse output pin a steady high or low. It can also be used to turn off pulses on a channel that has been turned on previously.

#3H will make output pin 3 a high (5vdc).

#4L will make output pin 4 a low (0vdc).

A Bank is 8 output channels. As the manual illustrates, bank 0 consists of output pin 0-7, bank 1 is 8-15, bank 2 is 16-23 and bank 3 is 24-31. So if you want to turn on and off 8 outputs at once, you send the bank, then the value.

#0:0 turns all outputs frfom 0 to 7 off (0vdc)

#3:255 turns all outputs from 24 to 31 on (5vdc)

#1:240 turns outputs 8-11 on and 12-15 off. Hint, dec 240 = bin 11110000.

Hope this helps!

I don’t have an ssc-32 or the manual, but what is probably being talked about is instead of sending out pulses to control a servo, the output can be set for a constant 5v output or a 0v output. This would be used for turning things on or off as needed. You could control an H-bridge with this to operate motors in foward and reverse as desired. The binary output would probably be for controling things like a 74HTC259 latching chip where you wanted to control a lot of things on/off. Just a guess, but it adds a lot of extra functionality to a controller.

Maybe I’m just dense :wink: but what would I use them for? If you could just give an example of what I could use them for it would be great. Is zoomkat right in using them for controlling motors and the like?

thanx

I know that there are others who can give a better answer, but here are a couple of examples that I have considered…

You might use the single commands if you wish to control something other than a servo. For example you may wish to hook up an LED (with appropriate resistor…) to some pin, lets say #3. You could then do something like:
#3H to turn the LED on and #3L to turn it off.

You might use a whole bank if instead you were controlling something like an parallell LCD. You could then output a byte to the LCD using the bank output.

Thanks, Roboteer Kurte! Since I’m writing an API for this I can turn it into some really neat stuff like your example of the parallel LCD without too much trouble. I imagine its way too slow though for anything more complex.

you can talk to the SSC-32 at 115KBaud, i.e. 11520 bytes a second… if you have 11 to 12 bytes per command that’s 1000 commands a second, many of which are send and forget like move the servo to position X. In reality servos only get a position update roughly 50 times a second.
What hobby toy robot thing are you trying to control that this isn’t enough control bandwidth? :confused:

Yeah, you would like to know wouldn’t ya :wink: I would say a 1000 per second just ain’t gonna happen in the real world unless nothing is moving and even then it is WAY to slow for what I need. but thats why i’m using the ajile-100 to do the real heavy lifting… the ssc-32 will just handle the servos and some analog inputs.