Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Mr.Cruz last won the day on February 15 2014

Mr.Cruz had the most liked content!

About Mr.Cruz

  • Rank
    Advanced Member

Contact Methods

  • Website URL
  1. I'm just going to post this here: http://hackaday.io/project/1872-Robotics-BoosterPack
  2. I was sampling the Gyro @ 1KHz to hold to a bearing, while using the Phone's GPS to navigate from waypoint to waypoint. Sadly, too many things did not function, which made simply going straight an ordeal in and of itself. All code will be linked to the post by the end of the weekend.
  3. I hope you're not the same person as @@vim505. See this response.
  4. I2C is a particularly picky protocol. Double, then triple check that your hardware is wired up correctly. Pullups, and swapping SDA/SCL are some of the more common problems that can occur. On the software side of things, what you have should work (assuming hardware is fine, bu dunno about the setModule functions), with one thing to note. I don't know if the begimTransmission function takes in the 7 bit address, and expects you to shift it or not. It's the difference between 0x70 and 0x38.
  5. Mr.Cruz


    @@pak, Unfortunately, I haven't had much luck porting the I2CDev implementation to the Tiva Launchpad. I tried porting it before the competition, but was constantly getting values that didn't make sense (the quaternion was not stable at all. Looked more like gibberish). I gave it another shot last night, but still no go. I've started looking into Invensense's library and am thinking I'll give that a shot instead. While I love the community around I2CDev, I trust the manufacturer to provide much better documentation and resources for the port. We'll see how that goes (might work on it this week). The I2C + ISR implementation was halted due to other things taking priority, and I don't think I'll be resuming work on it for the forseable future. I'll post a link to my work as soon as I've uploaded the code. @happysmile09: Your best bet at this moment would be to look at the Energia fork of the Arduino IDE and try using the I2CDev libraries with it. I would also suggest reading up on how I2C and the MPU6050 work.
  6. Here's your monthly update! AVC has come and gone, and while it was fun, there was simply too many things that came up at the last minute for me to deal with. The Hovercraft eventually drove straight-ish, but was not able to make it past the first corner. Oh well. I'll be putting up the documentation backlog on hackaday.io for those that want to make one for themselves. The Robotics BPv3 has a few more smaller issues, one of which being that I completely messed up the IO ordering (instead of the pins going 1,2,3,4,5,6,7,8, I did 4,3,2,1,8,7,6,5). Fortunately, it wasn't a dealbreaker, but I will want to fix this. Also, the SD Card connector has been marked NRND, so I'll have to replace that. Something really weird was happening with the Launchpad during AVC such that unless I outputted variables via printf, they would get optimized out. There were loops that I was never entering, despite data being there, there were variables not getting updated, and all in all it was really weird. This is something I'm going to fix before releasing the firmware for the project. Before AVC, I was able to update the control app for the Hovercraft. The fun really started when the night before I only slept 30 minutes and learned how to use GPS and the Sensors on my smartphone. Unfortunately, the IMU sensors on the phone were both noisy and slow, which meant that if I wanted to go straight, I'd need to get that MPU6050 working. Also, the GPS only worked at 1Hz, BUT I did get accuracy down to +/-4m, so there's that. On the subject of the IMU, I think there's something really weird going on with my implementation of I2C. I could read individual packets, but never got the DMP working. I ended up sampling the Gyro at 1KHz, which while it got the job done, starved my command parser such that sometimes I received invalid commands. A huge issue when simply turning on the motors requires 6 back to back commands (one for setting the initial value, and one for enabling them). Now time for a bigger announcement. I'd like to switch gears again to working on the Pick and Place. It's become a large enough bottleneck that I need one working sooner than later. BUT, I also still want to keep testing this board and working on software, so I'm going to try something. I've decided that for the next rev (v3.1 for those keeping track), I'm going to send out test boards so that people can actually put the boards through their paces. If anything this should help incentivise me in documenting how to use the board. This should also help me see how people want to use the board. This is the first time that I've ever done this kind of thing, and I'll be sinking a good chunk of money into this, but I'm getting close to the point where I'd like for the project to be wrapping up, and hope that this will help. If for some reason I get a lot of response/demand for this, then I'll likely be looking for people that are much more active on working on projects than those who are new to embedded systems, simply due to the stage that the board is at. For those that are interested, PM me or post here for more questions. TL;DR: AVC was fun. Waay too many last minute issues to correct for. Found minor issues with the board. I'll be giving away a few boards to hopefully receive feedback on the board, and find out what else needs improvement.
  7. I've finally gotten around to documenting the Cardboard Hovercraft build to such a detail that anyone else can build one. Since it has a bluetooth/wireless control component, I'll be documenting it at hackaday.io
  8. Tivaware also includes a fatfs implementation in third_party/fatfs
  9. Nearly another month, and another update! PCBs are back, and aside from USPS not delivering around $250 in packages (still tracking them down, but I'm not optimistic and simply reordered everything), v3 of the PCB will be assembled and tested by the end of next week! Looking forward to getting real time current readings up to 100A. The IMU! Finally getting around to porting the MPU6050 from the I2Cdev project to the Tiva Launchpad + my I2C implementation. Aiming for it to be completed by the end of the week. There's something to be said about Hovercrafts. Working on my Sparkfun AVC entry, hence all of this work being done. Oh, the Android Hovercraft App has been fun to work on (need to test it somehow!). Probably won't post another update until after the AVC, but I suppose I could post an updated version of the BoosterPack once I get it assembled.
  10. RBP v3 routing completed! Gonna mull over the routing for a day while the silkscreen is completed, when if all is good, in two weeks, I'll have another rev!
  11. To learn about Servos: https://learn.adafruit.com/search?q=servo To figure out how to use Servos with Energia: https://www.google.com/search?q=energia+servo The TM4C123G is backwards compatible with the LM4F120 MCUs (take a look at Table 5 in this document). Energia definitely supports the Servo object (see source code). The resources are definitely out there. maybe you can be more specific when asking for help? From your two comments, it seems like you haven't done any research on the subject.
  12. Wow, it's almost a month since I last made made a post. Updates: PCB still needs to be rev'd. Got preoccupied doing other things. I made a hovercraft using the booster pack. And it (kinda) works! I was at the Austin Mini Maker Faire (proof!) Oh, because I needed a better way to wirelessly control the robots over bluetooth, I make an Android App in less than a day to control both robots. The repo will be updated tonight with the app.
  13. Ah! Wonderful! I may look at CMSIS yet!
  14. Nice code dump! Just thought I'd add a few notes: In the first implementation, if you make the functions inline, the compiler can optimize out the function jump, and you can get a slightly more accurate time measurement (pushing/popping registers to go to and from functions generally takes around 12 cycles if I recall) CMSIS is interesting, and I have yet to get a chance to play with it. I think the CMSIS example will be more accurate due to the #define macros (no pushing/popping registers from the stack), but some cycles will be lost due to de-referencing. Nice code dumps!
  15. T-minus 5 days! The code dump has been getting updated as well. At this point, the repo is in a large need of cleaning up, but there's some rather interesting code that makes using peripherals much easier, in my opinion. And as of right now, I plan on having two robots at the AMMF. Whether they're functioning by then is another question...
  • Create New...