Changes between Version 7 and Version 8 of starkadroid


Ignore:
Timestamp:
Dec 6, 2011, 8:41:14 PM (12 years ago)
Author:
pulkomandy
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • starkadroid

    v7 v8  
    99
    1010= Hardware =
    11 [http://pulkomandy.ath.cx/projects/avrstuff/browser/starkadroid/circuit Kicad project]
    12 
    13 This is loosely based on the [wiki:ak2tousb]. What hapenned :
    14  * Removed the ps/2 port
    15  * added 2 6-bit ports to make a matrix keyboard driver.
    16  * removed the debug led, added 5 'misc' pads on the PCB for future extension.
     11the base board is the [wiki:vusbdev].
    1712
    1813The device expects the buttons to be connected in a matrix, that is, each button is at the intersection of two different wires.
     
    3833I wired the diodes on a piece of protoboard.
    3934
     35Wires 1 to 6 are port B, 7 to 12 are port C.
     36
    4037This wiring scheme require your buttons to have two free wires. If this is not the case, for example if your control panel has a single ground connected to all buttons and only one wire for each of them, you can still get it working with some TTL logic.
    4138
     
    4441 * plug your buttons to A (input) pins
    4542 * plug a wire in the 7..12 range to the 1G and 2G pins
    46  * plug wires from the 1..6 range to Y (output) pinsmatching the A you used.
     43 * plug wires from the 1..6 range to Y (output) pins matching the A you used.
    4744
    4845This does not conflict with the diode system above and if needed, you can mix both on the same card. For example, we use diodes for the buttons, but a buffer for the coin mechanism.
    4946
    5047= Software =
    51 [http://pulkomandy.ath.cx/projects/avrstuff/browser/starkadroid/code Source code]
     48[http://pulkomandy.ath.cx/projects/avrstuff/browser/V-USB_Dev/firmwares/starkadroid Source code]
    5249
    53 The bootloader is the same as for ak2usb. See there for infos.
     50The bootloader is the same as for [wiki:ak2usb]. See there for infos.
    5451
    55 The software is really straight forward. It scans all the lines on PORTB and reads te result in PORTC for each of them. All of this is put in an HID report descriptor that's then sent to the computer. And then it loops and starts again.
     52The software is really straight forward. It scans all the lines on PORTB and reads the result in PORTC for each of them. All of this is put in an HID report descriptor that's then sent to the computer. And then it loops and starts again.
    5653
    5754= Upgrade =
    5855Here are instructions on how to upgrade the firmware :
    5956 * You need a PC with windows or linux, or another OS that can run avrdude.
    60  * You need another keyboard to control the computer while the adapter is in upgrade mode
    6157 * You need AVRDude ( http://savannah.nongnu.org/projects/avrdude ) or another software that can handle 'usbasp' programming (extreme burner is another example)
    6258 * You need the latest firmware .hex file
    6359
    6460Now how to actually do it :
    65  * Unplug the adapter from the computer
    66  * On the adapter there is a jumper, when the jumper is closed the adpater will enter upgrade mode, when it is open the adapter works as usual
    67  * Close the jumper
    68  * Plug in the adapter again. It should be detected as 'usb asp', not 'starkadroid'.
     61 * Unplug the VUSBDev from the computer
     62 * Set the leftmost dipswitch to ON to enter firmware upgrade mode.
     63 * Plug in the adapter again. It should be detected as 'usb asp', not 'starkadroid' or anything else.
    6964 * Run the firmware upgrade command :
    7065{{{
     
    7267}}}
    7368 * Wait for it to finish. It is not too long.
    74  * Unplug the adapter
    75  * Open the jumper
    76  * Replug the adapter.
     69 * Close the dipswitch again. The adapter enters application mode immediately.
     70 * The computer may not detect it, so you may need to unplug & replug the VUSBDev once more.
    7771
    7872And you're done!
    7973
    8074= Future plans =
    81  * I may add some output on the free pins to drive some lights or whatever.
    8275 * It is possible to have even more inputs by using some demultiplexers on the output side of the matrix. With 6 bits one can have 64 lines of 6 buttons each, for a total of 384 buttons ! However, the scanning is going to take more time, and I'm not sure it's possible to make an usb hid report that big  (48 bytes).
     76 * Allowing a QEI input would be nice (for a spinner).