Placing a macron on a button doesn't replace the button action?

Wolfie

Member
So, my first exercise in programming, I put a macro on the left stick press. I had expected it not to send the stick press to the game but instead, run the macro which has no stick press in it.

But, the game received a stick press followed by the macro. Did I miss a setting to prevent this?
 

Wolfie

Member
Bummer. Was hoping to replace the left stick press as it goes to 3rd person in Minecraft and is almost useless.
 

NYjetsNY1

Active Member
Theres a macro that bugs-out the stick. So if you don't want LS to have ANY feature at all, I can give you a macro that will do that... but the macro renders LS useless on that page from then on and all macros on that page that use LS, the LS does nothing.
 

NYjetsNY1

Active Member
Unless newer software has rendered this 'bug' as squashed, this (assigned to your LS button) should cancel out all LS on that page until you change pages.
 

Attachments

  • LS-Canceler.vkm
    528 bytes · Views: 3

Wolfie

Member
Well, I have the newest version of the software. Will see over the holiday if it does anything :) Thanks.
 

odingalt

Well-Known Member
Staff member
Hi Wolfie;

The behavior you are describing is a limitation in the hardware design itself.

Each button on the Microsoft controller is a momentary switch (excluding triggers and joystick axis movements as these are classic analog resistor dividers via a potentiometer). One side of the momentary switch is connected to ground, while the other side of the momentary switch is connected to a digital I/O pin on the MCU of Microsoft's gamepad (as well as to a pull-up resistor to pull the line to a logic 1 when the line is 'idle'). When the user presses a button on the gamepad, the Microsoft MCU's corresponding digital I/O pin is grounded, and the Microsoft MCU reads a logic 0 on that pin.

A digital I/O pin on the Viking modchip MCU is connected to each of the digital I/O pins on the MCU of Microsoft's game pad. The Viking monitors these I/O lines. And of course the Viking can also output a logic 0 to this line. However, when the user is pressing the gamepad button (such as pressing the LS), any and all other signals are null and void, because that pI/O line is being held to ground, or logic 0.

The only way to overcome this limitation would be to double the amount of I/O lines between the Viking MCU and the Microsoft circuit board as such: to use a razorblade to cut the copper traces going from each digital I/O pin of the MCU to each gamepad button. Then, manually install two very small 30 awg wires, one on each "side" of the cut trace; one on the MCU side of the cut trace, and one on the button side of the cut trace. Then each wire would be run to a separate digital I/O pin on the Viking. Now, the Viking MCU could then perform a "Man in the middle" type of hack on each I/O line. The signal to-and-from the Microsoft MCU and the physical button could be passed through or manipulated however the user saw fit.

This type of installation would be incredibly difficult to make. We're talking 40+ wires being attached directly to copper traces. It would be highly unreliable due to the number of fragile soldered connections. Not a commercially viable solution. A single install could take 7-8 hours (labor costs alone would be in the $200-$250 range based on what I pay my techs including overheads). So, we took the easy way out and added 6 tac switches for macro assignment instead.
 

odingalt

Well-Known Member
Staff member
(Wish I had more time to draw a picture! Words are not very useful, marked-up schematics are much more useful)
 

Wolfie

Member
Once I did some experimentation on things, I found out how you had hooked it up by process of elimination. I had guessed you were running a parallel output onto the I/O pins.

No need for pictures (at least not on this). Your description is crystal clear :)
 

bcall

New Member
I haven't yet received my macro mod so this may be a stupid question , but... 1) the mcu is already connected to all of the stock controller's existing buttons (used to trigger the mcu macros) and 2) the mcu's outputs are already connected to all of the controller's inputs (used to deliver mcu macros to the controller). So, couldn't you just cut one side of the connection to each existing button on the controller's pcb? For example, if you cut one side of the connection for the A button on the pcb, then upon pressing the A button the controller would not deliver any hard wired command to the controller. However, it would deliver an input to the mcu which could then be programmically set to either deliver an A button push or anything else (but, since there would be no hard wired direct connection on the controller itself, the macro editor would fully determine what that button does or does not do). Whether this would work depends on many things, including how the mcu is wired in, but I thought I'd suggest this just in case it has not been previously suggested. If it would work, it could be a DIY for owners of existing macro mod controllers, and you'd only actually have to cut connections on the buttons you actually desire to over ride. If this is possible, it would be really helpful if you could provide a picture of the pcb showing which connections to sever on the pcb for each button so as to achieve the objective without interfering w the mcu.

Does this make sense? It seems that it would put complete control of everything in the mcu and the existing buttons would only provide inputs to the mcu the same as the tac switches.
 

WHITE 4ND N3RDY

ModdingBros Representative
That sounds like a lot of mutilation to the controllers circuit board. And who is to say that when u cut those traces that it somehow could possibley render the macros commands of those buttons useless. In theory what u described could possibly work but u would render the stock settings of the buttons presses useless. I can actually make a macro that cancels out the actions of those buttons by tricking the controller to believing that the button is constantly being held down. I really think u should check out what I have to offer before u devalue or totally brick a macro.

