Save AGC values in cookie, shift-click to restore default values
Need an entirely new dx/tag label mechanism
Selection of label catagories to display, e.g. only show me Utilities or VOLMET
Jumps frequency to matching label
Next / previous
Only show matching labels while search box is open (reduces clutter)
Use info from public databases, e.g. shortwave broadcast schedules (EiBi)
Label category list should be editable in admin interface
Allow labels to be time-sensitive like the IBP special case is now
Why doesn't adding a newline escape to the tooltip using the DOM work?
Show labels from merged multiple sources:
Base list from software distribution
Updates from kiwisdr.com website
Edits from Kiwi admin
Labels from connecting user's cookie storage
.csv files from swskeds Yahoo Group
A mechanism for users to contribute to the kiwisdr.com update database
User customization of all keyboard shortcuts, mouse wheel assignment etc.
Need per-user customization applied to all Kiwis visited
Difficult because this would require centralized storage which is a headache
Above is because browser cookies and local storage are saved per-domain which in our case means per-KiwiSDR visited
Need user memories that can be uploaded/downloaded
Allow a user label list that can be uploaded/downloaded
Need a completely different UI for mobile devices
"select band" menu should remember last frequency visited in that band
Frequency "back" button
A/B, A=B VFO like Ham transceivers
"Hide" button for all control panels
Add synchronous AM demodulator
Make NBFM squelch mode work with other demod modes
Add an LMS carrier notch filter
Add various noise filtering algorithms
Allow custom passband store/recall e.g. for data modes with special requirements
Allow keypad frequency entry
Larger frequency separate from control panel
Display local time at Kiwi location and UTC
Display antenna information from the sdr.hu config field
Adjustable update speed
Allow colormap choices and adjustment
Auto-set min value based on noise floor somehow?
Add a tooltip showing dBm level under mouse cursor
Add "OV" indicator of ADC overflow
"OV" indicator needs to be based on a counter, not peak detect
Needs numeric dBm indication
Configurable peak-hold time?
Parse comma as decimal separator in frequency inout field
Parse comma as decimal separator in additional to period in all other fields
Per-user configuration option to select numeric separator used for output fields
Audio / waterfall issues
Sync waterfall to audio
Sync has implications for drawing delays when changing the waterfall
Minimize audio buffering delay
IBP label updates not currently sync'd to audio delay
IQ offset when passband straddles 0 Hz causing DSB-like demod in AM modes
Continue the great debate: "When I set a frequency/mode where should the passband go?"
Better support for mobile devices
Use popup control panels as an interim solution to a proper mobile interface?
Support gestures: pinch and tap/double-tap zooming etc.
iOS audio start button should be larger and in center of screen
Is there a workaround for white-line rendering bug on iOS Safari?
On iPad, rotating landscape to portrait doesn't resize frequency scale and waterfall properly
Chrome doesn't works very well. Lots of audio doubling
Report of audio stopping after 8-10 minutes (FF 49.0.2)
Report of connection lost if not active tab in Safari after 5 minutes
W10+FF: Shift-right-click brings up system menu (our contextmenu fix fails)
Report of Edge browser status info not updating on Surface Pro 3
Fix various known rendering differences between browsers
Try with more browser/OS combinations
We will never handle IE: PITA
Quickset-active keyboard shortcut shouldn't close active extension
Handle case of more than two labels per frequency better
Store customized passband in label
Highlight label when its occupied position is moused-over in the waterfall
"Doubled" set of labels sometimes appears when update is slow
Reported case of repeating number text on frequency scale
When adjusting passband round to 10 Hz values
Handle overlapping band segments better
Make scrollable area properly sized on large displays
Waterfall won't extend vertically beyond about 1200 pixels
Better colormap needed
Still a problem with wrong display after certain zoom and/or scrolling changes
(e.g. zoom-to-band when passband is offset, waterfall displays wrong panned history)
OSX/iOS: waterfall scrolling doesn't work on Safari and Chrome (Firefox okay)
Add update speed selection to lower bandwidth / CPU requirements?
Doesn't redraw when browser window resized
Large screens: spectrum doesn't appear same width as waterfall
Shouldn't delay updating because of new audio/WF sync changes
Add mode to show dBFS relative to ADC max signal level in addition to the current cal-offset adjusted dBm
When shifting waterfall first line sometimes has previous frequency data.
A loud signal will incorrectly cause a large spectrum peak which lakes a long time to decay
IIR averaging tends to "fill-in" displayed noise floor over time. Adjust coefficients?
Control panel (lower right)
Browser goes into hard loop when WF max/min values cross
Should be able to minimize control panel just like the others
Report of negative frequency step buttons sometimes not working (but positive ones okay)
Panels in general
Wider scrollbars on some browsers obscures panel close button
Make panels draggable?
Admin user interface
Display matrix of options for each receiver channel:
Upload bandwidth throttling scheme, e.g. max GB/month limit
Dedicated fixed-frequency (channel can't be tuned)
Reserved for experiments
Button to forcibly close the connection
Use monotonic clock not effected by NTP adjustments
Don't start server daemon until time has synchronized
Set time-of-day manually in case NTP not working
Show NTP running status and have a restart button
After restart, admin page should refresh
Allow a second logo (set by Kiwi owner) in header
Sense the upstream Github update repository instead of using hard-coded value
Allow shift-click to update band parameters just like labels
Add a "Users" tab where a user access list is maintained
Option to enable / disable server with associated reason displayed
Button to "kick" users off (close all active connections)
S-meter / Waterfall calibration offset
Frequency scale offset for transverter use, e.g. start scale at 430 MHz vs 0 Hz
Allow timezone selection so local time at Kiwi location can be displayed
Connection timeout (irrespective of inactivity)
Lockout reconnection attempts from same IP address in excess of some limit
Reception "lockout" of certain frequency ranges. More important when Kiwi is being used by a transverter
Add buttons to lookup grid and GPS location on web
"File picker" for uploading the background photo image
Option to set location field from live GPS solution
Automatically add parenthesis to GPS location if missing
Warn if GPS location is set to the default
Warn about the double-entry problem if numeric IP address used
Add buttons to lookup grid and GPS location on web
Allow a static IP address to be set manually in case no DHCP is available
"Backup to micro-SD card" button (i.e. create a "flasher" sd card)
The private/public channel scheme has drawbacks.
Channels requiring a password are always unavailable to the public when not in use privately which seems like a waste.
A better scheme might be to allow public use, but then "bump" people off when a request for private use comes along
"Check now" button on update tab hangs the server when there are active connections
Some reports of no out-of-the-box admin auto-login even on same subnet.
Add proper local net detection for IPv6 addresses
Make "log" tab work so e.g. error messages from sdr.hu can be seen
There is no independent mechanism yet to revert to a previous version if a bad update goes out (or a build fails)
Fix ITU region menu to actually change e.g. LW band definitions
Is there a better solution to the "double entry" problem on sdr.hu?
The way the code is currently written, a pending password entry request ties up a channel until the keepalive timeout
IQ data supplied to extensions should be GPS time-stamped
Develop new extensions
Signal strength strip chart
Fixed-period integrator used for finding weak periodic signals when period is known:
Alpha, NDBs, NCDXF/IARU IBP, QRSS, etc.
Time station time-code decoders
WWVB, including new phase modulation
DCF77, MSF, JJY, BPC, Beta, RBU, WWV/H, CHU
TDF (goes off-air 12/2016?)
Record (audio) IQ samples to a file
World map with day/night overlay and marker of current Kiwi
"What's up next" like priyom.org has for number station schedules
Chat? It's been suggested each Kiwi give a link to a single external chat site as with only 4 users per Kiwi an integrated chat doesn't make much sense
Control of KiwiSDR GPIO signals (e.g. for antenna switching)
FSK bit-analysis and decoding (source code example needed)
Morse/CW decoder (source code example needed)
CW Skimmer (unlikely to find source code example?)
PSK 31 decoder, including upload to PSKReporter.info (source code available)
DGPS decoder (source code example needed)
JT65 decoder (source code available)
General audio FFT with fully adjustable parameters
Long-period waterfall, used for finding e.g. daily phenomenon
Display GPS IQ and recovered nav data to help debug suspected problem
An extension should also be able to be a background process.
Like WSPR scanning in the background when there are free channels, etc.
Document extension development process
IQ data processing
User interface control
Add mode-specific PLL
Add log display
Add better protection against attempting IQ balance when a signal is present
Increased timing resolution (requires FPGA help because current audio IQ bandwidth is insufficient)
Add log display
Ability to work in the "background" without an active browser connection
The decode engine is based on an old version (by now) of WSPR. Need to diff against the latest one
to see if there have been improvements
Allocate limited decoding time more intelligently (e.g. ignore carriers)
Mode to auto-start when channels are not busy?
Since our filter bandwidth is less than 2.4 kHz does our reported S/N need to be adjusted?
Make all parameters like search bandwidth, passband bandwidth, etc. configurable
If the reporter call and/or grid admin parameters are unset the "upload spots" checkbox should be unchecked
Reporter calls with special characters (e.g. '/' as in 'ZL/KF6VO') don't display properly since we changed to using JSON
Since our filter bandwidth is less than 2.4 kHz does our reported S/N need to be adjusted? A user report says no.
Might be a memory leak. Reports of running overnight creating huge virtual memory use
Also a report of spot uploads failing after many hours of running
More strong-signal images than there should be. Resampling artifacts?
Display shows spectral leakage because FIR FFT has no input window.
Add one and hear what happens to the FIR convolution?
Display shows aliasing, maybe from improper CIC filtering, that normally goes unnoticed
because the audio passband is usually narrower than the entire audio channel bandwidth
Switching GRI from Eastern Russia to Anthorn leaves junk on right of display
Output of current audio-bandwidth IQ samples (formats: NetSDR, VITA 49 etc.)
Special mode that outputs IQ samples from single DDC running at the maximum bandwidth possible (this is how traditional SDRs operate)
Accept and generate the usual "rig control" commands.
Software code tour document
Files and directories
Configuration options and files
Cleanup API from its current evolutionary form (i.e. a bit of a mess)
Document Verilog build process for FPGA firmware
Vivado download and setup
Vivado intellectual property (IP) block settings
Reverse tunneling possible so don't need a port opened in user firewall?
Needs to be a solution without a central server proxying all the traffic.
To address the 4 channel limitation, allow additional users to "piggyback" on existing connections?
This should only require network output be duplicated to additional destinations which requires
modest additional resources.
Try Debian 8.5 on Beagle
sdr.hu registration updates can sometimes hang audio/waterfall
Comprehensive security review
Better isolate admin config parameters
Enforce password auth before processing commands
Replace AJAX with authenticated web sockets where possible
Use SSL/TLS to secure network traffic?
More checking against injection attacks
Run server under a non-privileged account. Figure out device access implications
Is there a problem with Costas loop stability with our version?
Add IQ sampler to help diagnose above
Using a minimum decimation allows the sample buffer to shrink saving BRAMs which are in short supply
Still possibly a problem where there is opposite sideband leakage
Still checking the fix for deadlock on SPI locking
May still be problems when github.com can't be reached during an update attempt
Still possibly a problem where audio starts emitting noise artifacts
Make a general cleanup pass on the code
Remove libconfig now that we're using JSON config files
Remove dead code leftover from development
Add way more comments
Re-check all copyright notices and licenses
Replace tabs with a standardized number of spaces (benefits github browsing)
Convert to using W3.CSS, and our extensions, everywhere
HTML "id=" vs "class=" standardizarion
Fix all the FIXMEs
Switch to using "#pragma once"
Compensate for the small difference between server and client audio rates
Server often starts too soon after boot causing nonsense uptime values
Figure out why compiling -O3 still doesn't work on some files
Run valgrind periodically to find memory problems
Will the current 9600 Hz audio bandwidth support external DRM demod?
Use a better keep-alive scheme that guarantees client hasn't really gone away
Find source of the "connection closed" message in the js console (doesn't seem to hurt anything)
.dts to define pmux settings for SPI pins for non-SPIDEV case on Debian 8.4 is broken?
Use % processing in .css and .js files to fix constants being repeated everywhere e.g. rx_photo_spacer_height=67
NCO updates due to small clock corrections may upset some phase tracking extensions?
Diff included packages for updates, e.g. mongoose web server
Full waterfall buffer transfers smash the SPI ping check. Never figured out why
A report of the "your audio output rate is not supported" error message, but for 44.1 kbps
which most certainly is supported
Kiwi server sometimes starts before Beagle WiFi has initialized
Try Seeed BBG WiFi (requires header extenders for board to fit)
Try GHI BBB WiFi as soon as they are available for purchase
Get back to finishing active antenna and bias tee design
Revisit bias tee enclosure choice
Active antenna output stage oscillates: move bypass caps
Bias tee voltage drop distribution wrong: measure current draw
Is series output inductor internal resistance okay?
Design in, and populate, notch trimmer caps but leave bulk caps unpopulated
Change bulk notch caps to 1206/10 for easier user installation
Document notch values and responses
Sweep out frequency response and choose default input network LPF
Try CAT5 balanced feed-line
Would changing SPI BRAM from 16kb -> 32kb help performance?
Do a proper stopband analysis of CIC/FIR filter combination. Is this why we see aliasing in some circumstances?
Fix remaining CIC droop of waterfall by scaling FFT output to compensate
Can actually do the same for the audio response since we're using an FFT-based FIR filter