Releases: simplefoc/Arduino-FOC
Releases · simplefoc/Arduino-FOC
v2.3.5
SimpleFOClibrary v2.3.5
Main features
- ESP32 bugfix
 - New fuctionality
- HybridStepperMotor added to the main library #457 - see in docs
 - Motor characterisation (phase resistance and inductance) #436 - see in docs
 
 - SAMD21 support for low-side current sensing #479
 - RP2350 support #435 #468
 - STM32
- New driver code #442
 - Low-side current sensing support for H7 family #/460
 
 - Docs
- Hybrid stepper motor example see in docs
 - Sensorless FOC example see in docs
 - A short guide to synchronous loop - see in docs
 
 
See the complete list of bugfixes and new features of v2.3.5 fixes and PRs
What's Changed
- Add RP2350 support by @runger1101001 in #435
 - Fix for MagneticSensorI2C uses incorrect bit mask calculation #402 by @runger1101001 in #412
 - Add motor characterisation by @mcells in #436
 - ESP32 C6 fix & STM32 new HAL only driver by @runger1101001 in #442
 - STM32 HAL-only PWM driver by @runger1101001 in #430
 - Current calculation typo in comments by @askuric in #449
 - Update esp32_ledc_mcu.cpp to ensure ledc_timer is initialised to a known state (ledc_timer = false) by @rob-deutsch in #447
 - Merge master changes back to dev branch by @runger1101001 in #452
 - Feat hybrid stepper to main + implement current sensing for it by @askuric in #457
 - Feat current sense check if TRGO set for STM32 by @askuric in #456
 - Fix 
Pin is not configured as analog channelerror by @jeremiahrose in #458 - Add support for timer 8 by @jeroenzwan in #468
 - use default dir only if sensor not connected by @askuric in #459
 - Feat h7 current sensing by @askuric in #460
 - Disable allow power down when creating MCPWM timer by @adamgerhant in #474
 - Fix lowside sync lost by @askuric in #478
 - Feat lowside samd21 by @askuric in #479
 - esp32 ledc skips first channel index #471 by @runger1101001 in #480
 - Dev to master v2.3.5 by @askuric in #481
 
New Contributors
- @jeremiahrose made their first contribution in #458
 - @jeroenzwan made their first contribution in #468
 - @adamgerhant made their first contribution in #474
 
Full Changelog: v2.3.4...v2.3.5
v2.3.4
SimpleFOClibrary v2.3.4
Some of the most important features
- ESP32 MCUs extended support #414
- Transition to the arduino-esp32 version v3.x (ESP-IDF v5.x) #387
 - New support for MCPWM driver
 - New support for LEDC drivers - center-aligned PWM and 6PWM available
 - Rewritten and simplified the fast ADC driver code (
adcRead) - for low-side and inline current sensing. 
 - Stepper motors current sensing support #421
- Support for current sensing (low-side and inline) - see in docs
 - Support for true FOC control - 
foc_currenttorque control - see in docs 
 - New current sense alignment procedure  #422 - see in docs
- Support for steppers
 - Much more robust and reliable
 - More verbose and informative
 
 - Support for HallSensors without interrupts #424 - see in docs
 - Docs
- A short guide to the units in the library - see in docs
 
 - See the complete list of bugfixes and new features of v2.3.4 fixes and PRs
 
What's Changed
- fix RP2040 compile problems with earlehillpower by @runger1101001 in #397
 - Merge teensy updates from master branch by @runger1101001 in #399
 - move setting target to start of move() #404 by @runger1101001 in #405
 - add MT6701 I2C sensor configuration by @runger1101001 in #406
 - Added gain documentation to B_G431B_ESC1.ino by @rob-deutsch in #407
 - 408 feature support for arduino esp32 v301 current sensing by @askuric in #414
 - 390 support for the new esp32 ledc library api by @askuric in #410
 - 408 feature support for arduino esp32 v301 by @askuric in #411
 - Fix for #415 sin/cos integer overflow on 16-bit CPUs by @dekutree64 in #416
 - Hall sensor without interrupt by @Candas1 in #424
 - Feat new cs align by @askuric in #422
 - Feat stepper current sensing by @askuric in #421
 - Dev to master for the release v2.3.4 by @askuric in #425
 
New Contributors
- @rob-deutsch made their first contribution in #407
 
