Expected topology of the hardware boards

There are currently two standard board designs which can be combined to control up to 9 motors. Other daughter boards or direct wiring from the ports could allow for additional output bits.

General strategy is to talk to a specific CPU which then goes through a port to a particular device (motor, LED, etc.)

So to address a device you need CPU number, port letter, device type and device number.

Ricks Hardware Address:

<CPU Number>.<Port Letter>.<Device Type>.<Device Number>

Parameter Type Allowed Values
CPU Number int 0 - N
Port Letter char Capital letters
Device Type char see Device Type Enum
Device Number int 0 - N


Device Type Enumeration

Type Value
Motor M
Input Bit B
Output Bit P
RGB LED R
LED L


Example Addresses

  • 0.A.L.2
  • 0.E.M.2
  • 0.E.H.2
  • 0.C.M.1
  • 1.A.R.1

Board Config: CPU + 3 Motors

  • Port A
    • LED 1
    • LED 2
    • LED 3
    • LED 4
    • LED for scheduler busy - Do not address
    • RGBLED 1
  • Port B
    • Connector shared with JTAG
  • Port C
    • Connector
  • Port D
    • Connector
  • Port E
    • Motor 1 (+ 1 Input)
    • Motor 2 (+ 1 Input)
    • Motor 3 (+ 1 Input)
  • Port F
    • USB Connection

Board Config: Motor Daughter

  • Motor 1 (+ 1 Input)
  • Motor 2 (+ 1 Input)
  • Motor 3 (+ 1 Input)

Last edited Feb 25, 2011 at 3:33 AM by aarono, version 12

Comments

tugboat90 Feb 23, 2011 at 4:51 PM 
I would suggest using a period instead of a comma to separate the fields. It makes it look more hierarchical.

tugboat90 Feb 21, 2011 at 3:59 AM 
I thought there was only one motor on board 0, because the other two were being used as connections to boards 1 and 2?