Keyboard Shortcuts
ctrl + shift + ? :
Show all keyboard shortcuts
ctrl + g :
Navigate to a group
ctrl + shift + f :
Find
ctrl + / :
Quick actions
esc to dismiss
Likes
Search
Which version of the firmware supports rotary encoders
Hi,
toggle quoted message
Show quoted text
The DeepVNA-101 only supports Deep Elec firmware. The latest version is V1.0.5. It does not support FW written for the NanoVNA-H /-H4 by Hugen or DiSlord. HTH...Bob VK2ZRE On 3/03/2024 8:18 pm, blackberryer wrote:
At present, this toggle switch, always feels not silky enough, not sensitive enough, look at the latest version of DEEPVNA-101 replaced with a rotary encoder, nanovna has which version of the firmware to support this function |
This was discussed 4 years ago and the developer(s) decided not to implement it since you also have the touch screen and at the time, code storage on the original devices was at a premium.
A few owners decided to add push buttons instead. Have a look in the WIKI: /g/nanovna-users/wiki/13194#Buttons-and-switches Also have a look in the FILES area under mods. |
³Ù³ó²¹²Ô°ì²õ£¬
I've recently taken some time to add a rotary encoder and the basic functionality is implemented, the menu bar scrolls well, but the trace scrolling shows that the marker points are moving too slowly. I use PA1 and PA2 as the channels of the encoder, and I use interrupts to implement the function. static const EXTConfig extcfg = { { {EXT_CH_MODE_DISABLED, NULL}, {EXT_CH_MODE_FALLING_EDGE | EXT_CH_MODE_AUTOSTART | EXT_MODE_GPIOA, extcb1}, {EXT_CH_MODE_FALLING_EDGE | EXT_CH_MODE_AUTOSTART | EXT_MODE_GPIOA, extcb1}, {EXT_CH_MODE_FALLING_EDGE | EXT_CH_MODE_AUTOSTART | EXT_MODE_GPIOA, extcb1}, {EXT_CH_MODE_FALLING_EDGE | EXT_CH_MODE_AUTOSTART | EXT_MODE_GPIOA, extcb2}, {EXT_CH_MODE_DISABLED, NULL}, {EXT_CH_MODE_DISABLED, NULL}, {EXT_CH_MODE_DISABLED, NULL}, {EXT_CH_MODE_DISABLED, NULL}, {EXT_CH_MODE_DISABLED, NULL}, {EXT_CH_MODE_DISABLED, NULL}, {EXT_CH_MODE_DISABLED, NULL}, {EXT_CH_MODE_DISABLED, NULL}, {EXT_CH_MODE_DISABLED, NULL}, {EXT_CH_MODE_DISABLED, NULL}, {EXT_CH_MODE_DISABLED, NULL}, {EXT_CH_MODE_DISABLED, NULL}, {EXT_CH_MODE_DISABLED, NULL}, {EXT_CH_MODE_DISABLED, NULL}, {EXT_CH_MODE_DISABLED, NULL}, {EXT_CH_MODE_DISABLED, NULL}, {EXT_CH_MODE_DISABLED, NULL}, {EXT_CH_MODE_DISABLED, NULL} } }; static void extcb1(EXTDriver *extp, expchannel_t channel) { (void)extp; (void)channel; #if ROTARY_ENCODER if (!palReadLine(LINE_EXT_ENCODERPB)) operation_requested|=OP_LEVER; //encoderDir = palReadLine(LINE_EXT_ENCODERB); if (palReadLine(LINE_EXT_ENCODERB)) ClockWiseCounter ++; else//if (encoderDir == antiClockWise) antiClockWiseCounter ++; if(ClockWiseCounter >= ENCODER_DEBOUNCE_TICKS) { ClockWiseCounter = 0; antiClockWiseCounter = 0; encoderDir = clockWise; operation_requested|=OP_LEVER; } else if (antiClockWiseCounter >= ENCODER_DEBOUNCE_TICKS) { ClockWiseCounter = 0; antiClockWiseCounter = 0; encoderDir = antiClockWise; operation_requested|=OP_LEVER; } #else operation_requested|=OP_LEVER; #endif // END OF ROTARY_ENCODER } |
to navigate to use esc to dismiss