reddish

Members
  • Content Count

    38
  • Joined

  • Last visited

About reddish

  • Rank
    Frequent Visitor

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hi Atilla, Thanks for the clarification. Just to clear up one final thing about the relation between DigitalIO and DigitalOut device: If the DigitaIO "OutputEnable" is 0, and the DigitalIO "Output" is 1, what is then the state of the respective pin? Is it HighZ (irrespective of DigitalOut)?
  2. Hi, The Analog and Digital Discovery devices have multiple instruments that can drive the digital outputs: DigitalIO DigitalOut UART, SPI, I2C, CAN protocols What happens if multiple instruments are active simultaneously? Do some instruments have precedence over others? Best, Sidney
  3. The crystal provided is 12 MHz, as you say. While this is out of spec for the FPGA's PLLs (F_IN range: 19 to 800 MHz), it is within spec for the MMCMs (F_IN range: 10 to 800 MHz). I have successfully generated fast clocks (> 100 Mhz) on the CMOD modules using the provided crystal, without any issue. See Xilinx DS181, tables 37 and 38.
  4. that would be great, thank you.
  5. Hi, As the maintainer of pydwf I'd like to sync the Python binding to the C library as soon as possible after a stable libdwf release. To do that I'd like to know a few weeks in advance that a libdwf release is imminent, so I can start syncing to the latest beta version to make sure that I can incorporate all new functionality soon after the stable release. My question: - Is there a predictable release schedule, or is it a bit ad-hoc? From what I've been monitoring, it looks like a stable release comes out twice a year or something like that. - Is there a way for me to find out if
  6. Hello, Version 3.16.3 of the DWF library reports empty strings for the name and unit of node 5 of the ZynqMin channel on my ADP3450, using the FDwfAnalogIOChannelNodeName function. It also reports a value of 0 for the ANALOGIO enum using the FDwfAnalogIOChannelNodeInfo function, which is not a documented enum value. Looking at the similar Zynq and ZynqMax channels, I would have expected ("VccPAux", "V") and analogioVoltage, respectively.
  7. Hi all, I am happy to announce version 1.0 of pydwf, a comprehensive Python package for using Digilent Waveforms devices from Python. The pydwf package is fully open source and released under an MIT license. On GitHub: https://github.com/sidneycadot/pydwf On PyPI: https://pypi.org/project/pydwf/ On Read The Docs: https://pydwf.readthedocs.io/en/latest/ (HTML and PDF) The package works from Python 3.6 onwards, on any platform supported by Digilent (Windows, Linux, macOS). Install it using pip3 like this: $ pip3 install pydwf The next step would be t
  8. Hi @attila Thanks for the info on the Channel 3/4 output. Pretty interesting! I'll play around with it for a bit tomorrow. Can you tell me why it's slow? Different electronics, perhaps an opamp in the output stage? As to the undocumented functionality of the FDwfEnumConfigInfo -- interesting! I'll add it to my Python binding. You confirm that for the DD there should be 3 AIOs. Just to make sure we're in agreement -- that means that the FDwfEnumConfigInfo information returned for AnalogIOChannelCount is currently incorrect for both the AD2 and the DD, right?
  9. Okay thanks, that explains it.
  10. Hi, I've been toying with the DigitalUart API. The FDwfDigitalUartTxSet allows the setting of the number of stop bits. Its parameter is of type double, which makes sense; some (old) serial devices specify a non-integer number of stop bits, in particular 1.5 stop bits is something that you could come across in real life (well back in the 1970s anyway). However, I did some tests and this is not what at least the TX-side does. The number of TX-side stop-bits, i.e., the pause between the last data-bit and the next character's start bit seems to be equal to ceiling(stopbits). Which le
  11. Hi, I've been looking in some detail at the different configurations reported by the FDwfEnum... functions. Looking at the device enumerations of the two devices I have sitting on my desk, I spotted what I think is a small issue. First, some data as dumped by a script I wrote. These are the configuration numbers reported by my Analog Discovery 2, which reports 8 configurations: Configuration: 0 1 2 3 4 5 6 7 ---------------------- ------ ------ ------ ------ ------ ------ ------ ------ AnalogInChannelCoun
  12. Tar and feathers onto me for not checking the documentation! 😬 It works perfectly now. I think that the condition as stated in the documentation's formula is reversed to the actual behavior; if (power <= 0), the exponent is (100 / (100-power)), and (if power >= 0), the exponent is ((100+power) / 100). Raising the sine to a higher power will make the sine shrink horizontally; raising it to a small positive value will make it more block-like. I've attached a nice animated gif of the 9 regular waveforms and how they react to different symmetry settings to celebrate that I have the ent
  13. I am trying to figure out the precise behavior of all waveforms supported by the AnalogOut instrument so I can document them. In particular, I was curious about the way the symmetry setting influences the waveforms. Most of it I have figured out (see https://github.com/sidneycadot/pydwf/blob/master/source/pydwf-examples/analog_output_node_utilities.py), but the SinePower waveform is still a bit of a question mark. For positive values of symmetry, it transforms a regular sine function by raising it to the power (1 - symmetry / 100). However, for the SinePower waveform only, the symmetry v
  14. Awesome! Thanks a bunch for following up on this. It's a pity that 10 MHz input can't be made to work, it's sort of a de-facto standard in labs that deal with high-precision timing. But to have at least some ref-clock input option is already a big plus. As to the "clock capability" of pins, for me the concern is not delay, but jitter. Signals that feed into regular FPGA fabric rather than directly into the clock distribution network (as can be achieved with a clock-capable input) have to pass through CLBs, and their behavior introduces quite a bit of jitter, especially if they are sh
  15. @AndrewHolzer Cool that you appreciate it! In case you are anyone wants to see it in action, it's only a few commands away -- I have included it as a working example in my pydwf package: pip install pydwf python -m pydwf extract-examples cd pydwf-examples python SpinningGlobe.py This depends on Python 3. On the first run it will download a big file containing publicly available vector data of the Earth (the GSHHS dataset). Oh and you will also need a second scope (perhaps a second Analog Discovery, but I recommend an analog scope for the awesome retro look) to view the action