Technical Forum Moderator
  • Content Count

  • Joined

  • Last visited

  • Days Won


Cristian.Fatu last won the day on December 15 2017

Cristian.Fatu had the most liked content!

About Cristian.Fatu

  • Rank
    Prolific Poster

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

2354 profile views
  1. Cristian.Fatu

    Basys3 USB power not working

    We are discussing this issue on the Digilent technical support channel.
  2. Cristian.Fatu

    Pmod on Arduino

    Hello, I jump in this discussion just to note that Arduino Uno provides, in the POWER bank pins, a "3.3 V" pin. So I am thinking (without too much knowledge) that this could be used to solve at least the power of the connected Pmod. Still, you should be concerned if this pin provides enough power for your Pmod: I also note that Arduino Due has 3.3 V IO logic level. Good luck.
  3. Cristian.Fatu

    Arty A7 Push Buttons Register as Both Zeros and Ones?

    Hello, We consider very important, prior to deciding that the board is defective, to run one of our projects that will proof that the buttons are running or not. We have created a very simple project that simplifies the GPIO demo by just connecting the push buttons to the LEDs. I am sending you the bit file for your A35T FPGA, please open hardware manager, connect to your board and program the bit. Press buttons, and you should see the corresponding LED lit. Depending on this result, we will continue the Technical support issue you just open.
  4. Cristian.Fatu

    Serial Communication using Basys MX3

    Hello, In the resource center we provide a library pack:, to be used with MPLAB X. It provides two modules for UART, located in the corresponding .c source files: uart.c provides UART functions to be used with USB - UART interface. uart_jb.c provides UART functions to be used over pins from PMOD JB connector. We also provide an UART demo. Please take a look, maybe use the library or at least use the code as an inspiration (UART initialization steps from UART_Init functions, for example).
  5. Cristian.Fatu


    As mentioned by Dan, you can also use Adept application to accomplish this task. The other option is to use Xilinx tools. Adept has the advantage of being able to use the bit file, while Xilinx tools (iMPACT) requires the step of creating the mcs file. Still, our advice is to try to use the iMPACT, as this is the recomended Xilinx way. So please try to use the tutorial that Bogdan just sent.
  6. Cristian.Fatu

    UART Interrupt in zybo queries

    Even if this seems to be a very old topic, I post some information related to it. The following link reveals a wrong line in the defines of the example project xuartps_intr_example.c of 2016.4 version (posted by K_Ashish). Changing from XPAR_XUARTPS_1_INTR to XPAR_XUARTPS_0_INTR makes the critical difference between wrong and right.
  7. Hello, I am trying to provide some answers on this matter. For the first question: You can connect any number of Pmods, as long as you have proper available Pmod connectors. What I mean by "proper" is that you should check the needed pins functionality for a Pmod. As James was saying in this answer, you might need hardware SPI or I2C communication. And only some specific PIC32 pins provide this. You can check to which Pmod connector pins they are routed in the board reference manual, usually in the appendix at the end of document. For your example: So, take the needed Pmods one by one and try to find a place where to plug them. Related to the software, include each Pmod library in your project. You might need to change the hardware interface number: for example the Digilent library implements access to hardware interface SPI1, while you need access to hardware interface SPI2. This is not difficult. For to the second question: Yes, you can use any cable to connect pin to pin from the Pmod connector to the Pmod itself. Of course, if you are interested in high speed, this can come with a cost. But most of the time, high speed is not an issue. In fact, Digilent even provides such a cable: You can find some more details of the Digilent Pmod specifications in this document Interface_Specification.pdf. Related to mechanical dimensions: yes, would be nice to have them on the website. Until then, we are providing them upon request. Good luck.
  8. Cristian.Fatu

    PMOD OLED2 Lib with Arduino UNO

    As James answered, unfortunately you can't use the library as it is. For example, if you take a look in Oled2Driver.cpp, you will notice that it uses PIC32 register names. But maybe this library can be used as a starting point if you want to build your functionality. See how Microchip PMP (Parallel Master Port) is used and you can build your own functionality to access OLED2. The library is rather complex, as it also implements character generator, some graphic directives. Still you can focus only on the part you are interested.
  9. Cristian.Fatu

    Vivado-SDK 2017.2 Linux

    Regarding the specific errors you mention, we tried to create a simple helloworld application (which just includes <stdio.h>). Although the eclipse highlights “Unresolved inclusion: <stdio.h>” (similar to the situation described by you), the project builds without errors, and the C/C++ Build Settings (right mouse option on project) identifies the linux compiler arm-linux-gnueabihf-gcc. The conclusion is that this might be just an eclipse issue. Creating a linux application is a complex task, more difficult than creating a standalone application. There are several tutorials available on the Internet of how to handle Linux applications in SDK. Also, please read Apart from Linux approach, we direct you to some tutorials for understanding basic concepts of Vivado / SDK. Please start with the following tutorial, which guides you through the process of creating the Block Design (in Vivado), export the hardware to SDK: Also, you can read the following tutorials / wiki pages: Good luck.
  10. Cristian.Fatu

    Vmodcam project's read and write batches

    The last version of VmodCAM is rev. C. Anyway, this example is the only one we have, so try to use it "as it is". When you add new questions, please add new posts, as editing the previous posts is not a good approach because existing answers seem to "float" over replaced questions.
  11. Cristian.Fatu

    Vmodcam project's read and write batches

    Yes, it is stereo vision implementation. Please read the documentation inside the zip file to find more, as I know very few about this project.
  12. Cristian.Fatu

    Vmodcam project's read and write batches

    Hello, Hoping that this might help you, I am sending you a demo application. It is a 3D Vision demo, based on VmdoCAM. Please note that this demo was not released, so it is not "polished". Camera Demo Good luck!
  13. Cristian.Fatu

    Spartan 3 Starter Board Help

    In these days when a lot of perfectly working boards are just thrown away because they are obsolete, I think we should admire and encourage the "effort" of using these old (but unused) boards. I think that some more details can be useful on this matter. This is a Xilinx board, meaning that it was engineered by Xilinx and only produced by Digilent. It is based on Spartan 3 FPGA XC3S200, which is very old and, comparing with up to date FPGAs, not very powerful. But is more than enough for small applications or for learning VHDL or Verilog. On PC side, in order to generate the programming file (bit file), you need Xilinx tools ISE (as mentioned in the above messages). In order to program the bit file on the board, you need a programming cable. On the PC side it will be connected to USB, on the board it will connect to JTAG connector J7 (1x6 pins). Please read more about this mater on the page 41 of the board's user guide An example of such a cable is Digilent HS2 On the other hand, let's look from the other perspective: You should be aware that the current direction of Xilinx tools is to move towards Vivado, so using this "ancient" board you lose the possibility to learn Vivado. If you are student or your work is related to academia, almost at the price of the Digilent HS2 you can get all the Basys3 board This relies on the Artix 7 family FPGA, is up to date and also doesn't need a programming cable. Good luck !
  14. Hello, The conclusion is that you can find internal (very weak) pull-up for the Change Notification pins. These pins have "CNx" in their list of functions. The "12.0 I/O PORTS" section of the microcontroller datasheet explains you more about this. So, my advice is to start from the pinout table of the UC32 reference manual and identify the pins that have CNx in their list of functions. For example the highlighted line in the attached image tells that the pin situated in J5 position 06 has CN capability.
  15. Hello, I try to bring here some more details. Let's try to investigate the possible implementations of pull-up. The schematic that Bianca linked shows clearly that no hardware pull-up was implemented on UC32 for the specified pin. The R26 is there not for hardware pull-up, it has some protection purpose. Still, the Microchip microcontrollers provide some internal (weak) pull-up capabilities on input pins. Please read about this here: So, finally there is the question if setting the PinMode as you wrote (INPUT_PULLUP) will make use of the internal pull-up pin capability. I really don't know, it is for you to find out. What I tried was to make things a little more clear. Of course, you have the possibility to set the microcontroller registers outside the PinMode function.