Main > Main Forum

KADE miniArcade 2.0 beta release

<< < (7/31) > >>

PL1:
Thanks for asking about a Shift Indicator LED, djfender.   :cheers:

Here's an easy way to add one using an LED and the appropriate value Current Limiting Resistor.

There's an LED resistor calculator here.
- Source voltage = 5
- Diode forward voltage = the voltage that your LED drops
- Diode forward current (mA) = usually 20

When the shift button is not pressed, the internal pullup resistor for Port D7 pulls the port up to logic high (5v) which lights the LED.

When the shift button is pressed, ground is applied to Port D7 and the LED goes out.

Already added to the next edition of the User Guide.   ;D


Scott

djfender:

--- Quote from: PL1 on July 23, 2017, 09:39:18 pm ---
--- Quote from: djfender on July 23, 2017, 06:42:36 pm ---I installed it to my "Hotrodded Hanaho Hotrod Leonardo" Setup. and only have 2 problems (ok 1.5 problems)

The Pin mappings do not have R2 by default. Kludge: Use R3 pin instead. Solution: Map out one of the empty Pins

--- End quote ---
By default, R2 is on port D5.

Unfortunately, Arduino uses that pin as TxLED. (32u4 pin 22)


--- Quote from: djfender on July 23, 2017, 06:42:36 pm ---Shift Seems Non-Functional (Perhaps it is one of the empty Pins). Would be nice to assign it to a key combo or find its dedicated pin and use an empty pin as an LED indicator.

--- End quote ---
Shift is on port D7. (Arduino pin 6)

"Wiring shifted functions" is covered on Pg. 11 of the User Guide.

An LED indicator might be a nice addition, but there probably isn't a pin to spare -- Bruno and I will look into it.


--- Quote from: djfender on July 23, 2017, 06:42:36 pm ---Other than that it works on PC, PS3 and PS4 games with legacy stick compatibility.

(The leonardos were carefully converted to Pins as i find the arduino style plugs to be fiddly)

My suggestion is to follow the arduino pinheader assignments (thus 0 = Cross, 1 = Circle, 2 = Square, 3 = Triangle Etc) for simplicity as this is how my homebrew joystick firmware was set up and now its a spider mess matching the mattairtech board as best I can.

--- End quote ---
Glad to hear you got it working on several systems.   ;D

MiniArcade 2.0 was designed for a MattairTech board pin layout.

Unfortunately for Arduino users, the Arduino has less pins available, which makes workarounds like the one you mentioned necessary.


Scott

--- End quote ---

Pin 0 (PD2),2(PD1) and 3(PD0) and 11(PB7) are empty here. thus making my workaround a "Software issue" as some of these aren't available in the default mattairtech build.

Also on the Leonardo, Our ICSP is -Not- Tied to the side pins, thus they'd be PB1 to 3 and I've used these willy nilly in sketches before, therefore there's 3 extra pins, Without hacking up the arduino to free the RX and TX LED.


--- Quote from: PL1 on July 24, 2017, 02:10:40 am ---Thanks for asking about a Shift Indicator LED, djfender.   :cheers:

Here's an easy way to add one using an LED and the appropriate value Current Limiting Resistor.

There's an LED resistor calculator here.
- Source voltage = 5
- Diode forward voltage = the voltage that your LED drops
- Diode forward current (mA) = usually 20

When the shift button is not pressed, the internal pullup resistor for Port D7 pulls the port up to logic high (5v) which lights the LED.

When the shift button is pressed, ground is applied to Port D7 and the LED goes out.

Already added to the next edition of the User Guide.   ;D


Scott

--- End quote ---

We could swap pin 6 and 13 as 13 possesses its own resistor as this is by default the LED on most arduinos (On my setup pressing "select" grounds said LED and turns it off!)

