JColvin

Administrators
  • Content Count

    2968
  • Joined

  • Last visited

  • Days Won

    87

Everything posted by JColvin

  1. Hi bellizima, Yes, the OLED and the IOShieldOled libraries are very similar since the screen itself is the same part on both the Basic IOShield and as the Pmod. The only difference that I am aware of is that they use some different pin numbers to transfer signals from the host board. I think it might be helpful to have the two libraries combined as you suggest, but with the separate pin values (some mandated by nature of the Basic IO Shield since a lot of pins are tied to various components on the shield), and that possibility that some users might want to run two screens independent of one another, a single library may have it's own set of problems. But, as you point out, there are definitely potential issues with having to maintain two separate libraries. I'll look into it and see what the best approach might be. Thanks for the feedback! JColvin
  2. Thanks for working hard on that Sam! It sounds like was super frustrating.
  3. HI jfri, I am personally not familiar with how Xilinx manages their licenses, so I'm not sure exactly how they work. I would recommend checking out their Xilinx Licensing FAQ under their "Using a Node-Locked or Client License" to see how they (Xilinx) appropriate their licenses. Let me know if you have any more questions. Thanks, JColvin
  4. Hi trungmanhhuynh, Since Digilent does not make the pcduino, we do not have any libraries that specifically support it. All of the communication with the Analog Shield to the host board over SPI is handled internally by the library code. Any material that we do have for the Analog Shield is available at the bottom of its product page here. Let me know if you have any more questions. Thanks, JColvin
  5. Hi jfri, The locked version of the Vivado Design Edition is locked to both the Basys3 and whatever computer you install it by limiting the license to that computers mac address. So you would not be able to move or install that one license of Vivado between computers. You can check out another one of our forum posts that asks a similar question That being said, you can download the free WebPack edition of Vivado onto different computers, although you would need a different Xilinx account for each download. As for that Basys3 locked edition of Vivado being downloaded multiple times, that would be a question for Xilinx support for their policy on licensing, although I suspect that you won't be able to migrate it between computers. But again, I don't know for sure what the case might be. Thanks, JColvin
  6. Hi David, You are correct in seeing that the SoC on your board is speed grade 1. After talking with support, it seems that the .xml file was for the revA prototypes which did have the speed grade 2 chip, so they will get this file corrected when they get the opportunity. The file itself will work just fine with the speed grade 1 chip (hence why it slipped through), but we'll get this updated in the near future so that it matches. I personally see thumbnail you attached; I know some links have a weird file extension at the end of it which the forum will reject, so I recommend if you ever need a higher resolution photo uploaded to forum to use our Gallery. Thanks, JColvin
  7. Hi trungmanhhuynh, The Analog Shield is designed to plug into the top of the system board, such as the Arduino Uno or a chipKIT board. As such, it will not physically be able to plug into the Arduino mini pro due to both the incorrect size and the lack of pins available on the Arudino mini pro. You may be able to run individual wires from the mini pro to the appropriate pins on the Analog Shield, but I haven't looked into it. The Pcduino claims that it has Arduino compatible headers, so you may be able to plug the Analog Shield on top of it, but I would double check that the pins on the Pcduino and the Arduino match exactly. Let me know if you have any more questions. Thanks, JColvin
  8. Hi DoctorJ, From what I understand, there are two motors that Digilent provides; the 12V motor that you see in the datasheets with a 1/19 ratio and the 6V motor that you see in the photo with a 1/53 ratio. You can choose between the two options once you attempt to add them to the checkout cart. As for the datasheet of the 6V motor, I have made the pdf available on this dropbox link since I can't seem to find the datasheet anywhere else online. Let me know if you have any more questions. Thanks, JColvin
  9. Yeah, that jumper is a little weird. The UART connector on JP1 allows power to flow from the USB-mini connector to the board, which is labeled as both UART and J1. The USB option on JP1 allows the board to draw power from the bit Type-A usb connector that flash drives fit into. So you would use whichever jumper setting you plan on powering your board from (the barrel jack or one of the two USB connectors) As for the LEDs, the fact that LED 3 and LED 6 are lighting up shows that your board has the bootloader on it, so we're good in that respect. The LEDs 1 and 2 would be representative of RX and TX which the computer utilizes through the USB port when programming/communicating with the chipKIT. This isn't my field of expertise, but I agree with you that you'll need the correct drive installed. I would first try installing the one that comes with MPIDE. The installation application should be in: "mpide-0023-windows-whatever_version_you_have/drivers/chipKIT_Drivers" with the chipKITDriverInstallerApplication_v10 I believe. Let me know how it goes. Thanks, JColvin
  10. Hmm, I tried just unplugging and replugging in my board from the power supply and now both versions of the Wire library seem to have no issue and keep the demo running as expected. So that's not really an "issue" that I can bring up to Keith... I'll let you know if happen to find anything in the future related to this. Thanks, JColvin
  11. Yeah, I'm not sure why the Wire library isn't nicely porting over to that library. The way that the chipKIT Wire library is written now, it calls functions from the DTWI library (even if it has to jump through a few other functions first), so for all practical purposes (from my limited understanding of the chipKIT libraries), it would work in theory. My I2C demo that I know works using the older chipKIT library (for an Uno32) is running into some sort of issue as well with the newer Wire/ DTWI libraries. I'll work with Keith on that and see if we can get that resolved (which might help resolve your issue as well. Thanks, JColvin
  12. I see. Probably why I'm the "Pmod Guy" instead of the FPGA guy I'll forward this question onto our support team and they'll get back to you here on the forum. Thanks, JColvin
  13. Hi bertoloti, I'm not sure if this is your issue, but presuming you're connected to the micro-usb port on the Nexys 4, do you have the jumper block on JP1 set on the middle two pins? I think should allow you to program (and hopefully have the computer recognize) your device. Thanks, JColvin
  14. Your computer should (in theory) automatically download the FTDI driver that is required to interface the WF32 board with your computer. But before we get into that, lets check a couple of things first before we get too far ahead. What type of computer are you using? Windows, Mac, etc? When the board is first powering up, you should see some strong pulses on LD1/LD2 (as you already mentioned eariler) as well as LD3 being constantly lit up for about 2 seconds while LD6 flashes on and off during that time. Are these LED's lighting up on your board? Thanks, JColvin
  15. Hi bletweaker, Is the jumper on J15 (next to the SD card slot) set to UART? I believe the board normally ships with the jumper block on the EXT (external) setting. Thanks, JColvin
  16. Sweet! Thanks for sharing!
  17. Hi Paul, Are you seeing the "all rights reserved" in the vivado.txt file that is available as a .zip download on the DDR user demo page? If so, I believe that phrase strictly applies to Vivado itself, not the IP block (at least in this case). Otherwise, all of the information that you see on our wiki page is licensed under the CC Attribution-Noncommercial-Share Alike 3.0 Unported, unless otherwise noted as per the bottom of each wiki page Let me know if you have any more questions. Thanks, JColvin
  18. You shouldn't need to use the IRQ pin. As long as you're running everything the same in terms of voltage and only using the pull-up resistors that come on the MPR121, everything should be good to go electrically speaking. I'll try to keep playing around with the code and confirm that the new library works with other I2C demos that I have successfully completed before on the old library and see if I learn anything from it.
  19. Hi fishes_alot, I have seen very similar behavior with the PmodALS. As you suspect, the sensor, or more specifically the ADC that takes the voltage from the light sensor and gives you the 8-bit value, is fast enough to catch when the light is on or off. According to the datasheet of the ADC, it can collect data from 50k samples per second up to 200k samples per second (50 kHz to 200 kHz), making it plenty fast enough to notice if a light is flickering. The light sensor itself is also sensitive to angle changes; I can shine a bright LED on the Pmod and get a consistent reading, but if adjust the Pmod very slightly (about 3 mm) so that the spot of light isn't shining as directly on the sensor, I can see a change of 10 or more. You might see more or less of a change depending on how close or far away (respectively) your light source is from the light sensor component. However, if you have the PmodALS laying on a flat surface or as long as your hand isn't visibly shaking and it is receiving light from a steady light source (such as a ceiling light), it should read out very consistent values. Naturally, I can't see how you're holding the Pmod or the light, but it could be that the fluctuation you're seeing is because of those small angle changes, especially if you're using a distinct spot of light (like a flashlight) instead of a "wide area" light. Let me know if this helps. Thanks, JColvin
  20. Hi alexceltare2, After combing through the Wire libraries for awhile between Arduino and MPIDE, the difference that I am seeing is that the wire.endTransmission(false) for an Arduino issues a restart condition. To do the same thing with the wire library in MPIDE (through the use of the Digilent TWI library that MPIDE's Wire relies on in the newest version of MPIDE), you would want to replace all the "Wire.endTransmission(false);" with "Wire.beginTransmission(_i2caddr);" instead. This will effectively issue a restart condition on the I2C bus, as per Keith's comments in the DTWI library. The code on my end compiles, although I don't have the MPR121 to test to see if it works successfully. Let me know how it goes. Thanks, JColvin
  21. gardners, The Digilent Wiki can be found here: reference.digilentinc.com. We (Digilent) are still working on getting it all put together, but you'll be able to see new updates on the various pages as we get them completed. Thanks, JColvin
  22. I don't know how you're working your encoder in software to get feedback, but if you are taking an average over a set amount of time, it makes sense that a slower speeds you'll receive less frequent inputs resulting in a slower respond to friction and other terrain changes. PID control also tends to have a tradeoff between how quickly it responds to any oscillations that it might have; there is a sweet spot, but it'll be based on whatever you prefer. Yeah, motors don't usually try to run at full power the whole time, much like car motors, so I wouldn't count on it lasting its full lifetime either. Oh well. This definitely sounds like a fun project though!
  23. Hi alexceltare2, Turns out the Wire library has different functions available depending on which version of MPIDE you are using. I am using the latest available version of MPIDE (0150-windows-20150204, available here) and when I change the Adafruit library so that the readRegister functions just have WireendTransmission(); as opposed to Wire.endTransmission(false); MPIDE appears to compile the code without complaint. Which version of MPIDE are you using? Thanks, JColvin
  24. I'm curious about the PID control. I haven't gotten to take a look at it, but from what I remember of implementing PID in college, I think you might be able to take a positive output from PID and then subtracting/shifting down to the scale you need...but again, it's been a bit since I learned it.
  25. Hi alexceltare2, I'm taking a look into the Adafruit MPR121 code. At first glance, the wire library that Adafruit is attempting to use is not the same as the wire library that comes with MPIDE. Specifically, Wire.write and Wire.read are not functions in the chipKIT wire library; they use Wire.send and some other functions instead. I'm going to see if the Adafruit library can be changed easily enough to be compatible. Thanks, JColvin