Releases: DiSlord/NanoVNA-D
v1.2.40
VNA
- Added Enhanced Response calibration (but not compensate Port 2 impedance, due to memory limits)
- Separate e-dealay to edelay S11 and edelay s21
Change console command 'edelay [s11|s21] value'
edelay input apply to active trace channel
Disable edelay settings for calibration - Add Calibration standard LOAD R setting (allow add actual Load value)
- Use parabolic regression for calculate cable loss at marker position (Measure->Cable option)
UI and MCU
- Pause sweep on screenshot made (include filename input)
- Add EMPTY keypad button type
- Add RLE8 compression for capture command (more faster screenshot transfer on slow connections)
- Increase displayed LOGMAG value precision
- Config now at last flash sector
- Added USB UID option (in expert config, allows you to connect more than 1 Nano to the CPU and reserve a device port for it)
- Run pause command in console thread
- Allow break sweep for any command (not only for sweep thread commands)
- Add ST7789V lcd support (for H version MS / SM / ST auto detect used LCD type: ili9341 or st7789v and work)
- Lots of code refactoring (more unifications for various platforms)
v1.2.29
- Add frequency step input (allow set one point step value)
- Add support TIFF screenshot format (packed by RLE compression, see Image Format setting in SD CARD menu)
- Add Top / Bottom input for scale / ref
- Add S21 smith R+L/C series and shunt marker format (Format S21->Smith->... submenu)
- Add VF calculation in Measure Cable, from known cable length (If Cable Length not zero then VF calculate from this value)
- Add Measure->Filter S21 module
- Add Real time clock PPM compensation (also added console command 'time ppm value'):
How calculate ppm value?
Set ppm to 0
Enable RTC 512Hz Led2 and measure frequency on LED2 (blue led)
Must be 512Hz if differet divide 512 on measured frequency munus 1 and after multiplie on 1M
Examlpe I measure 512.034Hz
PPM = (512 / 512.034 - 1) * 1M = -66,4 for my device
PPM value rounded by 0.9537ppm so real correction can be different
- Move all related to RTC setting to CONFIG->DATE\TIME submenu
- Move Enter to DFU menu to Expert settings
Fix 1 Hz step in CW or Center/Span mode
Fix load calibration data from backup register if backup reset
Fix hang if drop menu by touch and after push leveler button
Small fixes and code cleanup
v1.2.20
Use custom hardware library (allow save lot of space):
- GPT (Timers)
- PAL (GPIO)
- DMA
- EXT
- I2C
- I2S
- ADC
- Rewrite ChibiOS USB and Serial streams and HAL code
- Fixed some SD card problems, more faster write (use block write mode)
- Move all hardware depend code to board dir
Functions:
- Fix delay in usart read command
- Fix error response on empty input
- Add run script from SD card functions
Now possible create *.cmd file on SD card, file contan console commands for execute
This allow quick change device options and prepare device. - Add delete file function in browser
- Update USB version strings
- Add config command:
config {auto|avg|connection|mode|grid|dot|bk|flip|separator} [0|1|2]
"auto" - File Autoname 0:off, 1:on
"avg" - Smooth 0:off, 1:on
"connection" - connection 0:USB, 1:Serial
"mode" - Marker search mode 0:Max, 1:Min
"grid" - grid values 0:off, 1:on
"dot" - dot grid lines 0:off, 1:on
"bk" - Backup (remember several settings on device off) 0:off, 1:on
"flip" - flip display 0: normal, 1: 180 degree rotated
"separator" - use separator locale 0: dot, 1: comma
0 - disable
1 - enable
2 (or any else) - toggle
Allow set/clear/toggle settings flags - Store config settings in backup (allow store options if device power off)
- Fix load snp file if current separator locale = ','
scan or scanbin command now have extend outmask:
SCAN_MASK_OUT_FREQ 0b00000001 - need output frequency
SCAN_MASK_OUT_DATA0 0b00000010 - need output S11
SCAN_MASK_OUT_DATA1 0b00000100 - need output S21
SCAN_MASK_NO_CALIBRATION 0b00001000 - Ignore device calibration
SCAN_MASK_NO_EDELAY 0b00010000 - Ignore device E-Delay (new)
SCAN_MASK_NO_S21OFFS 0b00100000 - Ignore device S21 offset (new)
SCAN_MASK_BINARY 0b10000000 - binary output - Add msg time [message] [header]' command, allow show message box and wait, this more useful for script execute
Example:
msg 0 "Message text" "Header"
Show message box and wait user touch ot button click (delay = 0)
msg 1000 "Message text" "Header"
Show message box and wait 1000ms
msg 2000
Just wait 2000ms - Add 'measure {none|lc|lcshunt|lcseries|xtal|cable|resonance}' command
- Now possible add text strings on screenshot for capture (up to 4 strings)
capture "text 1"
capture "text 1" "text 2" "text 3"
UI:
- More faster line draw
- Use shadow text on plot area
- Add reverse marker plates, and use it on top area
- Extend linear, real, imag marker to 6 digit
- Show 0.01 degree in phase measure
- One buttin for Store/clean trace
- Add Z phase trace
- Add S21 offset setting, allow shift S21 data
- Add S21 SHUNT and SERIES |Z|
- Add VAR input for edelay value
- Show saved calibration range on save menu
- Show VF at bottom on TDR mode
- Add % symbol to keyboard (use in VF input)
- Add u symbol to keyboard (use for micro values input)
- Allow use keyboard '-' in all cases
- Allow input custom sweep points number
- IFBW text at bottom (old bw)
Added lot of commens for code
Refactoring allow more easy add addition options (for UI, Measures, Traces)
Also lot of optimisation, faster and more compact code
Small fixes in menu text align
v1.2.00
- Add SD card file browser:
Allow see files on card
Allow load and see screenshots (load BMP)
Allow save and load calibration to/from card
Allow load SnP files and see data - Add more traces formats:
S11 |Y| module
S11 G conductance
S11 B susceptance
S11 Parallel R
S11 Parallel X
S11 Serial C
S11 Serial L
S11 Parallel C
S11 Parallel L
S21 shunt R
S21 shunt X
S21 series R
S21 series X
S21 Q - Added additional 4 admittance marker format and Admittance background
G + jB
G + L/C
Rp + jXp
Rp + L/C - Add text keyboards for input filenames (max 8 chars on H and 18 on H4)
- Progress bar on screenshots
- Remote Desctop (work in NanoVNA-App, translate screen to CPU)
- Add flip display option
- More stable work on harmonics
- Speedup and reduce code in math/fft operations
v1.1.00
Changes:
-
Use dynamic calibration data calculations
-
Change calibration logic (now more easy control calibration data)
-
Fix saved bmp header, now bmp file open in all software
-
Update touch calibration procedure, need touch this point (mark as *), not use screen corner, this allow more correct calibrate
-
New 6x10 font
-
New medium size Marker plate for small screen
-
Added 5x7 and 6x10 font support, use adaptated font size for menus for small screens (H devices and 320x240 V2)
-
5x7 fonts used in calibration / grid values / frequency / menus
-
Added new v3.6 hardware support (maybe a replacement SI5351 on MS5351), see Expert settings
-
Now correct reset USB connection on software reset (H4)
-
Init i2c bus devices on low speed, change on max speed after (i hope this allow fix problem vs hang on first power on)
-
2x increase wait time for SD card (also hope this fix errors on old slow cards)
-
Added dump firmware to SD card. See expert options (save as xxx.bin file)
-
Add backup feature, this allow save some settings (freq range / points count / jog step / leveler mode / bandwidth or avg / last used slot)
Backup restore settings only for stored on flash slot (not work for RAM calibration data)
By default loaded 0 slot (if no backup enabled / on error / no battery) -
Added measurement module (MEASURE):
-
XTAL and LC neasure (S21). It allows you to automatically measure the parameters of quartz or LC filters (connect in series between ports, or how shunt ports are connected and DUT to ground). The measuring range is the center of the resonance and the resonance itself should be clearly
visible on the screen. -
Measuring cables, the initial frequency - minimum, final - must be such that the cable length is more than 1/4 of the wavelength, automatically measures the length, characteristic impedance, loss at the point of the active marker. The measuring range is chosen so that the Smith is rotated clockwise 180 degrees, the most important point for this measurement is at marker 1. The shorter
the cable, the higher the maximum frequency. -
Add Resonance search measure. Search frequency vs X = 0. (or more closest point)
-
Added module for normalization of impedance (DISPLAY-> PORT Z 50 -> XX), allows you to see what the DUT would be if the device had the same impedance as it. Works for two ports, which means filters can be measured as well. This will allow you to measure 75 ohm systems, or even higher-impedance filters (there are limitations, the higher the impedance, the lower the dynamic range). Calibrate as usual to 50 ohms, no matching adapters are needed.
UI menu text fixes:
-
Added multi color string, use color index 25 (LCD_LINK_COLOR) for set color (default color dark blue: R = 0, G = 0, B = 192)
-
Show selected Smith value in marker menu
-
Copy Set E-Delay button to calibration (some users use custom edelay for calibration)
-
Use one button for marker search min / max, move buttons from MARKER->SEARCH to MARKER menu
-
Move MARKER->MEASURE menu to main screen menu
-
Added DATE/TIME input (devices support RTC)
See CONFIG->EXPERT SETTINGS
Date input keyboard (need in YYMMDD format)
Time input keyboard (need in HHMMSS format) -
Added Enter button image (replace x1) for SCALE/REF/DATE/TIME input
-
Lot of cleanup / optimisation
Release NanoVNA firmware v1.0.64
Fix lever work
Release NanoVNA firmware v1.0.63
Added expert config menu
- Added harmonic threshold input
- Added TCXO frequency input (allow prescision frequency calibration)
- Added Vbat offset input
- Added expert option SEPARATOR (can be dot or comma, used for digit output to console, some CPU soft not work correctly vs default dot (1.56 example) if system locale use comma (need send 1,56))
- Added load config.ini from SD card (possible write custom script for run/restore)
- Added clear config
More Fast sweep (up to 770 points/sec)
More fast and smooth UI update
Added SD card access console commands (sd_read, sd_list, sd_delete)
Allow fast change scale/ref fy click on left screen side
Rename CH0 to S11, and CH1 to S21
Added up to 8 markers support
Added more serial speed option (up to 3M, on this speed can work WiFi modules)
Added custom recall buttons (possible see start/stop freq or empty slot)
Added smooth option Display->Data smooth (Smooth mode need use carefully!!!)
- Smooth now have 2 mode
Arith avg - made arifmetic average
Geom avg - made geometry average - max value in device x6 (x8 avaible from console)
Added show grid value option (DISPLAY->SCALE->SHOW GRID VALUES)
Added dotted grid option (DISPLAY->SCALE->DOT GRID)
Added JOG STEP option (allow add custom frequency step by lever left/right)
Added fast math function (allow more faster update trace data)
A lot of small bug fixes, code size optimization
Release NanoVNA firmware v1.0.38
First release my firmware modifiation for NanoVNA, NanoVNA-H, NanoVNA-H4
Features:
- Allow Serial connect and control
- Variable points count (up to 401 for H4)
- Custom color themes
- Fast data exchange vs CPU (use binary mode)
- Low noise measure on high speed ADC mode (192k for H and 384k for H4)
- Added L/C match calculation
- Support SD card save screenshots, s1p or s2p files