Search the Community

Showing results for tags 'analog discovery 2'.

  • 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. Hey, @attila and anyone who can help me. I'm using Analog Discovery 2 to perform data acquisition through the two Oscilloscope channels and the 16 digital channels, using the and codes available in the SDK as a base. When executing the code most of the time I correctly get the number of samples I want according to the sampling rate and time, being the same for both digital and analog channels. In the code, I check the acquisition status and the program only exits the acquisition when the status of both (analog and digital) is completed. However, there are cases in which the acquisition is terminated, but there is a divergence between the number of samples obtained for analog and digital reading. Is this the correct and expected behavior? How should I go about solving this problem? Thanks for the help. For the tests I used the default acquisition configuration. As well as configuration 8. Below are some results: For the first setup: 1) cSamples Analog: 2000000 | cSamples Digital: 1967193 NO LOST ANALOG SAMPLES! Corrupted Analogs: 2210 NO LOST DIGITAL SAMPLES! Corrupted Digital: 4559 2) cSamples Analog: 12000000 | cSamples Digital: 11999912 NO LOST ANALOG SAMPLES! NOT CORRUPT ANALOG SAMPLES! NO LOST DIGITAL SAMPLES! NOT CORRUPT DIGITAL SAMPLES! 3) cSamples Analog: 18000000| cSamples Digital: 18000000 NO LOST ANALOG SAMPLES! NOT CORRUPT ANALOG SAMPLES! NO LOST DIGITAL SAMPLES! NOT CORRUPT DIGITAL SAMPLES! 4) cSamples Analog : 17991808 | cSamples Digital : 17987713 NO LOST ANALOG SAMPLES! Corrupted Analogs: 1074 NO LOST DIGITAL SAMPLES! NOT CORRUPT DIGITAL SAMPLES! 5) cSamples Analog : 17991808 | cSamples Digital : 17991809 NO LOST ANALOG SAMPLES! Corrupted Analogs: 120 NO LOST DIGITAL SAMPLES! NOT CORRUPT DIGITAL SAMPLES! 6) cSamples Analog : 35901696 | cSamples Digital : 35897601 NO LOST ANALOG SAMPLES! Corrupted Analogs: 10187 NO LOST DIGITAL SAMPLES! NOT CORRUPT DIGITAL SAMPLES! For configuration 8: 1) cSamples Analog : 36000000 | cSamples Digital : 36000000 NO LOST ANALOG SAMPLES! NOT CORRUPT ANALOG SAMPLES! NO LOST DIGITAL SAMPLES! NOT CORRUPT DIGITAL SAMPLES! 2) cSamples Analog : 4000000| cSamples Digital : 3999984 NO LOST ANALOG SAMPLES! NOT CORRUPT ANALOG SAMPLES! NO LOST DIGITAL SAMPLES! NOT CORRUPT DIGITAL SAMPLES! 3) cSamples Analog : 71860736 | cSamples Digital : 72000000 NO LOST ANALOG SAMPLES! NOT CORRUPT ANALOG SAMPLES! NO LOST DIGITAL SAMPLES! NOT CORRUPT DIGITAL SAMPLES! 4) cSamples Analog : 36000000 | cSamples Digital : 36000000 NO LOST ANALOG SAMPLES! NOT CORRUPT ANALOG SAMPLES! NO LOST DIGITAL SAMPLES! Corrupted Digital : 500 5) cSamples Analog : 71860736 | cSamples Digital : 72000000 NO LOST ANALOG SAMPLES! NOT CORRUPT ANALOG SAMPLES! NO LOST DIGITAL SAMPLES! NOT CORRUPT DIGITAL SAMPLES! 6) cSamples Analog : 71967232 | cSamples Digital : 72000000 NO LOST ANALOG SAMPLES! NOT CORRUPT ANALOG SAMPLES! NO LOST DIGITAL SAMPLES! NOT CORRUPT DIGITAL SAMPLES! 7) cSamples Analog : 71983616 | cSamples Digital : 72000000 NO LOST ANALOG SAMPLES! NOT CORRUPT ANALOG SAMPLES! NO LOST DIGITAL SAMPLES! Corrupted Digital : 660 8) cSamples Analog: 3967232 | cSamples Digital: 4000000 NO LOST ANALOG SAMPLES! Corrupted Analogs: 9166 NO LOST DIGITAL SAMPLES! Corrupted Digital : 9716
  2. Hi, I'm using Analog Discovery 2 to perform data acquisition through the two channels of the Oscilloscope, using the code available in the SDK as a base. However, when the sampling frequency is greater than 600k Hz, samples are always lost and corrupted. For sampling periods longer than 120 seconds the losses are increased. Writing to a file takes almost the same time as acquisition, which makes the program uninteresting for the application I need. To minimize the effects of such a delay, I use a Thread that writes to file 'in parallel' with acquisition. With this, the problem of delay in writing to the file is satisfactorily minimized. However, the problem regarding corruptions and losses is not solved. The example program does not present any solution to this problem. It only requests that the sampling frequency be reduced, which is not satisfactory. After all, Analog Discovery 2 supports frequencies higher than those I want to use. Is there any implementation better suited to mitigate such an error? Thank you in advance for your help.
  3. Hello together, I've got a question about the Analog Discovery 2: What is the maximum output current of Wavegen channels W1 and W2 to ground? Background: I want to connect an LED (in series with a 220 ohm resistor) to a sinusoidal signal of 1Hz (Offset: 2.5V, Amplitude: 2.5V). If I now display the voltage on the oscilloscope, the curve is cut off at around 4.6V. I believe that the AD2 cannot provide the necessary current from 4.6V. Best regards, Johannes Weiß
  4. I use WaveForms 3.17.18 on Windows 11 with Analog Discovery 2. The wave generator output (W2) is directly connected to scope input CH1. W2 is set to 123.4567 Hz Sine wave with 500 mV amplitude. I set the Scope to 1kHz and its rage to 200mV/div. I use the built-in FFT in the range of 120 - 130 Hz with the Peak(V) setting. It normally looks good but periodically I get a strange reading like this: I'm not sure what is happening here, could you help me find out? I also made a screencap of this and uploaded here:
  5. I have just installed Windows 11 ARM64 on my Raspberry Pi 4. It works great, but WaveForms seems to be not able to start. After a successful installation I tried to run WaveForms beta v3.17.17 64-bit, and I got the following error: "The code execution cannot proceed because VCRUNTIME140.dll was not found. Reinstalling the program may fix this problem." Can I do something differently or is ARM64 Windows simply not supported (yet)?
  6. Hi Analog Discovery 2 with impedance adapter. I am trying to use the digital I/O (as output) that are not used by the impedance adapter 0-3 and 8-11. I mainly need 4 to control a front-end multiplexer for the impedance adapter. The adapter use I/O 4-7 and 12-15 as output. As soon the Impedance measure is triggered, these I/O goes to zero. Is there a way to control them or I need to use a second Discovery 2 to control the multiplexer and found some way to operate them in sync? Thanks in advance for any suggestions.
  7. Hi With the waveforms tool is it possible using python scripting in the Waveforms platform to do the following ?? Use the Digilent Analogue discovery 2 - Attach a device like a PMOD device eg accelerometer using the Analogue discovery 2 ability to chat SPI & IC2 - pmod DEVICES SUPPORT 12-pin Pmod connector with SPI interface and 2×4-pin I²C interface - Then using the read information from the PMOD device treat it like an extra oscilloscope channel . Either as a Analog channel or Digital channel depending on the the signal type acquired from the PMOD device. This is possible with Labview but that would also require a lot of code writing. If this is possible this is outstanding feature when considering all the available PMOD devices available from the list This would be a real product enhancement for Digilent and the Analog Discovery and help sell the AD2 in to many new places . Best wishes Simon
  8. I am trying to use the power supply and I keepy getting this message for V+. V- works just fine by itself. I have tried: reconnecting the Analog Discover 2 restarting my laptop disconnecting every cable and running the AD2 by itself connecting the auxillary supply Any help would be greatly appreciated!
  9. If I configure the SPI with mode 0 (polarity=0 and phase=0) and LSB in WaveForms SDK in the Digital Discovery or Analog Discovery 2, and I send the byte 163=0xA3=b10100011; I would see the following: Is it guaranteed that when there is a falling edge of SCLK, the MOSI takes the value just before the transition (the SCLK edge)? What I mean is; is the following image accurate:
  10. 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.
  11. I have a device that has a single 16-bits SPI shift register (for both transmissions and receptions). It responds to falling edges of SCLK. The input of the shift register is connected to MOSI and the output to MISO, as the following figure. As the MOSI signal is input to the first flip-flop of the shift register, it should remain stable (not change) during a falling edge of SCLK, while MISO changes its value during a falling edge of SCLK. This way, MISO and MOSI signals are not synchronized. I want to communicate with this device using WaveForms SDK. Is there a way to configure the SPI communication correctly? With this I mean: is there a way of generating the SCLK and MOSI signals as shown in the figure above, and sample the MISO data in each rising edge of the SCLK? I suspect functions FDwfDigitalSpiRead16 and FDwfDigitalSpiWrite16 assume MISO and MOSI signals are synchronized; so no SPI polarity and phase configuration would work correctly.
  12. Are there any differences between Python and C++ version of WaveForms SDK API functions with respect to execution time of the functions?
  13. I'm following these instructions: I installed Digilent Waveforms and the Labview Package Manager (VIPM) and I get to the instructions to double click on Digilent Waveforms VI to install it. It won't install and I get an error 8 which I found information on here: I've tried the suggestion at the above link to allow to run as administrator (doesn't actually say that in the menu options, but I shared the folder). I also tried running it as administrator and I get the same error 8. So I'm assuming it's a permission error. I was able to install the AD2 Toolkit through VIPM. Here's some info about my system: WIndows 10 Waveforms 3.14.3 (64 bit) installed Labview 20.0.1 (64 bit) VIPM installed AD2 Toolkit installed Analog Discovery 2 is recognized in Waveforms Any suggestions? Thanks!
  14. Is there any way to program an interrupt when a digital input pin goes high in WaveForms SDK with Analog Discovery 2 or Digital Discovery? I want to write a code (using WaveForms SDK), with which I wait for a digital input pin to go high. After the pin goes high, I want to continue with the program. Something like the following code: # Some code while (not digitalInputPinIsHigh()): continue # Continue with the program The problem is that the pin's output is a pulse that is only high for 30 μs, so if I continuously check the digital input pin until it goes high, I think I can miss the pulse. Is there a way to program an interrupt (some code/function that is executed when the pin goes high)? Something like the following code: def ISR(): digitalInputPulseArrived = True # Some code digitalInputPulseArrived = False while (not digitalInputPulseArrived): continue # Continue with the program
  15. I want to do the following with WaveForms SDK: communicate through 1.8 V SPI read 2 digital 1.8 V inputs generate a digital 1.8 V output generate a digital clock of 32768 Hz (low level 0 V and high level 1.8 V) Is this possible with a Digital Discovery or with an Analog Discovery 2 (or both)? I wanted to use an Analog Discovery 2, but I think I cannot set the digital voltage to 1.8 V (it is always 3.3 V). On the other hand, I do not know if a Digital Discovery does the trick, since: (Source: This means that I cannot communicate through 1.8 V SPI and read digital inputs/write digital outputs; am I right?
  16. Hi guys! First of all I want to say that I love my AD2 and all the support it gets from Digilent and the community! This little device helped me to conduct so many fascinating experiments that I could not have done without it. I learned a lot during the process and I consider myself an absolute fanboy ? Having said that, I collected a few feature requests (or rather wishes) over the last year that I would love to see in its next version. They are ordered by my personal priorities. Small (ideally Raspberry Pi model B-like) form factor Much bigger scope samples buffer Hardware accelerated built-in FFT (+API to get those) CTIA&OMTP microphone jack optionally routed to one of the scopes USB-C 3.0+ input with voltage readback (to support battery operation better) Scope up to 6 GHz (to measure WiFi, Bluetooth, GSM/5G signals) A few programmable onboard RGB LEDs (Built-in) impedance adapter with auto-ranging USB-C output with voltage/current/power consumption readback and PD (Power Delivery) support 2000+ mA power output Wavegen with built-in AM and FM support Script offloading and execution on AD On the software side I have big respect for @attila, who was always ready to answer my questions and even implement my feature request quickly. WaveForms is truly a fantastic piece of software! The only thing I would suggest is to hire a good UX-designer who could help the developer(s) to make a more intuitive UI and a better user experience overall. I'm following the new AD Pro lineup, but I think I'm not the target audience for them, I wouldn't buy such a physically big device.
  17. We're excited about using the AD2 for a whole bunch of courses in our college as we teach online for the foreseeable future. One useful feature would be if we could get the raw A to D data from the scope channels so we can use them in LabVIEW. At this point, niVB_MSO_ReadAnalogDigitalU64 provides the voltages, all cleaned up, instead. Is there another dwf that provides the raw data, or could this feature be added to the next revision? At this point, I'm taking the voltage and converting it back to a step count using the step size, but we'd be just a bit more accurate if we had the raw data.
  18. Hi I'm a happy owner of an Analog Discovery 2. I bought it mainly to do frequency response measurements on power supplies with the Network function. It happens that the dynamic range isn't always sufficient so I would like to design a new BNC connector board with a programmable gain stage in the same fashion as the Impedance Analyzer for Analog Discovery board is connected and controlled via the GPIO. Is it possible within the Waveform software to include logic that will set the gpio pins (change the gain) depending on the previously measured signal level without having to write a new Network function equivalent? If not is there something in the pipeline for a future software version? Regards Joachim
  19. I currently have a Raspberry Pi 4B with Waveforms installed connected to a Digilent Analog Discovery 2. The device works as intended, and I have a VNC connection set up so that I can remotely use it. The Waveforms software itself has a weird feature where the keyboard seems to be mapped incorrectly. For example, the key '1' returns '9', '2' returns '0', etc... I have used a web browser and a terminal on the RPi and neither had the same feature. Any advice?
  20. I am a hobbyist, new to oscilloscopes. I recently purchased the Analog Discovery 2, the BNC Adapter and the BNC Oscilloscope 1X/10X Probe pair. I've read this post and this post, and followed this video on calibration, but, I'm not sure the AD2 and/or the probes are measuring properly or not. I cannot get square off the signals. The screenshots indicate the maximum I am able to deflect the signal when rotating the screw within the probes. From my understanding, rotating the screws in the probes should make the signals become square. Here's other information which may be indiscernible in the attachments, which may or may not be relevant (cuz I'm a noob). Both probes have the 1X/10X switch set to 10X The probes are both clipped to the W1 pin on the BNC Adapter board Both probes have their ground clip connected to one (and the same) of the flywire ground pins Both probes are set to DC Coupling on the adapter board JP4 and JP5 on the adapter board are set to 50 Ohm, though I don't think that matters because I'm not actually using the Waveform connectors on the adapter board In the screenshots, the channels are configured for "Attenuation: 1X" within the Waveforms software, but, a similar non-squareness occurs when set to "10 X" I'm using Waveforms 3.12.2 64-bit Qt5.6.3 on Ubuntu 18.04.4 The AD2 is connected to a USB3 port, directly attached to the computer (no USB hub) Any advice and/or guidance would be greatly appreciated, especially considering I may have missed something that would be obvious to an advanced user.
  21. Hi, I am looking for an easy way to implement an i2c negative tester with analog discovery 2. The intention is to corrupt i2c telegramms, e.g. pull clock line low, to validate the handling of the affected microcontrollers. Therefore it is possible to analyse the clock and data lines and trigger on specific content. Does anybody already implemented and published it? Best regards Steffen
  22. I am trying to find the script commands to access the Spectrum Analyzer in the Analog Discovery 2. I would like to specifically access the THD function to read a series of values at different frequencies (using the Wavegen), plot them and save them to a file. I am generally familiar with the use of scripts and have made them work on the scope, wavegen, etc. but cannot seem to find the commands to access the Spectrum Analyzer in Waveforms 2015. I have also used the debug function as well as the plot function so what I need are the specific access routines for the spectrum analyzer and its subfunctions (like THD, SNR, etc.)
  23. Not sure if this is the correct thread, just made the account to post this since I cannot find anyone having a similar issue. So I am trying to install Waveforms. I am running a 64 bit operating system with Windows 10. Basically everything seems fine until after install. Any time I try and run Waveforms it doesnt run and I get an error message that reads exactly as: "The code cannot proceed because VCRUNTIME140.dll was not found. Reinstalling the program may fix this problem." Issue is I have tried un-installing and re-installing around four times now, including just re-installing without uninstalling the original download. I found a thread on Digilent that had some .exe's for repairing/installing Visual C++ and I have tried those to no avail. This system error shows up three times as well, so I believe the program is trying to launch and is missing some kind of pre-requisite software but from what I can see I have everything. I am sure its a 64 bit operating system, I am sure its Windows 10, and I know that the AD2 is not the problem, as it is not plugged in and it was working fine on my buddies laptop. Please help, I need this to work on my Senior Project during the quarantine and having these installation problems has put me behind, does anyone know where I can find this .dll and where I would need to place it for the software to work properly? Cheers, Eric Bettencourt
  24. Hello, I am building an SPI proof of concept for the Analog Discovery 2 in LabVIEW and I am unable to get the entire thing working, despite other successful LabVIEW projects that use the Analog Discovery 2. The issue I am having is that I am capable of generating an SPI message output where the AD2 is the master, but I am unable to get the expected response in the Rx array. The pinout is the clock is on pin 2, the chip select is on pin 1, the MOSI_SISO is on pin 4 and these three outputs are connected to an oscilloscope for observation. The MISO is on pin 7 and is connected to a pullup resistor to 3.3V on a supply separate from the AD2. I perform the following function calls in the following order after opening the AD2 and enabling the internal AD2 power supplies: DigitalSpiReset(hdwf), DigitalSpiClockSet(hdwf, 2), DigitalSpiDataSet(hdwf, 0, 4), DigitalSpiDataSet(hdwf, 1, 7), DigitalSpiSelect(hdwf, 1, 1), DigitalSpiFrequencySet(hdwf, 1000000), DigitalSpiModeSet(hdwf, 1), DigitalSpiOrderSet(hdwf, 1). I perform the following function calls in a while loop to continually send and receive a SPI message: DigitalSpiSelect(hdwf, 1, 0), DigitalSpiWriteRead(hdwf, 1, 8, Tx array, 2, RXarray, 2), DigitalSpiSelect(hdwf, 1, 1). If these functions worked as expected, I should get an Rx array back that has the values 0xFF for elements 0 and 1. Instead I get an Rx array back with 0 for elements 0 and 1. If I perform the exact same setup in waveforms, I can get the expected response with the exact same wiring setup. Please see the screenshot attached to this post. I am scratching my head on this one. I can achieve the expected results in Waveforms, so I know my hardware is working properly, but I cannot get them working in my own program. I don't know if I am missing an important SPI function call or what. Edit: I applied a scope probe to the MISO pin as well and the MISO pin is pulling down the input voltage as if it were an output. So my problem seems to be that the MISO line is not being correctly set as an input.