The current version of the display and controller firmware is available at this link. Copy files to the root directory of the microSD card (Fat/Fat32), then insert it into the display (contacts on top), and run the update process. To check the current version, go to Controller > Device Information, the cursor indicates the current version.
You will need to run new motor detection after the update! This update fixes issues with the reverse function of the previous release and also some problems with recently made controllers. There are known issues with starting under high currents that will be investigated later.
Added interrupt setup logic
Added High V ripple flag for plate controller
Added middle DAC offset from raw ampere calibration
Fixed EXTI-PR register reset in the main logger
Fixed Neutral for the master controller
DAC offset updated for the plate
Fixed square wave plate reverse
Fixed reverse sensorless startup logic
Added hall idle parameter
Hall angle fixed, now transition with offset, when not interpolated — no offset
Added fix in HW config for TF21904 drivers (shipped after Dec 2022 till Feb 2023)
Added fault flag to the logger
FOC has removed the extra current at the start
FOC angle now has no offsets
FOC sectors moved to match the square wave
FOC added an additional dead time gap
Added load defaults by section
the Export configuration before the update, update the Display, and then import your config! Added menu for forced device update.
Added passwords for devices menu and main menu.
Configurable max visible speed in statistics.
Fixed some SD card issues, and added exFAT support (not for display update).
Added phase current bar min/max setting.
Added menu for forced device update.
Fixed brake voltage inversion.
Fixed Wh calculator for high power.
Removed info line scroll in info line theme.
Phase current now showed as Ap.
Added motor angle to the logger
Fixed errors in combined transition logic
Fixed clutch negative current spike
Added FOC vq limit parameter for QS165 motor
Fixed reverse operation for vq limit
Current calibration fix for shunt
Levcan got an update on ParseParameterValue
Fixed PWM minimum time for TF driver (FOC)
DAC constant updated with a calibrated value
Position sensor temporary fix for FOC when not interpolated
Added remote throttle timeout (locked screen full throttle bug)
Many small fixes for assembly testing
Fixed sensor logic for square wave
Fixed adc issues but still should be improved
ADC logic changed to more future-proof
Added configuration import with button
Added import lock when motor spinning
Moved PLLs to separate file
Fixed current spike on brake press (filter abs duty)
Removed 'hall invalid' logic from interpolation start
Improved speed control for reverse from forward movement
Position sensor logic separated
USB code deleted
Stop PWM on debug added to pwm hal
SQ have sensorless interpolation
Interpolation logic improved
Deleted global PositionSensor variables
Fixed speed reference NaN
Added diagnostic mode to state machine switch
Fixed few diagnostic issues
Live hall angle update in menu
Added NaN checks for hall
Adjusted detected angle for first step
BEMF now have one extra step to skip spike, in case if it falls slowly
Detection sensor state fixed, caused motor to stall
Added frequency startup logic for sensorless square wave (yay!)
Frequency control used for sensorless startup now, default changed to 2
Added encoder position sensor
Pullup control removed
Added encoder menu
Added encoder detection
Updated position sensor logic, detection routed through it
Added hall detect quick fail
Swapped hall inputs to match timer index
Speed calculation changed
Rads calculation moved to Position sensor file
ERPS counter upgraded with direction filter
Encoder angle calibration added
RCPWM disable-exit added
Added pwm port assignment to encoder
Torq sensor exit added
ADC ports reassigned
Few parameters live update fixed
Added encoder info to device info menu
Added E suffix for Encoder
OV and UV flags separated
Test bench code moved to separate file
Includes optimised everywhere
Square wave current offset disabled on next step now
FW added better enable logic, to help avoid extreme brake power on FW
Added few FOC optimisations
Added FOC vq limit before vd-vq vector limit, to let vd do field weakening more (unlimited vq caused worse FW perfomance and sometimes it was stuck)
SQ added DC current dead time compensation
Added out of control detection logic
Added serial number
Added calibration constants
Added calibration logic when checking hardware
Added FreeRTOS stack monitor
Optimised testing procedure for faster test
Updated critical task enter routines
Fixed field weakening integral kick if foc is forced shutdown
Changed PWM Freq to constant
Position sensor menu updated
Over-Field weakening flag logic fixed
Fixed PAS menu parameter update
Moved foc square-boost to sector switch logic
Added PLL low speed smoother logic
Fixed T1/T2 settings menu.
Now possible to disable turn signal blinking by setting 0 sec.
Field Weakening PID updated.
Added FW limit based on motor temp limit.
Decreased allowed FW vector size to 80%.
Config defaults decreased.
Added locks 10 seconds on temperature exceeding.
Small menu changes and export fixes.
Fixed P1 P2 PWM mode.
Lifetime temperature now calculates only when motor powered.
Added hall pullup disable option.
Various save system fixes.
Fixed NaN for resistance detect.
Fixed import of 1st parameter in every section.
Export config before the update, load defaults after the update, and import your config.
Hotfix for controllers 6F/12F and old 24F
Critical update for new controllers:
Save system updated, added unit tests.
Added clutch shutdown when brake pressed.
Added option to enable MTPA.
USB for computers disabled by default, will be removed in the future.
Fixed some parameter editing.
Odometer now can be imported, value is not decimal now.
Fixed button blinking while typing the password.
Fixed charge screen, button blinking fixed.
Fixed info-lines names.
Fixed header for password message.
Added log header option.
Added translation for some messages (RU).
Added error messages for throttle/brake detection.
A new LEVCAN parameters protocol.
Fixed PWM IO settings, now they do work.
Added temperature sensor thresholds, they work as virtual buttons for functions.
Added ability to send button inputs to the CAN-bus. Main program source code published on GitHub: GitHub.
Update last! First, need to update all devices but display. Because menu protocol is new and old devices will not be visible in the menu. After the update is finished hold the left button few seconds to exit the updated device menu. If the button does not work you may need to reset the power supply or replug the CAN cable in the display. After everything is updated - update the display. Make a controller reset (load defaults) after the update. We recommend running motor detect again on controllers. Detection of throttle/brake connected to display should be done in the display menu.
All display settings moved to a separate menu.
Added port input state in port settings.
Added port functions: disable backlight, lock screen.
Added separate hotkeys while charging.
Added option to use hotkeys with a short click.
Added throttle/brake settings which are connected to display.
Added global odometer setting.
Global stats reset will not reset the odometer now.
Added parameters import/export.
Added icons on the main screen (brake, brake limit, turtle mode, motor/controller fault, battery fault).
With new controllers, update speed is 6 times faster now.
Logger speed should work faster too.
Added text scroll in the menu.
Added more informative messages for resets with password requests.
Added parameters that could be requested from display on the CAN-bus.
Added glitchy USB to the controller (needs a USB cable connected to PWM port). Completely new LEVCAN parameters protocol with more possibilities.
Added trip statistics menu to the controller: - Wh regen/used/total. - Ah regen/used/total. - Estimated motor efficiency in real time and average. - Calculated motor torque (on the shaft).
Temperature measurement now calculates t-sensor resistance.
Improved kV detection.
Fixed 'bug' with long brake response on slow current change speed for acceleration limit.
Defaults for all ports are now OFF.
Added brake button % (percentage of brake phase current for button-brake).
Added brake on the released throttle (brake phase current).
Motor inductance and resistance detection for MTPA.
MTPA logic (works well only with IPM motors).
Fixed FOC FW to be triggered at a stop when braking.
Added more control CAN commands.
Added more parameters that could be requested from the controller on the CAN-bus.
Added more logger parameters.
Added hall filter settings to debug stuttering.
Added prefix selection for controller name.
Update first! First, need to update all devices but display. Because menu protocol is new and old devices will not be visible in the menu. After the update is finished hold the left button few seconds to exit the updated device menu. If the button does not work you may need to reset the power supply or replug the CAN cable in the display. After everything is updated - update the display. Make a controller reset (load defaults) after the update. We recommend running motor detect again on controllers. Detection of throttle/brake connected to display should be done in the display menu.
Fixed throttle drop.
Small menu fixes.
Button setup simplified, by default all set to CAN mode.
Added exFAT support (but display still can be updated only from FAT32).
Added charge screen.
Added fast statistics type selection.
Added wider event window.
Mph stats fixed.
Small menu fixes.
CAN inputs increased to 16.
Parameters export / import fixes.
12V shutdown fix.
Use configuration export before update, reset defaults after update and import configuration.
Throttle / brake curves added (8 point configuration) with presets.
PAS extra scale added for additional modes.
Soft acceleration for cruise added, more shutdown triggers.
Cruise logic updated — phase current limited by selected mode, not throttle position.
Minimum cruise speed — limits cruise activation.
Cruise increment/decrement — control cruise speed with buttons (port = CR+/CR-)
Cruise restore — recovery last saved cruise speed with button, activated only above min cruise speed. (port = CRr)
Power limit added to modes and battery configuration. 0 = power limit disabled.
Decreased DCi Ki default from 500 to 200, vibration complaints
Slightly decreased FW start point.
Added full debug info export.
Added logger mode selection and tuned logger start.
Removed first line from log for easy datazap upload.
Fixed many charger glitches, however still have few.
Added soft start to charger and more safe phase detect.
Completely reworked field weakening, now should not have any hard braking after release.
Added minimum speed reference for speed PID.
Added RC PWM control on P1 port (throttle/brake).
Added more logger parameters.
Few important FOC control fixes, DC current should be calculated better under field weakening.
Fixed one weird ultra-rare bug in square mode.
LEVCAN operates on queues now, log time 2x faster when display updated
Experimental logger added
Save log once for every turn-on, reboot if you need to save multiple logs.
Disable logger to use configuration import/export or software update
In logger options there is a setting to make it log at every turn-on
Hotfix for display speed sensor
Hotfix quick statistics (text was overlapping)
Fixed 0V throttle issue
Fixed charge statistics reset
Added km/h or mph switch
Added more parameters to info. lines on main screen
Added hotkey mode for compatibility with controller speed functions
Fixed contrast setting
Added driving range, calculated from WH usage
A lot of tiny fixes
Fixed N mode
Fixed motor wiggle at charger mode
Added more debug information
Torque PAS fixes
Fixed configuration import for advanced modes
Added configuration selector from 1 to 9
Import will show first line of configuration, you can put a comment here
Hotfix, fixed NaN error for analog inputs.
Big menu update
Control logic completely reworked for future compatibility with BMS
New default values for PIDs
DC-DC low voltage difference charge fixed
Inverted brake input added
Specific setup for 3 positional speed switch added (can work now as 1-2-3)
Button/switch select for usual speed select input
Save CRC calculation fixed
New speed mode - neutral
Speed increment and decrement added
Added t-sensor NTC 10k B:3380
Reboot command added
Fixed field weakening over 126%
Fixed VBUS measuring, now it is at PWM frequency, significantly improved overvoltage protection
Added median VBUS filter
Added averaging of N-X ADC samples filter for throttle and brake
Fixed brake glitches
Current measuring fixes for better measuring on 6F board
When enable button configured controller will not turn-on anymore when power applied
Autodetect improved, more informative, short-circuit detect added and timeout fixed
Added lock-at-turn-on, will lock throttle untill password on-screen is entered
Voltage on phases detect added, will lock controls
Added "Advanced modes" menu with more specific options per mode
Personal throttle protection lock for CAN source or local
Motor temperature limit for charger (DC-DC)
CAN buttons setup
Inverted inputs setup
Added filters for analog inputs
Fix float point parameter export
Added FOC pid parameters
Added more protections against hanged code
DC-DC charger now have current derating
Added configuration export/import/backup
New temperature gradients
Default speed is 1 now
New cruise types and modes of operation
Acceleration/deceleration PI regulator added
Throttle torque mode now also limits speed
Speed limit have now reference to choose from
Parameters now saving in groups, will not reset all configuration in future updates
Code excution optimizations
PWM output now have temperature range setup
PT1000 t-sensor added
Better temperature derating, based on absolute maximum current
Fixed LEVCAN FIFO error, that may cause update fail