All Projects → Chatanga → Girinoscope

Chatanga / Girinoscope

Licence: Apache-2.0 license
A simple Java graphical user interface for Girino, a Fast Arduino Oscilloscope.

Programming Languages

java
68154 projects - #9 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to Girinoscope

wavebin
∿ Oscilloscope waveform capture viewer and converter.
Stars: ✭ 31 (-35.42%)
Mutual labels:  oscilloscope
Hantek6022API
Hantek 6022BE Python API for Windows and Linux.
Stars: ✭ 44 (-8.33%)
Mutual labels:  oscilloscope
ollie
Voice control for digital oscilloscopes using Snips
Stars: ✭ 39 (-18.75%)
Mutual labels:  oscilloscope
SidWizPlus
Oscilloscope view audio renderer originally based on SidWiz
Stars: ✭ 94 (+95.83%)
Mutual labels:  oscilloscope
FT2232ImageOutput
Drawing images on oscilloscope using ft2232hc chip
Stars: ✭ 29 (-39.58%)
Mutual labels:  oscilloscope
vcvmods
Plugins for VCV Rack. Designed for Oscilloscope Music
Stars: ✭ 20 (-58.33%)
Mutual labels:  oscilloscope
tiny scope
Tiny Scope for Arduino
Stars: ✭ 34 (-29.17%)
Mutual labels:  oscilloscope
websynth
Web Synthesizer From Space
Stars: ✭ 16 (-66.67%)
Mutual labels:  oscilloscope
Esp32 oscilloscope
ESP32 oscilloscope - see the signals through Web browser the way ESP32 sees them
Stars: ✭ 113 (+135.42%)
Mutual labels:  oscilloscope
picosdk-c-examples
A set of C/C++ examples for PicoScope® oscilloscope and PicoLog® data logger products.
Stars: ✭ 37 (-22.92%)
Mutual labels:  oscilloscope
oscilloscope
A Flutter package that can display an Oscilloscope type graphical display
Stars: ✭ 17 (-64.58%)
Mutual labels:  oscilloscope
ScopeGUI
虚拟示波器 GUI for https://github.com/shuai132/ScopeMCU
Stars: ✭ 46 (-4.17%)
Mutual labels:  oscilloscope
osci-render
〰📺🔊 Software for making music by drawing objects on an oscilloscope using audio.
Stars: ✭ 135 (+181.25%)
Mutual labels:  oscilloscope
oscilloscope.js
A small javascript plugin to create an oscilloscope of an audio-context
Stars: ✭ 28 (-41.67%)
Mutual labels:  oscilloscope
oscilloscoper
Creates oscilloscope videos from WAV files
Stars: ✭ 23 (-52.08%)
Mutual labels:  oscilloscope
music visualizer
Shader viewer / music visualizer for Windows and Linux
Stars: ✭ 137 (+185.42%)
Mutual labels:  oscilloscope
audio-oscilloscope
Audio oscilloscope in canvas.
Stars: ✭ 28 (-41.67%)
Mutual labels:  oscilloscope
webaudio-oscilloscope
A highly customizable oscilloscope for Web Audio 🔈 🎤
Stars: ✭ 57 (+18.75%)
Mutual labels:  oscilloscope
ScopeMCU
虚拟示波器 MCU端
Stars: ✭ 59 (+22.92%)
Mutual labels:  oscilloscope
MiniGBS
Small .gbs chiptune player for Linux
Stars: ✭ 15 (-68.75%)
Mutual labels:  oscilloscope

Girinoscope

A simple graphical user interface for Girino, a Fast Arduino Oscilloscope. This application is meant to be used with the Girino device you will have built by following the instructable made by Caffeinomane.

Screen capture

Usage

Since this little application is intimately bound to Girino, the various settings provided by Girinoscope are not detailled here. If you have already built your own Girino and studied the firmware, you should already be familiar with them.

Wait duration parameter

The Arduino code provided in the Girino Instructable doesn't handle very well the wait duration parameter that you can set using the vertical green rule (the horizontal orange rule is for the threshold to trigger the acquisition). There is a small bug when changing the value through the serial interface which can easily be solved by applying the following patch manually:

Girino.h, line 41:

// Replaced 3 by 4 since the wait duration range is [0, 1280[.
#define COMBUFFERSIZE   4   // Size of buffer for incoming numbers

Girino.ino, line 224:

// Added a necessary x2 factor since we read 16 bits now.
delay(COMMANDDELAY * 2);

Girino.ino, line 229:

// Replaced 'uint8' by 'uint16' for the same reason.
uint16_t newT = atoi( commandBuffer );

With this simple correction, you should now be able to change the wait duration without problem. However, remember that this duration is the time spent (or, more exactly, the number of data samples measured) by Girino after the trigger. Per instance, a wait duration of 580 gives you 1280 - 580 data measures before the trigger and 580 after. If this trigger occurs too early, you will not see much from the past. In fact, since Girino resets its data buffer on each acquisition, you will mostly get zeros. The screen captures in the doc folder show some cases of such missing data (since the observed signals are periodic, Girino can’t catch more than a period before a trigger occurs).

Prescaler parameter

The prescaler parameter also suffers some limitations signaled by the UI using the following colors:

  • black if it should work without problem,
  • orange if it won’t work without optimizing the Girino code,
  • red if it won’t work at all (at least, it never did at home).

The code optimization consists in applying the advices given by womai in the Girino Instructable.

A bit of warning

The Girinoscope is not an oscilloscope. An Arduino (that is an ATmega128) is pushed to its limits with the firmware provided by the instructable. It spends all its cycles capturing a signal and, once a frame is captured, simply sends it on the serial line without being able to do anything else. That’s why you can’t use a Girino device to continously acquire and display a signal. This system can only capture a sequence of discontinuous short frames of the signal. That’s also the reason why there is no way to disable the trigger mechanism.

Installation

From the Snap Store

Warning: This Snap has some issues.

Get it from the Snap Store

From GitHub

Just copy the latest release somewhere and launch the application by a simple double-click on the JAR (provided the JAR has been given execution permissions). In case your system doesn’t know how to handle a JAR, you can launch it through a more explicit java -jar Girinoscope-*-dist.jar Obviously, since this is a Java application, you need a JRE 1.8 or higher.

From source

You just need a JDK 1.8 or higher and Maven 3.3.9 or higher. Once these tools installed, a simple mvn clean package at the root of this project will do the job. On success, you can run the application by issuing a mvn exec:java. Of course, you can also launch the application without Maven using a java -jar target/Girinoscope-*-dist.jar.

Troubleshooting

A serial port is detected but cannot be opened.

On Linux (Ubuntu), you need to be a member of the dialout group (a sudo usermod -a -G dialout $USER should do the trick). Note that on other distributions, the group(s) involved could be different. In addition, if you have installed the Girinoscope from the Snap Store, there are additional steps to follow.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].