diff --git a/README.md b/README.md index ad42d9b..b482bf5 100644 --- a/README.md +++ b/README.md @@ -20,160 +20,8 @@ Utilizes: Features and Status: -------------------- - - Simple UI - - Devices - - [x] SoapySDR Device support (known working checked) - - [x] SoapySDRPlay for SDRPlay (Maintained by C.J.) - - [x] SoapyRTLSDR for RTL-SDR (Maintained by C.J.) - - [x] SoapyHackRF for HackRF - - [x] SoapyBladeRF for BladeRF - - [ ] SoapyUHD for Ettus USRP (untested) - - [x] SoapyRemote, use any SoapySDR Device via network (works on Pi) - - [ ] SoapyAirSpy (WIP by C.J.) - - [ ] SoapyAudio (WIP by C.J.) - - [x] SoapyOsmo for GrOsmoSDR devices - - [ ] OsmoSDR - - [ ] MiriSDR - - [ ] RFSpace - - [x] AirSpy - - Basic Features - - [x] Device Selection - - [x] Bandwidth - - [x] Color scheme - - [x] Load/Save session - - [x] Audio sample rate - - [x] Device PPM - - [x] Waterfall speed - - [x] Spectrum average speed - - [x] Gain Controls - - [ ] Bookmarks - - [ ] History - - [ ] Default preferences - - [ ] Audio defaults - - [x] Device defaults - - [ ] Run any device as rtl_tcp server and visualize control - - Neat Visuals - - [ ] 2D visuals - - [x] Y Scope - - [x] Spectrum - - [x] Waterfall - - [x] Add faint grid for sense of scale - - [x] Audio Spectrum - - [x] X/Y Scope - - [ ] Indicate outer spectrum edges when zoomed - - [ ] 3D visuals - - [ ] I/Q helix - - Demodulation: - - [ ] Basic modular expansion - - [x] Multiple demodulators per IQ stream - - [x] Audio device selection - - [x] Modes - - [x] FM - - [x] FM stereo - - [x] AM - - [x] LSB - - [x] USB - - [x] DSB - - [x] I/Q - - [x] Controls - - [x] Display Frequency and allow manual adjustments - - [x] Allow selection of demodulation type - - [x] Display separate zoomed-in view of current waterfall and spectrum, allow adjustments - - [x] Display signal level and allow squelch control - - [x] Display audio output selection - - [x] Volume control - - [x] Direct frequency input - - [x] Mute - - Basic Input Controls - - [x] Drag spectrum to change center frequency - - [x] Hold shift and click on waterfall to create a new demodulator - - [x] Clicking waterfall adds new demodulator when none visible - - [x] Drag center of demodulator on waterfall to change frequency - - [x] Drag edge of demodulator on waterfall to change bandwidth - - [x] Double-Click to move demodulator to frequency within it's current range - - [x] Hold alt and drag range on waterfall to set demodulator frequency + bandwidth - - [x] Hold alt+shift and drag range on waterfall for a new demodulator - - [x] Hover demodulator on waterfall and press 'space' to toggle stereo - - [x] Hover demodulator on waterfall and press 'd' or 'delete' to delete it - - [x] Keyboard arrows adjust frequency, shift for faster change - - [ ] Undo / Redo action - - I/Q Recording and playback - - [ ] Recording - - [ ] Record waterfall output to PNG file chunks of desired height - - [ ] Record I/Q input data - - [ ] Simultaneously record demod decimated I/Q and audio - - [ ] Playback - - Audio - - [ ] Recording - - Implement digital demodulation supported by liquid-dsp: (http://liquidsdr.org/doc/modem.html) - - [ ] Demodulator Lab - - [ ] Demodulator I/Q input filtering - - [ ] Audio output filtering - - [ ] Toggle current demodulator exclusively into "Lab" mode - - [ ] Additional visualizations for audio and I/Q stream - - [ ] Audio Spectrum - - [ ] Constellation / X-Y Scope - - [ ] Digital demodulation status and controls - - [ ] Demodulator AGC, Equalization controls - - [ ] Lock AGC and Equalization when digital lock obtained - - [ ] Digital output - - [ ] Output console - - [ ] Capture file (auto?) - - [ ] Network output - - [ ] Block device output - - [ ] Digital modes available to implement - - [ ] PSK - - [ ] DPSK - - [ ] ASK - - [ ] QAM - - [ ] APSK - - [ ] BPSK - - [ ] QPSK - - [ ] OOK - - [ ] SQAM - - [ ] Star Modem - - [ ] MFSK - - [ ] CPFSK - - Optimization - - [x] Eliminate large waterfall texture uploads - - [ ] Update visuals to OpenGL 3.x / OpenGL ES - - [x] Resolve constant refresh on visuals that don't change often - - [ ] Resolve all driver/platform vertical sync issues - - [x] Group and divide IQ data distribution workload instead of 100% distribution per instance - - -Advanced Goals and ideas: ------------------------- - - Design a plan for expansion via modules (dylib/dll/lua) - - Support shell-based stdin/stdout tools for direct output/playback to/from CLI audio processing apps (i.e. DSD on OSX) - - Update visuals to support OpenGL ES - - Basic demodulator filter(s) that can be enabled and tweaked visually - - Support multiple simultaneous device usage - * Categorize devices by antenna connections - * Allow locked frequencies to activate unused devices to continue demodulation on same antenna - - Integrate LUA - * Expose liquid-dsp functionality - * Scriptable liquid-dsp demodulation - * Scriptable digital demodulation output handlers - - Create block output devices on *nix? - - Create socket outputs? - - Visual outputs? - * Take control of additional devices and spawning new demodulators (i.e. trunkers) - * Script manager / live editor - * Provide scriptable liquid-dsp modulation for transceivers? - * Allow scripts to launch/run headless (no UI) - - "PVR" like mode with waterfall time shifting - - L/R and surround-sound balance settings for separating and listening to mono streams - - Add tool for converting decimated I/Q recording to video - - Select video features such as title/demodulation/scope/waterfall/etc. - - Render to video from GL frames->ffmpeg/mencoder /w demodulated audio - - Accessibility / Control - - USB/MIDI control surfaces - - Joystick / gamepad input - - Vibration / force-feeback - - Investigate compilation via emscripten using SoapyRemote for input - - Create web server+SoapyRemote bundle for embedded devices - - Use emscripten compiled CubicSDR via embedded web server + - Please see the issues on GitHub or visit https://github.com/cjcliffe/CubicSDR/wiki/CubicSDR-Roadmap-and-Ideas for more information. + - A Manual is in development at https://github.com/cjcliffe/CubicSDR/issues/248 if you would like to contribute. Target Platforms: ----------------