You're thinking; "But fen, Where will the RJ45 Go if you're using up all the I/O?" My reasoning is that the Leonardo is a drop in replacement for the -Classic MiniArcade- of which i am quite fond of but cannot use as i broke one of my Minimus AVRs.

"Why not buy a new one from the kade store?" well this here is the new hat now. Its compatible with stuff most tinkerers like mineself have "at least a handful of" and a retrofit is generally better than a complete gutting.

Considering that, designing a Kade Shield for leonardo would be a drop in the pond to make and im actually gonna take a whack at it while at work today.

Slippyblade:
Is there a "For Dummies" on this yet?

I loved the original KADE.  I still have a couple of the minimus AVRs just for it.  However, my eyes glaze over completely reading this thread.

plazma:

--- Quote from: Slippyblade on July 24, 2017, 01:54:01 pm ---Is there a "For Dummies" on this yet?

I loved the original KADE.  I still have a couple of the minimus AVRs just for it.  However, my eyes glaze over completely reading this thread.

--- End quote ---
Download the zip file from the first post. There is a pdf guide in the docs folder.

PL1:
I understand that the default pin/port order can be extremely confusing.   :dizzy:

It was one of the first issues I brought up to Bruno when he invited me to join him on this project.

If he's so inclined, I'll let him comment on why reassigning/rerganizing/redocumenting all the default pins/ports wouldn't be worth the considerable investment of time and effort.

From a user's point of view, the important thing to remember is that there are several fixed function ports (D7=Shift, B7=Shift Lock), but you can assign any available input port to any output.

I did exactly that for many of the preset mapping (.DAT) files. (See pg. 2 of the User Guide)

For your convenience, there is a "Port_Order.dat" mapping file that has all the ports in alphanumeric order.

If you prefer starting from a blank slate, there is a "Blank.dat" mapping file that sets all Button Mapping IDs to blank.


--- Quote from: djfender on July 24, 2017, 10:18:20 am ---Pin 0 (PD2),2(PD1) and 3(PD0) and 11(PB7) are empty here. thus making my workaround a "Software issue" as some of these aren't available in the default mattairtech build.

Also on the Leonardo, Our ICSP is -Not- Tied to the side pins, thus they'd be PB1 to 3 and I've used these willy nilly in sketches before, therefore there's 3 extra pins, Without hacking up the arduino to free the RX and TX LED.

--- End quote ---
Those pins are all available on the MattairTech board, but most are assigned to other functions.

Fixed function:
D7 (Shift) + PB7 = Shift Lock  (EDIT: Corrected the description of this function.  :embarassed: )

Ports that can be changed to inputs at the expense of losing console outputs:
The "RJ45" pins (orange squares below) are assigned to autosense/autoswitch between various consoles, making all of the consoles on pgs. 6-7 of the User Guide plug-and-play without reprogramming the board.

You can change these "RJ45" ports from console outputs to control inputs (User Guide pg. 4, Step 2)

PB0 - used by PS1/PS2 consoles (you overlooked this one)
PB1 - used by PS1/PS2 consoles
PB2 - used by PS1/PS2  consoles
PB3 - used by  PS1/PS2 consoles
PD0 - used by Wii/WiiU/NES Classic consoles
PD1 - used by most pre-USB consoles

Port you mentioned that is already an input:
PD2 - Assigned to Button Mapping ID 11, used as an input for PS1/PS2, PS3, and XBox.




--- Quote from: djfender on July 24, 2017, 10:18:20 am ---We could swap pin 6 and 13 as 13 possesses its own resistor as this is by default the LED on most arduinos (On my setup pressing "select" grounds said LED and turns it off!)

--- End quote ---
Setting aside the coding/documentation effort involved in swapping just those two pins, how do you plan to make that board-mounted LED visible to users?

If someone wants a visual indicator of whether normal or shifted functions are activated, a separate LED that they can mount where they choose seems like the the most flexible approach and it works right now with any of the 32u4 boards without recoding and without changing the documentation.


Scott

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version