With this macro there a a couple drawbacks!

I can make them on one tac button with a led indicated on/off toggle but for the first button press the hardwired functions will still work. After that the controller will think that the buttons are being constantly held down. This also resets every time u re spawn so u would have to press the buttons u wanted canceled right away to render them deactivated.

With all this said I think this would be your best option then totally devaluing your controller by cutting the traces to the a,b,x,y buttons. This is really the only way u can safely deactivate the hardwired functions of the controller without internally hacking the trace wires. I can deactivate every button on the controller even the LS & RS button presses.

Just let me know what buttons u want to deactivate and I will make u a macro for them that's tac operated with led indicated on/off toggle switch.


Here is a macro example of how it can cancel out any hardwired button press then u can assign your macros to those buttons without the

hardwired functions playing over the macro. Also check out the description box as i explain how this operates. This is just an example macro and

u turn this macro on by pressing the tac once then the first time u press the button u want canceled the hardwired function will play

through. After that the controller will just think that the button u just pressed is constantly being held down. Then u also have the option of

turning off the button cancelers in game play and back on.

Note: Every time u re spawn this resets and u will have to press the buttons u want canceled one more time to deactivate the hardwired functions. However if u toggle it off then back on during game play your button cancelers still stay deactivated!


Again this is just an example!
If u were to use this the B function would drop u prone then all other functions to make u stand back up will be deactivated rendering u to laying down till u toggle it off. This is just to show u that every button can be deactivated. The same logic applies for the start, select, guide or sync button. If u draw this macro out as is on any button it will think its constantly being held down. Remember u have to have it loop forever then terminate macro immediately after the button is released and assign it to a tac button. I hope this answers everyones' questions' about eliminating the hardwired functions' to successfully write a macro over any button without that button playing over the macro!
 

Attachments

  • Button canceler Example.vkm
    544 bytes · Views: 4
Last edited:

odingalt

Well-Known Member
Staff member
I haven't yet received my macro mod so this may be a stupid question , but... 1) the mcu is already connected to all of the stock controller's existing buttons (used to trigger the mcu macros) and 2) the mcu's outputs are already connected to all of the controller's inputs (used to deliver mcu macros to the controller). So, couldn't you just cut one side of the connection to each existing button on the controller's pcb? For example, if you cut one side of the connection for the A button on the pcb, then upon pressing the A button the controller would not deliver any hard wired command to the controller. However, it would deliver an input to the mcu which could then be programmically set to either deliver an A button push or anything else (but, since there would be no hard wired direct connection on the controller itself, the macro editor would fully determine what that button does or does not do). Whether this would work depends on many things, including how the mcu is wired in, but I thought I'd suggest this just in case it has not been previously suggested. If it would work, it could be a DIY for owners of existing macro mod controllers, and you'd only actually have to cut connections on the buttons you actually desire to over ride. If this is possible, it would be really helpful if you could provide a picture of the pcb showing which connections to sever on the pcb for each button so as to achieve the objective without interfering w the mcu.

Does this make sense? It seems that it would put complete control of everything in the mcu and the existing buttons would only provide inputs to the mcu the same as the tac switches.

Image a telephone line. If you cut the line, communications stop working. This is what you are doing when you say to cut one side of the connection. There is no side of a connection. Either they are all connected, or they are disconnected. If they are disconnected, they can't talk to each other.
 

odingalt

Well-Known Member
Staff member
Here is a crude drawing of a stock CG2 controller and the way the button connects to Microsoft's MCU.

Stock button on CG2.jpg
 

odingalt

Well-Known Member
Staff member
Here is a picture of the Viking MCU attaching. You can clearly see that if you cut any one connection, you are just breaking it/disconnecting it and not accomplishing what you are describing:

Stock button on CG2 modded.jpg
 

odingalt

Well-Known Member
Staff member
Here is total control of the button...

Stock button on CG2 modded for total control.jpg

...requiring addition of 22 wires, one for each button, trigger, or joystick. Also 22 trace cuts needed. And the new 22 wires have to connect small 30 AWG wire direct to copper traces. It's a ratsnet, I can see a technician spending several days building and debugging this mod and it would nto be very reliable because of all the soldered connections.... Not to mention a re-write of the MCU firmware altogether.
 

bcall

New Member
Odingalt,
Thank you for taking the time to explain in a bit more detail (the diagrams definitely help). I was getting very excited about the possibilities of the viking mcu taking complete control of the controller, but I definitely understand the mess it would be to add all the additional wires. I'm sure it's already enough of a headache with the wires as is.

White 4nd n3rdy,
Thanks for the info on the macro. I'll give it a try as soon as I get my macro mod (which, according to FedEx, will be Monday!).
 

WHITE 4ND N3RDY

ModdingBros Representative
Like i said let me know what buttons u want to assign macros over and ill build u a macro that will accomplish what u want.
 
Top