|
Status
Aug 26, 2013 8:17:55 GMT -5
Post by Frisbone on Aug 26, 2013 8:17:55 GMT -5
This past weekend I put my office back together after my long break. When completed I started putting things together. It turns out I broke one of the leads off of my A button and had to solder wires onto the stub. I inserted the A-override wires through one of the free holes in the xbox controller board and mounted the board. I had to remove the left side rumble motor connection as well as the center white 4-pin security connector in order to clear room for the button assembly (A/B). I added silicon to the RC board and have it ready to be laying on top of the xbox controller to the right of the dpad. I removed the velcro mounting for the accelerometer but routed the wires and hooked it up to 3V and the ground harness (as well has laid the I2C harness into the top-rear of the gun). I created a 3.3V terminal block that is fed by the 3.3V from the RPi. To it I connected the PWM device, Accelerometer, and the xbox controller. I also created a ground terminal block in which I connected it to the ground harness and the RPi, accelerometer, and the PWM deivce. After routing wires around the area I mounted the RPi on its mounting bolts. I removed the external power wire and instead am feeding power in to pin 1 on the GPIO connector. May need to thicken that wire a bit to account for higher currents in the future. Need to keep an eye on this Connected all input and output headers as follows (BCM gpio references): 4 - Trig (Grey) 17 - RSTK (yellow) 27 - Y (Blue) 22 - RLOD (Grey) 10 - RB/B (Brown) 9 - RB/B (Orange) 11 - Mode (Green) 18 - Config (Red) 23 - B (Red) 24 - Y (Green) 25 - RSTK (yellow) 8 - LB (Blue) 7 - A (Purple) 28 - X (Black) 29 - RB (white) 30 - LB (Purple) 31 - LED (Grey) See attached button mapping file - it seems gpio 14/15 went unmapped - will have to see why I didn't hook those up. Odd. Didn't get to the following: - make mounting for PWM board. - figure out a way to access video and sd card while keeping RPi in place . Same for USB. Attachments:
|
|
|
Status
Aug 26, 2013 8:22:16 GMT -5
Post by Frisbone on Aug 26, 2013 8:22:16 GMT -5
I thought I had an answer for getting access to HDMI, and SD while the RPi was in the gun by relocating where it was mounted - but it turns out that the trigger area will always be in the way of HDMI. As far as the SD access goes - I might be able to cut a slit in the battery compartment to gain access, but not without use of tweezers. If it stuck out at all it would interfere with putting in batteries. Will have to give that more thought.
|
|
|
Status
Aug 26, 2013 9:29:54 GMT -5
Post by Frisbone on Aug 26, 2013 9:29:54 GMT -5
Inside view of the right-half (note - the gun stock which has the Power/Start/Options button assembly on it is not shown). This is the outside view of the right half. Visible are the RB, A, B, buttons as well as the mode & config buttons (and LED) along the right edge of the magazine. On the grip you can see the RSTK button (index finger position) and the Y button (ring finger position). This figure shows the inside view of the left half. Here you can see the LB assembly and the grounding (on/off) switch for the main power. You can also see the hole for the d-pad next to the LB. You can also see the left joystick remotely mounted near the grip in the position of the right-thumb. Outside view of the left half showing the LB, hole for d-pad and mounted left joystick. You can also see the plastic switch used to turn on the power (I need to remember to cut this down as it is too close to the left joystick.
|
|
|
Status
Aug 27, 2013 7:27:17 GMT -5
Post by Frisbone on Aug 27, 2013 7:27:17 GMT -5
I've attached new button/output mapping (to GPIO header blocks P1 and P5). I zip-tied together all the xbox outputs. I zip-tied together the right-side forward inputs. I zip-tied together the right-side rear inputs. I zip-tied together the config/mode/LED. I carved out a bigger hole in the gun stock attachment area so the excess wire for the remoted d-pad can go (in the stock/brace). Attachments:
|
|
|
Status
Aug 30, 2013 6:51:23 GMT -5
Post by Frisbone on Aug 30, 2013 6:51:23 GMT -5
Well, frustration has set in again. I got my right-angle HDMI connection in the mail - but i extends too far and can't be installed - the trigger area cut-out interferes. The USB extender I got also won't fit in as the reload bar will get in the way. Finally - my battery back I custom made won't power the USB - so I'm stuck with outlet power until I find an alternate solution, or get the code working well enough where I can ditch the HDMI/USB/Ethernet altogether.
Problem with that of course is that it makes debugging very difficult. If only one thing were to work - I wish it were USB and nothing else, that way I could have used VNC to talk to it and gone without video/Ethernet. But it seems like USB is a problem for some reason.
I guess my plan at this point is:
1. Ensure my current switch layout is working as expected. 2. Hook up the remote Power/Start/Options button 3. Ensure the XBOX mapping controls work 4. See if I can disable Ethernet & HDMI and have enough power then for USB 5. Switch back to remote dev (VNC), close up the gun 6. Resume debug approach for Accelerometer (manufactured data walk-thru), record actual data for turning around 360 degrees and moving 180 degrees from down to up. Fine tune.
|
|
|
Post by Frisbone on Sept 3, 2013 21:59:32 GMT -5
|
|
|
Status
Oct 8, 2013 12:53:02 GMT -5
Post by Frisbone on Oct 8, 2013 12:53:02 GMT -5
Been out of commission for about 5 days running now - had to go to my parents this weekend to help with some construction. Hope to get back in the saddle soon.
|
|
|
Status
Oct 22, 2013 21:46:41 GMT -5
Post by lintball on Oct 22, 2013 21:46:41 GMT -5
Trying to get back into things myself. Been messing with the controller board and it seems to be constantly blink all 4 green lights. I try to sync it and it does do the spinning pattern of lights on the controller and then reverts to 4 lights blinking instead of just 1 lit. Do you ever have to resync your board when you lose power?
I hate to say it, but I might have to rip open another controller…I'll spend a little more time trying to figure it out, since I hate to have to pretty much start over. But at least it should go a little quickier if I do, I should be able to re-use the transistors/ wiring.
|
|
|
Status
Oct 23, 2013 5:58:36 GMT -5
Post by Frisbone on Oct 23, 2013 5:58:36 GMT -5
I'm having a similar kind of issue on the software side of things that is stalling my "re-entry" into the process. Doesn't help that I have to go to my parents every other weekend to help out for 3 days - then I have a day before and after to ensure I spend quality time with the family. Then pour home improvement stuff on top of it and extended work days because of making up for the extra day off I take every other week and, ugh - not a lot of time to get into something that takes a lot of brain power. It was easier when I had a bunch of little things to work on.
BUT - tonight I plan to break through and get something accomplished! Maybe it will start a snowball effect.
|
|
|
Status
Oct 23, 2013 7:24:35 GMT -5
Post by Frisbone on Oct 23, 2013 7:24:35 GMT -5
Do you ever have to resync your board when you lose power? No, haven't had that problem. But of course we do have two different controller boards - who's to say the behavior is the same. I do wonder though who keeps the sync status - I'm guessing its your xbox and not the controller. Have you verified that your xbox is retaining knowledge of a fully intact controller during the time that your test controller is experiencing this problem? Certainly probably true that both sides likely keep pairing information - so either can be to blame. If its your controller - I would expect that it is kept in eeprom or flash - which most likely resides on that micro-controller chip (the custom ASIC or whatever it is). Did you verify that if you restart the sync process it successfully syncs until you lose power again? If so, could be that the non-volatile memory got damaged - or perhaps corrupted.
|
|
|
Status
Feb 4, 2014 19:23:28 GMT -5
Post by Frisbone on Feb 4, 2014 19:23:28 GMT -5
Earlier in this thread I list an I/O mapping that I last used in my system. It shows all but GPIO 4 and GPIO 7 (BCM gpio numbers - corresponding to header pins 7 and 26 respectively) utilized (17 of a total 19 available).
I know that you had made some changes in your revision - wanted to know if 4 or 7 were still available on your setup because I wanted to use one of them as the data ready interrupt. Do you recall?
|
|
|
Status
Feb 4, 2014 21:58:09 GMT -5
Post by lintball on Feb 4, 2014 21:58:09 GMT -5
At the moment I have GPIO 4 mapped LT(Zoom)...which in theory will be controlled by the accel. GPIO 7 I currently set to the A button since I figured the I/O was available, might as well make it mappable too. So really I am using all 19 I/O but I could give up either...I guess GPIO 4 would be easier to give up at the moment.
|
|
|
Status
Feb 5, 2014 9:16:22 GMT -5
Post by Frisbone on Feb 5, 2014 9:16:22 GMT -5
Ok, lets go with 4 for now - I'll move mine. We'll ditch the LT as a physical input since we have other plans.
I noticed in the code checked in that the mapped I/O hasn't changed and there isn't a commented out block for your configuration. How are you able to test those two buttons? Have you just avoided checking those changes in? If so, you could always have a REV2 preprocessor flag that allows yours to take over. I'll make an effort to check things in tonight so you have access to all my updates.
|
|
|
Status
Feb 5, 2014 16:00:57 GMT -5
Post by Frisbone on Feb 5, 2014 16:00:57 GMT -5
One note about the P5 connector that I realized on this page: wiringpi.com/pins/It appears that I put the jumper block in upside down. According to gordon it was supposed to be mounted on the underside. Having mounted it where I did - the pin numbering is reversed - at least from his references. Just wanted to note this in case it bites us in the ass later on. I believe mounting it on top is best for our application - just need to be aware of the reference info.
|
|
|
Status
Feb 5, 2014 20:30:16 GMT -5
Post by lintball on Feb 5, 2014 20:30:16 GMT -5
Yea I didn't check in my DIO code since I didn't want to screw you up. Though after updating merging my code back in was a little odd. I had to make stash and then merge the stash back in. I need to go back to retest to make sure that I didn't lose the updates I got from you in the first place. That GEN2 flag is not a bad idea. I'll try to do that.
|
|