Search the Community

Showing results for tags 'sdk'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • News
    • New Users Introduction
    • Announcements
  • Digilent Technical Forums
    • FPGA
    • Test and Measurement
    • Measurement Computing (MCC)
    • Add-on Boards
    • Digilent Microcontroller Boards
    • Non-Digilent Microcontrollers
    • LabVIEW
    • FRC
    • Other
  • General Discussion
    • Project Vault
    • Learn
    • Suggestions & Feedback
    • Buy, Sell, Trade
    • Sales Questions
    • Off Topic
    • Educators
    • Technical Based Off-Topic Discussions
    • Archived

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start





Website URL







  1. Hello, I only want to measure samples when a pulse is active. I've seen how it should work in the reference manual and this forum thread When using record however FDwfDigitalInTriggerPositionSet sets the measurement length. I assumed it might be stopped by the reset but that is for me not the case. I also had to specify the counter to 0 as otherwise the trigger didn't work properly. Is there a way to only measure when the pulse is active and does the triggerReset reset the board or only the trigger? Thanks in advance.
  2. Hello, First of all thank you very much for all the answers in the forum questions they helped me out a lot! I am trying to continuously measure the logic levels using the acquisition mode scanScreen currently at a sampling frequency of 800000. During this process I came across some questions I unfortunately did not find any answers to. I am not using the record feature as this is limited to 100ms/div in Waveforms. Is this because it can't get higher? After that I wanted to mimic the repeated acquisition mode. I tried using 10 buffers and then constantly reading and rearming the device. This unfortunately has sometimes some data loss as well, which makes we wonder how the repeated acquisition in Waveform works? I ended up storing the old index position and acquiring the new one using FDwfDigitalInStatusIndexWrite. I am able to get the new data every round. However sometimes if the background activity is to high presumably there is some data missing. Is there a way other than guessing from the amount that has to be read every single time that can tell me when this happens eg. receiving the amount of samples written after the buffer was last read? I've already tried: 1) FDwfDigitalInStatusSamplesValid this always returns 4096. At the beginning using the shift Acquisition mode this counts up however unfortunately I did not find a way to get by how much the shift register was shifted. 2) FDwfDigitalInStatusSamplesLeft this function, if I did not misunderstand how to use it, constantly returns a growing negative value seemingly unrelated to the growing buffer. cValid = ctypes.c_int() dwf.FDwfDigitalInStatusSamplesValid(device_handle, ctypes.byref(cValid)) print(cValid) Thanks in advance.
  3. Does anyone know which FFT library is good on Waveform SDK? I need to implement the FFT coding into my VC++ program. Please advice me which is good solution for my application as below? -Output is 1kHz sine wave -Using ADP3250 -Measure the THD value less than about -70dB from specification I hope to fine some sample code to use some library and If you need more information, please let me know
  4. YakirP

    Pmod wifi SDK problem

    Hi i'm using Vivado 2018.2 + Zedboard, my goal is to use the WiFiScan from the examples attached to Pmod WiFi folder. i have build the project in vivado section and exported it to SDK at that point i'm creating new application project, choose C++ project and select finish. i'm getting the following errors: flexible array member 'DHCPDG_T::options' not at end of 'struct DHCPMEM_T' DHCP.h ‪/proj_bsp/ps7_cortexa9_0/include/DEIPcK/utility‬ line 216 C/C++ Problem flexible array member 'DHCPDG_T::options' not at end of 'struct DHCPMEM_T' DHCP.h ‪/proj_bsp/ps7_cortexa9_0/libsrc/PmodWIFI_v1_0/src/DEIPcK/utility‬ line 216 C/C++ Problem flexible array member 'SMGR_T::rgPages' not at end of 'class TCPSocket' HeapMgr.h ‪/proj_bsp/ps7_cortexa9_0/include/DEIPcK/utility‬ line 145 C/C++ Problem flexible array member 'SMGR_T::rgPages' not at end of 'class TCPSocket' HeapMgr.h ‪/proj_bsp/ps7_cortexa9_0/libsrc/PmodWIFI_v1_0/src/DEIPcK/utility‬ line 145 C/C++ Problem flexible array member 'SMGR_T::rgPages' not at end of 'class UDPSocket' HeapMgr.h ‪/proj_bsp/ps7_cortexa9_0/include/DEIPcK/utility‬ line 145 C/C++ Problem flexible array member 'SMGR_T::rgPages' not at end of 'class UDPSocket' HeapMgr.h ‪/proj_bsp/ps7_cortexa9_0/libsrc/PmodWIFI_v1_0/src/DEIPcK/utility‬ line 145 C/C++ Problem flexible array member 'SMGR_T::rgPages' not at end of 'struct DNSMEM_T' HeapMgr.h ‪/proj_bsp/ps7_cortexa9_0/include/DEIPcK/utility‬ line 145 C/C++ Problem flexible array member 'SMGR_T::rgPages' not at end of 'struct DNSMEM_T' HeapMgr.h ‪/proj_bsp/ps7_cortexa9_0/libsrc/PmodWIFI_v1_0/src/DEIPcK/utility‬ line 145 C/C++ Problem thanks for the help
  5. Hi there, I am quite new to FPGA and would like first to apologize if my question is *stupid* :-) I have read already quite a lot and I am kind of stuck. Any help appreciated ? Hardware Card: Nexys Video Vivado 2016.4 What I would like to do I have an external TTL signal (3.3 V, 1 kHz) connected to the Pmod A, ja[0] pin (and the ground to GNB) . As a test, I would like to read this signal, fill a FIFO and then read the FIFO buffer when the buffer is full. I do not mind to lose data; I just want to see (on the computer) some raw data once in a while. ISSUES From the SDK terminal, I receive weird data like "²’ÒŠRj$ª²šÒŠRj$ª²¢". My top module `timescale 1ns / 1ps module oscillo(clk, uart_rx_out, TTL_in,sw); input clk; input sw; input [0:0] TTL_in; // These are input data output uart_rx_out; reg [0:0] TTL_in_reg; always @(posedge clk) TTL_in_reg <= TTL_in; wire [0:0] q_fifo; // These are output data fifo_generator_0 myFifo ( .clk(clk), // input wire clk .din(TTL_in_reg), // input wire [0 : 0] din .wr_en(wrreq), // input wire wr_en .rd_en(rdempty), // input wire rd_en .dout(q_fifo), // output wire [0 : 0] dout .full(wrfull), // output wire full .empty(wrempty) // output wire empty ); // The flash ADC side starts filling the fifo only when it is completely empty, // and stops when it is full, and then waits until it is completely empty again reg fillfifo; always @(posedge clk) if(~fillfifo) fillfifo <= wrempty; // start when empty else fillfifo <= ~wrfull; // stop when full assign wrreq = fillfifo; assign rdempty = ~ fillfifo; microblaze_mcs_0 myMCS ( .Clk(clk), // input wire Clk .Reset(sw), // input wire Reset .GPI1_Interrupt(GPI1_Interrupt), // output wire GPI1_Interrupt .INTC_IRQ(INTC_IRQ), // output wire INTC_IRQ .UART_txd(uart_rx_out), // output wire UART_txd .GPIO1_tri_i(fillfifo), // input wire [0 : 0] GPIO1_tri_i .GPIO2_tri_i(q_fifo) // input wire [0 : 0] GPIO2_tri_i ); endmodule My xdc file ## FPGA Configuration I/O Options set_property CONFIG_VOLTAGE 3.3 [current_design] set_property CFGBVS VCCO [current_design] set_property -dict { PACKAGE_PIN AB22 IOSTANDARD LVCMOS33 } [get_ports { TTL_in }] ## Board Clock: 100 MHz set_property -dict { PACKAGE_PIN R4 IOSTANDARD LVCMOS33 } [get_ports { clk }]; create_clock -add -name clk_100m -period 10.00 [get_ports clk] ## Reset Switch set_property -dict {PACKAGE_PIN E22 IOSTANDARD LVCMOS12} [get_ports {sw}]; set_property -dict { PACKAGE_PIN AA19 IOSTANDARD LVCMOS33 } [get_ports { uart_rx_out }] My helloword.c for the sdk #include <stdio.h> #include "platform.h" #include "xil_printf.h" #include "xparameters.h" // add #include "xiomodule.h" // add volatile char int_flag = 0; // millisecond counter variable //function which is called by the GPI interrupt when one of its bits goes hi void MyInterruptFlagSet( void* ref) { int_flag = 1; // when it receives interrupt, set c } int main() { init_platform(); u32 data; u16 my_secs = 0; XIOModule gpi; //print("Setting up GPI\n\r"); data = XIOModule_Initialize(&gpi, XPAR_IOMODULE_0_DEVICE_ID); data = XIOModule_Start(&gpi); //setting up interrupt handlers and enables them microblaze_register_handler(XIOModule_DeviceInterruptHandler, XPAR_IOMODULE_0_DEVICE_ID); // register the interrupt handler // Makes the connection between the Id of the interrupt source and the associated handler that is to run when the interrupt is recognized. XIOModule_Connect(&gpi, XIN_IOMODULE_GPI_1_INTERRUPT_INTR, MyInterruptFlagSet, NULL); // register timerTick() as our interrupt handler XIOModule_Enable(&gpi, XIN_IOMODULE_GPI_1_INTERRUPT_INTR); // enable the interrupt microblaze_enable_interrupts(); // enable global interrupts while (1) { while(int_flag == 0 ) //wait till interrupt flag goes high ; data = XIOModule_DiscreteRead(&gpi, 2); // read counts (channel 2) xil_printf("%d: %d\n\r",my_secs, data); my_secs++; int_flag = 0; //clear flag } cleanup_platform(); return 0; }
  6. I'm trying to use a VDMA tutorial. I have a ZED Board and I'm using VIVADO 2019.1 Every time I run the SDK, it shows nothing on the terminal. After that I tried to boot from the SD card and it also shows nothing. PS: I checked that I'm using the right terminal
  7. Hello. I'm trying to analyze an analog signal using the WaveForm SDK on Linux (Ubuntu 18.04). But I'm having troubles controlling the trigger position in the buffer of 8192 samples. I want the event of interest located on the right end, so that the buffer captures what happened *BEFORE* it, instead of after it (to avoid repeated patterns.) I'm looking for a narrow spike >5V to trigger. There is only one such data point in the buffer of samples, and I can verify that. My code looks like this but the trigger position is not fixed in each run. Some times the >5V point is very early in the buffer. Thank you! // Modified from sample code: analogin_acquisition.cpp // sample rate // 50,000 Hz, 8192 samples, // 163.84 ms range // 0.00002s or 20 us between samples FDwfAnalogInFrequencySet(hdwf, 50000.0); // configure trigger FDwfAnalogInTriggerSourceSet(hdwf, trigsrcDetectorAnalogIn); FDwfAnalogInTriggerTypeSet(hdwf, trigtypeEdge); FDwfAnalogInTriggerConditionSet(hdwf, trigcondRisingPositive); FDwfAnalogInTriggerLevelSet(hdwf, 5.0); FDwfAnalogInTriggerHysteresisSet(hdwf, 0.05); FDwfAnalogInTriggerHoldOffSet(hdwf, 0.15); // cycle is 0.16 // set trigger position to the right // time range is (-82 ms, 82 ms) FDwfAnalogInTriggerPositionSet(hdwf, 0.08); // <-------- look here FDwfAnalogInConfigure(hdwf, 0, true); Digilent.adept.runtime_2.21.3-amd64.deb Digilent.waveforms_3.16.3_amd64.deb The WaveForm application works properly with the same parameters.
  8. Hi guys, I bought a zybo board and did a simple hello world project to test the functionality, but it didn't work. Here's what I've done: After exporting hardware and creating sdk projects, I downloaded the bitstream & program into zybo as usual. But the board wouldn't run the program normally(It doesn't terminate and doesn't print helloworld). So I debug the board using xsdb, step by step, and find out that disassembly result is not the same as elf file displayed in SDK. xsd shows that data at 0x100000 is 0xea020049; however, in the sdk, the data should be 0xea000049, as shown in the second picture. If I keep on stpi, since it'll go to the wrong place, CPU will finally goto infinite loop. xsdb% connect tcfchan#0 xsdb% targets 1 APU 2 ARM Cortex-A9 MPCore #0 (Running) 3 ARM Cortex-A9 MPCore #1 (Running) 4 xc7z010 xsdb% fpga -f "design_1_wrapper_hw_platform_0/design_1_wrapper.bit" 100% 1MB 1.8MB/s 00:01 xsdb% targets 2 xsdb% source "design_1_wrapper_hw_platform_0/ps7_init.tcl" xsdb% rst; ps7_init; ps7_post_config; Info: ARM Cortex-A9 MPCore #0 (target 2) Stopped at 0xffffff28 (Suspended) Info: ARM Cortex-A9 MPCore #1 (target 3) Stopped at 0xffffff34 (Suspended) xsdb% dow "hello_world/Debug/hello_world.elf" Downloading Program -- C:/Xilinx/Zybo/project_2/project_2.sdk/hello_world/Debug/hello_world.elf section, .text: 0x00100000 - 0x001016eb section, .init: 0x001016ec - 0x00101703 section, .fini: 0x00101704 - 0x0010171b section, .rodata: 0x0010171c - 0x00101733 section, .data: 0x00101738 - 0x00101bab section, .eh_frame: 0x00101bac - 0x00101baf section, .mmu_tbl: 0x00104000 - 0x00107fff section, .init_array: 0x00108000 - 0x00108003 section, .fini_array: 0x00108004 - 0x00108007 section, .bss: 0x00108008 - 0x0010802f section, .heap: 0x00108030 - 0x0010a02f section, .stack: 0x0010a030 - 0x0010d82f 100% 0MB 0.4MB/s 00:00 Setting PC to Program Start Address 0x00100000 Successfully downloaded C:/Xilinx/Zybo/project_2/project_2.sdk/hello_world/Debug/hello_world.elf xsdb% mrd 0x100000 16 100000: EA020049 100004: EA040025 100008: EA00002B 10000C: EA00003B 100010: EA000032 100014: E320F000 100018: EA000000 10001C: EA00000F 100020: F92DD91F 100024: ED3F1FBB 100028: ED6D0B20 10002C: EEF11A10 100030: 00001004 100034: 00001A10 100038: FFFF1004 10003C: EFF1019E elf file contents: Disassembly of section .text: 00100000 <_vector_table>: 100000: ea000049 b 10012c <_boot> 100004: ea000025 b 1000a0 <Undefined> 100008: ea00002b b 1000bc <SVCHandler> 10000c: ea00003b b 100100 <PrefetchAbortHandler> 100010: ea000032 b 1000e0 <DataAbortHandler> 100014: e320f000 nop {0} 100018: ea000000 b 100020 <IRQHandler> 10001c: ea00000f b 100060 <FIQHandler> 00100020 <IRQHandler>: 100020: e92d500f push {r0, r1, r2, r3, ip, lr} 100024: ed2d0b10 vpush {d0-d7} 100028: ed6d0b20 vpush {d16-d31} 10002c: eef11a10 vmrs r1, fpscr 100030: e52d1004 push {r1} ; (str r1, [sp, #-4]!) 100034: eef81a10 vmrs r1, fpexc 100038: e52d1004 push {r1} ; (str r1, [sp, #-4]!) 10003c: eb00019e bl 1006bc <IRQInterrupt> So, the problem is, WHY is the DRAM data partially wrong??? I almost doubt DRAM works normally, but I just bought the board a week ago lol.
  9. Hi all hope you are all doing well. I need to use the SDK and measure all this measurements but apparently there are no functions to calculate for example AC RMS values to call. do i need to come up with my formula or is there any function that can return all the following values ? thank you.
  10. Hi, I want to read analog data from ad1 pmod. For Vivado part, I use digilent pmod ips to connet fpga. For SDK part, I use AD1.h and AD1.c library in examples. My sensor sends to me analog values between 0-3.3V. (This is a heart rate ECG values). During using arduino, all heart beat data can be read. But I use same function for zedboard, Analog values doesnt look like arduino's. How I can configure and fix this problem? As you see ad1-zedboard connection as below.
  11. I'm trying to get the Pmod Color module for the Zynq z7-10 to work but it doesn't appear to be on. I was following along the instructions from these sites: and I have it connect to the device as such on the board's JA port: Following along with the first link, I skipped the steps where a clock and interrupt were added as the data sheet shows that the Pmod Color IP does not require these. I have included my schematic below. I see that the module has an LED pin (LD1) but it doesn't appear to be on when connected to my powered device. In the SDK, I added a debug 'else' statement to the main() portion of the code to see if the Pmod is receiving data. After running the code on the board, the else statement is the only statement being executed. What could be the issue that my module is not turning on? I took a voltmeter reading, and the Vcc and GND pins are getting 3.3V. Following the instructions of the first link, I noticed they never included a constraints file. Could this be the issue? zynq_ps_main_c.c
  12. I'm following along with the instruction provided on the GitHub ( to test the functionality of the Zybo board's HDMI ports. I followed the instruction to the T but cannot seem to get a signal to pass through. At first, I connected my cable box to the HDMI Rx and then I switched to my laptop. In both instances, not only did my TV monitor not detect a signal, but the output on the sdk terminal was that the HDMI-in was unplugged (see first attached photo). The HDP / LD9 LED near the HDMI port turns on, telling me it is detecting a signal. Using the Zybo-Z7 reference manual, I deduced that it might be due to an issue with resolution, but if I try to change the resolution, I get 'stuck' in that menu (see second attached photo) and have to restart the processes by clicking run-as -> Launch on Hardware. I also notice the clock frequency is set to 0, but I'm not exactly sure what could be the issue. I have also attached the block design and xdc file as I'm assuming the issue could be there since the pixel clock isn't running. design_1.pdf Zybo-Z7-Master.xdc
  13. Good Day Techies, Some background information; I am currently using the SDK and I am running various test before I move forward using this AD2 on a major project. For most of the basic things this device works remarkably. Some questions I would love some insight on: a. What is the maximum amount of Sample Points the Analog Discovery 2 can store/output for a Custom AWG? - Using the API call FDwfAnalogOutNodeDataInfo it returns 4096 Samples as the Max Sample Count. b. Is there any way that this can be increased? c. If this can't be increased, is there a work around that can be used to store/output larger Custom AWG's? d. For major real world applications is this an appropriate device or should one look into the Discovery Pro? Thank you again for all of your assistance.
  14. Hello, I have been successful in running the lwIP echo server on the Zybo Z7 board. However, I want to develop a web server on Zynq. I have gone through the lwIP documentation. However, in the discussion of this topic, I was successful in reading the .bin file from the SD card. Now I want to set up a web server on Zynq so I can command the server to read the .bin file from SD card and store it in the DDR. How do I start working on the web server. I have been searching a lot for the tutorial or anything that could make me understand in a simpler way but I failed to find any.! I also tried understanding the echo server C code in sdk however, after a point it seems too confusing to me. I could even think of modifying the echo server C code to develop a web server with some help, may be. The documentation of lwIP is confusing to me at this point.... Thanks, Shyama.
  15. Hello, I tried posting this on the Xilinx forums but got no response. These forums look more active and friendly so hopefully somebody can help me. I am really stuck. I am trying to follow along with the "How To Store Your SDK Project in SPI Flash" tutorial (, but I cannot get it to work. I am using an Artix-7 35T Arty FPGA Evaluation Kit. I am running Vivado v2017.2 (64-bit) and SDK v2017.2 on a Windows 10 machine. First, I created a simple "Hello World" program by following the steps in the "Arty - Getting Started With Microblaze" tutorial ( The only deviation from the instructions that I made was that after adding the MIG to the board, I added an AXI Quad SPI, with enabled port SPI_0, and then ran "Run Connection Automation". When I ran my C program on the Arty board it worked fine, and printed "Hello World" to my PuTTY terminal. I've attached my board file as both .bd and .png. Second, I tried store this "Hello World" program to the Arty's SPI Flash using the "How To Store Your SKD Project in SPI Flash" tutorial. But, it did not work. I'll walk you through what I did because there are a few things that I am confused about. Unless otherwise noted I followed the instructions exactly. Before step 0: I don't know what the QSpi mode jumper setting is referring to, so I didn't do anything. Step 1.3: I compressed my bitstream so I left FLASH_IMAGE_BASEADDR as 0xF8000000, like I found it. Steps 2.1 and 2.2: I used my "Hello World" app that I created by following the "Arty - Getting Started with Microblaze" tutorial. I couldn't place the sections into mig_7series_0 because that wasn't an option, so instead I used mig_7series_0_memaddr. Step 4.1: I used offset 0xF8000000 because that is what I used in Step 1.3. One other thing: the test says to use Arty flash type mt25ql128-spi-x1_x2_x4 (which I do), but the image of the "Program Flash Memory" window shows them using Arty flash type n25ql128-spi-x1_x2_x4. Step 5: it doesn't work. Does anyone have any suggestions? Is the SPI Flash some sort of external hardware that I need to plug into the Arty? Thanks in advance.
  16. Hi, I'd like to get information from oscilloscope (like duty cycle, frequency etc.) using SDK in C language. I succeded to pilot the oscilloscope channels and read data with function FDwfAnalogInStatusData(), but I didn't find any method to get info over described. Is there a easy way to obtain duty cycle, frequency etc. info or I have to calculate these info from the data retrieved? Thanks!
  17. Hi. I have a problem while trying lwIP Echo server wiht Zybo-Z7 I follow this tutorial faithfully but I face with a problem This problem occurs for both connection through router and connection directly with my laptop or desktop I try with 3 PC and all of it shows same result. Google suggest me to configure ethernet to be 100Mbps half duplex with Fixed IP settings and it doesn't work. I double-check that I'm using correct MIO pin and fix the 100Mbps at SDK. Is there any solution to resolve this problem? Thank you.
  18. Hello I am attempting to follow this but I am confused about section 2.3. It says to place all the application code in DDR. The Basys3 has no external memory but for the SPI flash. From a SPI flash description from an Arty reference, it says but when I read the Xilinx answer record 63605, it says on step 5. Create helloworld application and link to DDR (in the linker script make sure that this application is executing from DDR) Can someone explain to me how to do this all in the SPI flash? Do I need to somehow set that up in my block design in? I do have the QSPI in my block design already but it is not available to me as an option in the linker script window.
  19. elAmericano

    pmod esp32

    Hello, I am working with Artix A7 board, implementing various PMODs successfully. I am having some issue with PMOD-ESP32 unfortunately. The source files from a project off github (ESP32.c/ESP32.h) from as well as the included libraries (PmodESP32.c/PmodESP32.h) GitHub Project: I believe the following macros need to be re-defined in the ESP32.h file from github, however in XILINX project for Artix A7, there is a uart-lite that is connected via AXI and there is a uart connected to the ESP32 IP. I have tried to define both. When I define this as the uart-lite device ID, I get some output on console, but I cannot successfully connect to WIFI (which makes me believe the AT commands are being sent to AXI-UART , but not to ESP32 device uart). When I define uart_device as ESP device, nothing prints to console terminal. Please let me know if you have any suggestion. #define UARTLITE_DEVICE_ID XPAR_UARTLITE_1_DEVICE_ID #define INTC_DEVICE_ID XPAR_INTC_0_DEVICE_ID #define UARTLITE_INT_IRQ_ID XPAR_INTC_0_UARTLITE_1_VEC_ID When I try to use the PmodESP32.h / PmodESP32.c included with IP, I am also not able to succesfully communicate with device. I basically do the following ESP32_HardwareEnable(ESP32); ESP32_Initialize(ESP32, u32 UartBaseAddr, u32 GpioBaseAddr); ESP32_HardwareReset(ESP32); ESP32_SendBuffer(ESP32, u8 *buffer, u32 count); The commands i try to send are for connecting to WIFI and for configuring TCP, the functions return 0, which i understand means not succesful. I have reconfigure some of the functions from the github project to work with PmodESP32.c/PmodESP32.h files (the github project uses a UART only devicePtr, whereas the included PmodESP32 files have GPIO / UART structure). int set_wifi_mode(PmodESP32 * devicePtr, unsigned int mode) { u8 tx_buf[50]; if(mode > 3) { xil_printf("Mode %d is not supported for setting the WiFi mode\n\r"); xil_printf("Please Use Modes:\n\r"); xil_printf("\tNULL_MODE\n\r\tSTATION_MODE\n\r\tSOFTAP_MODE or\n\r\tSOFTAP_AND_STATION_MODE\n\r"); return XST_FAILURE; } sprintf(tx_buf, "AT+CWMODE=%d", mode); ESP32_SendBuffer(devicePtr, tx_buf, strlen(tx_buf)); send_n_clr(devicePtr); return XST_SUCCESS; } int get_current_AP(PmodESP32 * devicePtr) { u8 tx[] = "AT+CWJAP?"; ESP32_SendBuffer(devicePtr, tx, strlen(tx)); send_n_clr(devicePtr); return XST_SUCCESS; } int set_current_AP(PmodESP32 * devicePtr, char * ssid, char * pwd, char * bssid) { u8 tx_buf[100]; sprintf(tx_buf, "AT+CWJAP=\"%s\",\"%s\"", ssid, pwd); if(bssid != NULL) { int cursor = strlen(tx_buf); sprintf(tx_buf + cursor, ",\"%s\""); } ESP32_SendBuffer(devicePtr, tx_buf, strlen(tx_buf)); sendNLCR(devicePtr); return XST_SUCCESS; } int list_available_APs(PmodESP32 * devicePtr, char * ssid) { u8 tx_buf[100]; sprintf(tx_buf, "AT+CWLAP"); if(ssid != NULL) { int cursor = strlen(tx_buf); sprintf(tx_buf + cursor, "=\"%s\"", ssid); } ESP32_SendBuffer(devicePtr, tx_buf, strlen(tx_buf)); sendNLCR(devicePtr); return XST_SUCCESS; } ESP32.c ESP32.h PmodESP32.c PmodESP32.h
  20. Hi, I have a question about Waveforms 3 API relevant to the oversampling functionality implemented in Analog Discovery 2. Recently, I am trying to implement the oversampling functionality for my custom-coded software (written in C#) using Waveforms 3 APIs (3.12.2). Based on the reference manual in the SDK, I think that the relevant APIs are “FDwfAnalogInAcquisitionModeSet”, “FDwfAnalogInSamplingDelaySet”, and/or “FDwfAnalogInTriggerPositionSet”. I also found the (seemingly) relevant constants for the first function as follows: “acqmodeOvers = 4” or “acqmodeSingle1 = 5” in “dwf.cs” and “dwf.h”. I am now wondering if acqmodeOvers = 4 should be used for the FDwfAnalogInAcquisitionModeSet function; and the FDwfAnalogInSamplingDelaySet is the function (not FDwfAnalogInTriggerPositionSet). I am afraid that I do not understand what the “sampling source” exactly does in the FDwfAnalogInSamplingDelaySet, DwfAnalogInSamplingSlopeSet, and FDwfAnalogInSamplingSourceSet functions. If anyone can tell me the detail (or indicate some documentation), I appreciate it! Thank you in advance, Yasuo
  21. Is it possible to control the power supply and set the voltage of the positive and negative respectively? The aquisition toolbox of matlab (2019a) doesn't allow the possibility of controlling the power supply. The closets solution seems to be to use a h-file library from the SDK (see below). However the header of the h-file (dwf.h) says "This spans all 4 main instruments supported by the WaveForms system: Analog In, Analog Out, Analog I/O, and Digital I/O", the text doesn't leave any information about that the supply can be controlles as well. Further, looking through the functions in the h-file, it doesn't seem to be possible either - or have I missed a line? So the questions remains: how to control the power supply of the analog discovery 2? /Henrik Link to discription regarding using h-files from Matlab:
  22. Hello, I am working through some of the examples for the Arty A7 device. The device seems to come pre-loaded with firmware, some simple reference design that makes use of UART, LED's and pushbuttons. Is there some project I can download to reproduce this reference design? I am planning to overwrite this in the future, but I also wanted to have a copy. Thanks
  23. hey there I am a beginner to zynq. I have bought a zybo board. I am using vivado version 2015.4. I followed the below link to add zybo board file to vivado: then I this tutorial: but it did not work. in this tutorial says: but when I select Hello world demo, I see the below attached image. it says that could you please tell me what I should do? thanks in advance.
  24. Hello, I am having troubles setting a constant voltage level for a tristate digital out pin on the Digital Discovery using the SDK. I can easily set a constant voltage level for a push-pull configuration using the below code, but this does not work when the OutType is set to tristate. dwf.FDwfDigitalOutTypeSet(hdwf, c_int(1), c_int(0)) dwf.FDwfDigitalOutCounterInitSet(hdwf, c_int(1), c_int(0), c_int(0)) dwf.FDwfDigitalOutCounterSet(hdwf, c_int(1), c_int(0), c_int(0)) Any suggestion on how to implement this for the tristate case?