Oscilloscope | Simple Oscilloscope Simulator | Game Engine library
kandi X-RAY | Oscilloscope Summary
kandi X-RAY | Oscilloscope Summary
There is no installation required, simply start the jar file, which is available for download. A Java Runtime Environment (at least JRE 8) is required to run the oscilloscope.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Draw a text
- Get y orientation from p1 and p2
- Rotate this orientation
- Creates the text fragments
- Update screen buffer
- Draws a trace signal
- Update the screen buffer
- Computes the value of the sig function
- Update the screen buffer
- Checks if a trigger has a trigger in the given time interval
- Creates the menu for scaling
- Region drawable
- Calculate the value of the regression coefficient
- Sets the bounding box
- Creates the list of Magnify
- Draws a circle to the origin
- Sets the bounding box to be rounded
- Reads all characters up to the specified character
- Draws a polyline to the origin
- Draws a polygon to the origin
- Draws the polygon to the origin
- Draw text
- Sets up the generators
- Sets up the experimental parameters
- Sets up the components
- Creates a list of times
Oscilloscope Key Features
Oscilloscope Examples and Code Snippets
Community Discussions
Trending Discussions on Oscilloscope
QUESTION
I'm analyzing the bahaviour of a RLC circuit and I need to observe the voltage and current wave of the circuit but I cannot find a way to do this. I need something like an oscilloscope but the scope does not work with the elements i am working with. What can I do?
The link below is my circuit, I'm using Simscape/Foundation Library elements
...ANSWER
Answered 2021-May-10 at 20:03Simscape and Simulink has different domains. To be able to use each one in the other domain, you need to use Simulink-PS Converter or PS-Simulink converter.
In that example, you have voltage sensor in Simscape and Scope or display in Simulink. To be able to connect them use PS-Simulink Converter.
QUESTION
Disclaimer : I posted for the same issue (with a different point of view) here
I use a SPH0645 I2S microphone with a custom driver.
It seams properly recognized by alsa :
...ANSWER
Answered 2021-Apr-23 at 15:22I found the solution and posted it on my initial post on the nxp forum.
The error was in the driver :
QUESTION
I am currently working on a flutter app that will plot data from a BLE device in real-time on a line chart (where the data will be displayed in an oscilloscope style format). As a place holder for the live BLE data, I am using a timer callback to generate and plot a sine wave with the "charts_flutter" package. So far everything seems to be working. However, it seems like the chart rendering struggles to keep up when the update period is less than 500ms (for example, setting it to 200ms causes everything to freeze up). Before I start experimenting with different packages, I'd like to see if anyone has tips or suggestions to try to speed things up. It is possible that I'm just doing something wrong with state management etc. since I'm not that experienced with flutter. The code is pretty short so I've included both project files below. Thanks.
main.dart
...ANSWER
Answered 2021-Apr-19 at 03:20I came to the conclusion that "charts_flutter" was simply not intended for real-time data. I ended up writing my own oscilloscope widget by extending custom painter and it has no noticeable performance issues.
QUESTION
I've set up two STM32 Boards, one as SPI-master, the other one as slave. I write directly to registers without any framework. Master to slave communication is working perfectly. But the slave sends garbage sometimes.
I first tried interrupts, but the slave would always send garbage and often receive garbage. Now I implemented DMA. This is working way better, the slave now always receives correct data. But sending is still an issue.
If the transmission is 3 to 5 Bytes long the data from the slave is correct in 95% of all cases. If the transmission is longer then 5 bytes, then after the 4th or 5th byte there is just random byte foo. But the first 4 bytes are nearly (95%) always correct.
The signals are clean, I checked them with an oscilloscope. The data which the master receives shows up properly on MISO. So I guess the slave somehow writes garbage into the SPI DR, or the data register gets messed up. I know SPI slaves on non-FPGAs are tricky, but this really is unexpected...
Anyone can point me a direction? I'm desperate and thankful for any bit of advice.
This is the code
...ANSWER
Answered 2021-Mar-26 at 09:46So, I did it. It was a whole bunch of things. Also, my assumption in the question was wrong. My slave did not receive/send valid data.
The signals were shown as clean by the oscilloscope, but the scope itself was adding noise to the lines, that was not visible on the scope itself. Not measuring the lines helped.
I put 100 OHM resistors close to the MASTER pins. This was not working, out of desperation I put the resistors close to the slave instead. Suddenly I got valid data. (This has been the main culprit all along)
According to the comment of Ashley Miller, I implemented a circular buffer, where I always send a fixed length every time. So the slave knows exactly what to expect. This mitigated eventual errors that could be produced when switching off / resetting the DMA shortly after the transmission.
The UART tricked me also. When getting too much data at once ( as little as 20 or 30 bytes! ) my terminal program gliched and threw the bytes randomly around. So part of the problem was just that... I'm using GtkTerm for those who are interested.
The Clock mode CPOL= 0 and CPH = 0 doesn't work at all. I set both master and slave to the same setting and it just received garbage. If I loop back the master to itself (connect MISO to MOSI a.k.a. exclude the slave) then it works regardless of clock mode. This seems to stem from a timing issue, where the slave has to react too fast and can't handle even the slowest possible speed (approx. 100 kHz). I did not go into details on this.
I hope I could help someone with this.
QUESTION
I am trying to communicate with a LeCroy WaveRunner 640Zi oscilloscope from a Raspberry Pi, they are connected with a USB cable. I have already done this under Windows, but now I am not able to make it work in Linux.
If I run lsusb
I see this:
ANSWER
Answered 2021-Mar-04 at 17:59I managed to find a solution which I share for the sake of future generations to come. I had just to add a line to the file /etc/udev/rules.d/99-com.rules
with the content SUBSYSTEM=="usb", MODE="0666", GROUP="usbusers"
(or append this line in case the file already exists). This can be done first running
QUESTION
ANSWER
Answered 2021-Mar-02 at 13:02The scope you are using "Rigol DS1104Z" has different SCPI commands to the "Rigol DS1052E" in your example code.
The command ":WAV:POIN:MODE RAW" will work on the Rigol DS1052E but not on the Rigol DS1104Z
You can check if the instrument has an error by querying ":SYSTem:ERRor?"
QUESTION
I have a very simple example of a OpenGL ES program that I'm trying to get to run on RaspiOS Desktop (a.k.a. Raspbian) on Raspberry Pi 4.
My goal is very simple - to draw a red triangle in the center of the screen. However, the triangle comes out as white instead of red.
I've searched and tried everything and wasn't able to find any help. I'm very frustrated at this point because this was just supposed to be the first tutorial to introduce the world of OpenGL ES and I'm already stuck and can't continue with more complicated examples.
Anyway, here's the full example
...ANSWER
Answered 2021-Mar-01 at 14:17Nvm, turns out I'm an idiot.
This entire time it was a simple typo in buildShader()
function. Here's the fixed version of that function:
QUESTION
When using interrupts, any kind of digitalRead should be obsolete, or so i think. Let me explain my understanding of this to show my problem:
Say, a quadrature incremental rotary encoder (RE) is pulled up on both signal pins and is therefore idle HIGH. If i configure an interrupt service routine (ISR) on the falling edge on both pins and have the ISR for pin B do nothing more than set the flag "flag_B" to false (representing the logic state at the pin) and the ISR for pin A sets or resets a flag "flag_clockwise" depending on the state of flag_B during A's ISR, then i should get the right direction for every turning step, right? My only task is to then set the state of pin B to high again after the ISRs and my code should be ready for the next interrupt. But that doesn't work, with many random cases of the wrong direction being displayed or showing counter clockwise on the first half of the turning step when you can feel a little "bump" while turning the knob and then going clockwise on the second half, when the shaft has completed a single step, basically performing two opposite actions while only turning one step. Is my logic flawed? All signals are debounced in hardware and look like expected on the oscilloscope.
ISRs:
...ANSWER
Answered 2021-Feb-27 at 23:03Even if the pin is assigned as interrupt, you can still use digitalRead()
to determine the direction. For example:
QUESTION
Introduction
I have been working on writing my own bare metal code for a Raspberry PI as I build up my bare metal skills and learn about kernel mode operations. However, due to the complexity, amount of documentation errors, and missing/scattered info, it has been extremely difficult to finally bring up a custom kernel on the Raspberry PI. However, I finally got that working.
A very broad overview of what is happening in the bootstrap process
My kernel loads into 0x80000, sends all cores except core 0 into an infinite loop, sets up the Stack Pointer, and calls a C function. I can setup the GPIO pins and turn them on and off. Using some additional circuitry, I can drive LEDs and confirm that my code is executing.
The problem
However when it comes to the UART, I have hit a wall. I am using UART0 (PL011). As far as I can tell, the UART is not outputting, although I could be missing it on my scope since I only have an analog oscilloscope. The code gets stuck when outputting the string. I have determined through hours of reflashing my SD card with different YES/NO questions to my LEDs that it is stuck in an infinite loop waiting for the UART Transmit FIFO Full flag to clear. The UART only accepts 1 byte before becoming full. I can not figure out why it is not transmitting the data out. I am also not sure if I have correctly set my baud-rate, but I don't think that would cause the TX FIFO to stay filled.
Getting a foothold in the code
Here is my code. The execution begins at the very beginning of the binary. It is constructed by being linked with symbol "my_entry_pt" from assembly source "entry.s" in the linker script. That is where you will find the entry code. However, you probably only need to look at the last file which is the C code in "base.c". The rest is just bootstrapping up to that. Please disregard some comments/names which don't make sense. This is a port (of primarily the build infrastructure) from an earlier bare-metal project of mine. That project used a RISC-V development board which uses a memory mapped SPI flash to store the binary code of the program.:
[Makefile]
...ANSWER
Answered 2021-Feb-25 at 06:27My suggestion:
- flash your SD card to a rpi distribution to make sure the hardware is still working
- if the hardware is good, check the difference of your code with the in-kernel serial driver
QUESTION
I'm a little confused about the trigger voltage for rising-falling triggered interrupts. As my previous understanding, the trigger voltage should be Vih and Vil. But some one told me Vih and Vil is not for edge triggered interrupts. The thing is, when I observe the waveform with a Oscilloscope along with an interrupt counter from Keil, I did see the interrupt happened when the voltage did not reach the Vih(rising edge). I use 3.3V voltage. The signal is only 1V around and the interrupts was triggered. I checked the manual of STM32 and did not find the answer.
Could some one help?
Thanks,
...ANSWER
Answered 2021-Feb-03 at 18:21The levels are the same whether you are using an interrupt or polling.
VIH min is the minimum voltage that is guaranteed to be interpreted as a high, and VIL max is the maximum input that is guaranteed to be interpreted as a low.
Any voltage between these two levels could be interpreted either way.
As well as that, there isn't a single changeover voltage because the inputs have schmitt triggers with at least 200mV of hysteresis.
To guarantee to not trigger the rising edge you need to stay below VIL max, which at 3.3V is 1.155V.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install Oscilloscope
You can use Oscilloscope like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the Oscilloscope component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page