Full Changelog: v2.3.3...v2.3.4
v2.3.3
SimpleFOClibrary v2.3.3
Some of the most important features:
- STM32 MCUs
 - Teensy4 MCUs
 - KV rating calculation fix #347
 - Much more performant Park/Clarke calculation #340
 - And much more - see the complete list of bugfixes and new features of v2.3.3 fixes and PRs
 
What's Changed
- Stm32 adc no interrupt by @Candas1 in #341
 - Foc refactoring by @Candas1 in #340
 - Kv rating fix by @nmscode in #347
 - Make timeout configurable in MagneticSensorPWM #348 by @runger1101001 in #354
 - Fix some constants, update library files for next release by @runger1101001 in #358
 - Prevent double constants by @Candas1 in #359
 - Add library.json to set libArchive #357 by @runger1101001 in #360
 - Add currentsense.enable/disable by @runger1101001 in #365
 - expose result of PP check by @runger1101001 in #368
 - RP2040: respect pin nrs on boards which remap them by @runger1101001 in #369
 - Fix bug in ATMega sine computation by @runger1101001 in #373
 - initFOC: remove unnecessary delay by @Schnilz in #370
 - [BUGFIX] Injected channel by @askuric in #371
 - Feat stm32 synctimers by @askuric in #374
 - Update stm32_mcu.cpp by @Candas1 in #378
 - Use interrupt if no repetition counter by @Candas1 in #383
 - Analogread by @Candas1 in #385
 - Add missing implementation for MagneticSensorI2C::AS5600 by @ystradmann in #389
 - Set STM32 timer prescaler based on timer clock frequency by @Copper280z in #388
 - Feat teensy4 lowside by @askuric in #392
 - Move Ualpha and Ubeta to FOCMotor by @Candas1 in #326
 - Add lowside current sensing for STM32F7 microcontrollers by @Copper280z in #394
 - new CI by @askuric in #396
 
New Contributors
- @nmscode made their first contribution in #347
 - @Schnilz made their first contribution in #370
 - @ystradmann made their first contribution in #389
 
Full Changelog: v2.3.2...v2.3.3
v2.3.2
SimpleFOClibrary v2.3.2
- Improved space vector modulation code thanks to @Candas1
 - Bugfix for stepper motor initialization
 - Bugfix for current sensing when only 2 phase currents available - please re-check your current sense PID tuning
 - Bugfix for teensy3.2 - #321
 - Added teensy3/4 compile to the github CI using platformio
 - Fix compile issues with recent versions of ESP32 framework
 - Add ADC calibration on STM32 MCUs thanks to @Candas1
 - Bugfix for crash when using ADC2 on ESP32s - thanks to @mcells
 - Bugfix for renesas PWM on UNO R4 WiFi - thanks to @facchinm
 - And more bugfixes - see the complete list of 2.3.2 fixes and PRs
 
v2.3.1
SimpleFOClibrary v2.3.1
- Support for Arduino UNO R4 Minima (Renesas R7FA4M1 MCU - note UNO R4 WiFi is not yet supported)
 - Support setting PWM polarity on ESP32 (thanks to @mcells)
 - Expose I2C errors in MagneticSensorI2C (thanks to @padok)
 - Improved default trig functions (sine, cosine) - faster, smaller
 - Overridable trig functions - plug in your own optimized versions
 - Bugfix: microseconds overflow in velocity mode #287
 - Bugfix: KV initialization (5fc3128)
 - And more bugfixes - see the complete list of 2.3.1 fixes here
 - Change: simplify initFOC() API (d57d32d. 5231e5e, 10c5b87)
 - Change: check for linked driver in currentsense and exit gracefully (5ef4d9d)
 - Compatibility with newest versions of Arduino framework for STM32, Renesas, ESP32, Atmel SAM, Atmel AVR, nRF52 and RP2040
 
v2.3.0
SimpleFOClibrary v2.3.0
- Arduino Mega 6pwm more timers supported
 - Arduino boards - frequency change support either 32kHz or 4kHz
 - Arduino Uno - synched timers in 3pwm and 6pwm mode #71
 - Teensy 3.x initial support for 6pwm
 - Teensy 4.x initial support for 6pwm
 - Example for v3.1 SimpleFOCShield
 - RP2040 compatibility for earlehillpower core #234 #236
 - More flexible monitoring API
