Aucune description

anfractuosity 7608db8176 Bump version il y a 1 an
.github 7f8318652e Create FUNDING.yml il y a 3 ans
docs bf9ebe0eac Spelling il y a 2 ans
icons 77ee1e9357 Play and pause icons il y a 2 ans
photos ba06c88ac7 Processing captures il y a 2 ans
scenes 79223c2f16 Make sure define is present il y a 1 an
screenshots b184cc95b1 Screenshots il y a 2 ans
README.md ba06c88ac7 Processing captures il y a 2 ans
application.fam 7608db8176 Bump version il y a 1 an
scope.c a451de06d7 Intial save support and docs il y a 2 ans
scope_10px.png e3ff8565e4 Initial scope app il y a 3 ans
scope_app_i.h a451de06d7 Intial save support and docs il y a 2 ans

README.md

flipperscope

To compile and install

cd flipperzero-firmware/applications_user
git clone https://github.com/anfractuosity/flipperscope.git
cd ..
./fbt DEBUG=1 VERBOSE=1 fap_scope
./fbt launch_app APPSRC=applications_user/flipperscope

Alternatively the binary can now be installed from https://lab.flipper.net/apps/flipperscope or the Flipper Mobile App.

Provide signal to pin 16/PC0, with a voltage ranging from 0V to 2.5V and ground to pin 18/GND.

Press the 'ok' button (button in the centre of joypad) to pause/unpause the waveform display.

Demo showing three different waveform types from a signal generator.

Also see Derek Jamison's demonstration of this app as well as other interesting projects.

Measurements

  • Measures frequency of waveform in hertz
  • Measures voltage: min, max, Vpp

Signal Generator

Flipper Zero running flipperscope

Rigol

Flipper Zero running flipperscope

Processing captures

You can use the following simple Python script, for processing the captured waveforms, from flipperscope.

import matplotlib.pyplot as plt
import numpy as np
import struct

fig, ax = plt.subplots()
data = open("Sine.dat", "rb").read()
y = [(float(x[0]) / 2500) * 2.5 for x in struct.iter_unpack("<H", data)]
x = np.arange(len(y))

ax.plot(x, y, label='Voltage')
ax.set_xlabel('Sample')
ax.set_ylabel('Voltage / V')
ax.set_title('ADC Voltage')
ax.set_ylim([0, 2.5])
ax.legend()
plt.show()

Captured waveform

To Do

  • Customisable input pin
  • Trigger type mode
  • FFT
  • ...

Inspiration