- start, end and separator characters
 - decimal places (settable through commander)
 
 - Added machine readable verbose mode in 
Commander#233 - SimpleFOCWebController - Web based user interface for SimpleFOC by @geekuillaume - webcontroller.simplefoc.com
 - bugfix - 
MagneticSensorPWMmultiple occasions - #258 - bugfix - current sense align - added offset exchange when exchanging pins
 - bugfix - trapezoid 150 fixed
 - bugfix - 4pwm on ESP8266 #224
 - Additional 
InlineCurrentSenseandLowsideCurrentSenseconstructor using milliVolts per Amp #253 - STM32L4xx current sense support by @Triple6 (discord) #257
 - phase disable in 6pwm mode
- stm32 - software and hardware 6pwm
 - atmega328
 - atmega2560
 
 - Lag compensation using motor inductance #246
- current control through voltage torque mode enhancement
 - extended 
BLDCMotorandStepperMotorconstructors to receive the inductance paramerer - can also be set using 
motor.phase_inductanceor throughCommander 
 
v2.2.3
SimpleFOClibrary v2.2.3
- stm32 low-side current sensing
 - bugfixing
- leonardo
 - mega2560 #190
 - inline current sense without driver #188
 - bg431b support current sense fix #210
 StepperDriver4PWMwrong init #182- open loop back-emf voltage issue #219
 - SAMD51 compile issue #217
 - ESP32-S3 compile issue #198
 - ESP32 compile issue #208, #207
 - magnetic sensor direction finding more robust #173, #164
 StepDirListenerimproved timing #169, #209HallSensorvelocity calculation fix #192
 - API changes
setPhaseVoltageis now public functiongetVelocitycan now be called as many times as necessary - see in docs- it recalculates the velocity if the time between calls is longer then 
min_elapsed_time- default 0.1ms 
- it recalculates the velocity if the time between calls is longer then 
 HallSensorvelocity calculation outlier removal using max expected velocityvelocity_max- see in docs- BG431 board can be used only with 
LowsideCurrentSenseclass! - see in docs initFOCfails if current sense not initialised - see in docs- driver and current sense have to be well initialised for 
initFOCto start - see in docs cs.init()anddriver.init()return1if well initialised and0if failed
- driver and current sense have to be well initialised for 
 
 
v2.2.2
SimpleFOClibrary v2.2.2
- GenericCurrentSense bugfix and testing
 - bugfix leonardo #170
 - bugfix - no index search after specifying natural direction
 - Low level API restructuring #153 
         
- Driver API
 - Current sense API
 
 - New debugging interface - see in docs #158 
         
- Static class SimpleFOCDebug
 
 - CurrentSense API change - added method 
linkDriver()- see in docs - Low-side current sensing - see in docs
         
- ESP32 generic support for multiple motors
 - Added low-side current sensing support for stm32 - only one motor #6 
            
- f1 family
 - f4 family
 - g4 family
 
 
 - New appraoch for current estimation for torque control using voltage - see in docs 
         
- Support for motor KV rating - back emf estimation
 - Using motor phase resistance
 
 - KV rating and phase resistance used for open-loop current limiting as well - see in docs
 
v2.2.1
SimpleFOClibrary v2.2.1
- Sensor class init bugfix #121
 - Voltage/current limit handling bugs #118
 - Added the new motion control interface to the commander see docs
- New target setting - possible to set the position, velocity and torque target at once
 - Separated the motion control interface from full motor callback - only motion control and torque control type, enable disable and target setting
 
 - New MCU support see docs
 - Generic sensor class - to implement a new sensor only implement one function see docs
 - Motor class initialisation status tracking by @runger1101001
 
v2.2
SimpleFOClibrary v2.2
- Sensor floating point error bugfix (initial solution) #83, #37
 - Sensor class restructuring - slight API change - docs
 - Restructured the generic code and simplified adding new mcus: IMPORTANT: an additional compiler flag needed for PlatformIO see issue and PlatformIO docs
 - Removed initial jump #110, #111
 - Double to float transformation of the code - performance increase by @sDessens (#100), @KaSroka (#100)
 - Docs webiste translated to Chinese! 🎉: Awesome work 😃 by @MINQING1101, @Deng-ge-open-source and @mingggggggg
 - New MCU support
 - Low side current sensing initial support - docs
 
