Skip to content

Releases: MikroElektronika/mikrosdk_v2

mikroSDK v2.14.3 released

27 Mar 13:03
00f4d23
Compare
Choose a tag to compare

v2.14.3

  • released: 2025-03-28

Changes

New features

mikroSDK

  • Button simulation library
    • Implemented a useful new library, especially handy while using a remote setup on Planet Debug
    • The library includes various button-handling simulation functions, enabling a range of applications

Improvements

mikroSDK

  • Added digital_out_read function to the driver level
    • Allows reading the output value of a pin, which is required by some architectures
    • Complements the existing digital_in_read function

Fixes

mikroSDK

  • Updated the delay function calls in the PIC32 hal_ll_errata.c file to fit the requirements of all adequate compilers
  • Eliminated wrong symbols from LCD
    • LCD used to show "garbage" symbols regardless of achitecture
  • Added missing LCD pin definitions for certain v7 boards
    • Some v7 boards with an LCD socket lacked the necessary pin definitions for the LCD library
  • Updated Clicker 4 board names
    • They have been changed to fit the new naming convention

mikroSDK v2.14.2 released

14 Mar 07:08
b57d7be
Compare
Choose a tag to compare

v2.14.2

  • released: 2025-03-14

Changes

Fixes

mikroSDK

  • Set UART configuration to use interrupt-based approach by default
    • Applied to both UART and logger for consistency across all projects

mikroSDK v2.14.1 released

11 Mar 08:25
ae00ab9
Compare
Choose a tag to compare

v2.14.1

  • released: 2025-03-11

Changes

Fixes

mikroSDK

  • Fixed hal_ll_i2c_master_wait_for_idle declaration return value to match its definition
  • Added missing address in mcu_definitions.h for PIC18F46Q83 and PIC18F47Q83

mikroSDK v2.14.0 released

10 Mar 14:12
b43df6b
Compare
Choose a tag to compare

v2.14.0

  • released: 2025-03-11

Changes

PIC18xx (Q10 | Q43| Q83 | Q84) and PIC32MZ EC (ECH | ECM | ECH)

PIC18xQ and PIC32MZ EC MCUs supported!

MCU MCU MCU MCU MCU
PIC18F24Q10 PIC18F46Q43 PIC18F26Q84 PIC32MZ1024ECH064 PIC32MZ2048ECG124
PIC18F25Q10 PIC18F47Q43 PIC18F27Q84 PIC32MZ1024ECH100 PIC32MZ2048ECG144
PIC18F26Q10 PIC18F55Q43 PIC18F46Q84 PIC32MZ1024ECH124 PIC32MZ2048ECH064
PIC18F27Q10 PIC18F56Q43 PIC18F47Q84 PIC32MZ1024ECH144 PIC32MZ2048ECH100
PIC18F45Q10 PIC18F26Q83 PIC18F56Q84 PIC32MZ1024ECM064 PIC32MZ2048ECH124
PIC18F46Q10 PIC18F27Q83 PIC18F57Q84 PIC32MZ1024ECM100 PIC32MZ2048ECH144
PIC18F25Q43 PIC18F46Q83 PIC32MZ1024ECG064 PIC32MZ1024ECM124 PIC32MZ2048ECM064
PIC18F26Q43 PIC18F47Q83 PIC32MZ1024ECG100 PIC32MZ1024ECM144 PIC32MZ2048ECM100
PIC18F27Q43 PIC18F56Q83 PIC32MZ1024ECG124 PIC32MZ2048ECG064 PIC32MZ2048ECM124
PIC18F45Q43 PIC18F57Q83 PIC32MZ1024ECG144 PIC32MZ2048ECG100 PIC32MZ2048ECM144

Supported modules:

  • ADC (Full module support)
  • SPI (Full module support)
  • UART (Full module support)
  • I2C (Full module support)
  • PWM (Full module support)
  • GPIO (Full module support)
  • OW (Full module support)

New Features

mikroSDK

  • Added functions to retrieve appropriate pin number and port name based on pin
    • Two functions in total:
      • hal_gpio_fetch_pin
      • hal_gpio_fetch_port
    • Both functions defined as static inline inside main gpio header file for ease of use
    • For example, pin GPIO_PC3 can be used to retrieve pin number as 3 and port name as GPIO_PORT_C
  • Implemented UART polling mode
    • Introduced UART polling mode as an alternative to the existing interrupt-based approach in the mikroSDK
    • Provides an option for applications that require simpler control and do not rely on interrupt-driven operations

Improvements

mikroSDK

  • Improved low level STM32 PWM implementation
    • Timer modules can now use the same module but different channels without reinitializing the module every time
    • Check THIS EXAMPLE to see how it works
  • Added LCD_TFT macros into headers for all Mikromedias that don't use SIBRAIN socket the same way it is implemented for MCU Cards
    • Previously LCD_TFT macros were defined in CMakeLists.txt for TFTs
  • Added errata section in PIC32 low level implementation
    • Workarounds from the errata are now grouped and clearly marked for easier reference and maintenance

Fixes

mikroSDK

  • Corrected UART stop bit configuration for STM32
    • The support for 0.5 and 1.5 stop bits on UART4 and UART5 for certain MCUs was previously overlooked
    • This issue has now been addressed in the code
  • Updated low-level I2C implementation
    • Some of the return value variables were originally declared as 8-bit, but they needed to handle larger values
    • This has now been fixed

CORE

  • Fixed STM32H7 library
    • Previously initialization process was stuck in infinite loop while waiting for PLL to be enabled
    • In project setup configuration clock settings values are now correct

mikroSDK v2.13.1 released

26 Dec 14:56
664f7e0
Compare
Choose a tag to compare

v2.13.1

  • released: 2024-12-27

Changes

Fixes

mikroSDK

  • Fixed LCD implementation for all architectures
    • Issue with timing after optimizing (speeding up) SDK

mikroSDK v2.13.0 released

23 Dec 13:08
Compare
Choose a tag to compare

v2.13.0

  • released: 2024-12-24

Changes

SAM

SAM MCUs supported!

MCU MCU MCU
ATSAME70J19A ATSAMS70J21A ATSAMV70Q19A
ATSAME70J19B ATSAMS70J21B ATSAMV70Q19B
ATSAME70J20A ATSAMS70N19A ATSAMV70Q20A
ATSAME70J20B ATSAMS70N19B ATSAMV70Q20B
ATSAME70J21A ATSAMS70N20A ATSAMV71J19A
ATSAME70J21B ATSAMS70N20B ATSAMV71J19B
ATSAME70N19A ATSAMS70N21A ATSAMV71J20A
ATSAME70N19B ATSAMS70N21B ATSAMV71J20B
ATSAME70N20A ATSAMS70Q19A ATSAMV71J21A
ATSAME70N20B ATSAMS70Q19B ATSAMV71J21B
ATSAME70N21A ATSAMS70Q20A ATSAMV71N19A
ATSAME70N21B ATSAMS70Q20B ATSAMV71N19B
ATSAME70Q19A ATSAMS70Q21A ATSAMV71N20A
ATSAME70Q19B ATSAMS70Q21B ATSAMV71N20A
ATSAME70Q20A ATSAMV70J19A ATSAMV71N21A
ATSAME70Q20B ATSAMV70J19B ATSAMV71N21B
ATSAME70Q21A ATSAMV70J20A ATSAMV71Q19A
ATSAME70Q21B ATSAMV70J20B ATSAMV71Q19B
ATSAMS70J19A ATSAMV70N19A ATSAMV71Q20A
ATSAMS70J19B ATSAMV70N19B ATSAMV71Q20B
ATSAMS70J20A ATSAMV70N20A ATSAMV71Q21A
ATSAMS70J20B ATSAMV70N20B ATSAMV71Q21B

Supported modules:

  • ADC (Full module support)
  • SPI (Full module support)
  • UART (Full module support)
  • I2C (Full module support)
  • PWM (Full module support)
  • GPIO (Full module support)
  • OW (Full module support)

Files updated:

Files added:

mikroSDK v2.12.2 released

10 Dec 14:13
4447365
Compare
Choose a tag to compare

v2.12.2

  • released: 2024-12-11

Changes

Improvements

mikroSDK

mikroSDK has been reworked to fit in all SDK supported PIC MCUs for XC8 toolchain.

In the XC8 compiler, there are some known considerations and potential issues when working with pointers and data widths greater than 8 bits, especially when working on 8-bit microcontrollers like the PIC series.

This is why the approach had to be modified. The modified approach bypasses this limitation by
splitting complex pieces of code into more simple steps.
The simpler steps result in XC8 toolchain generating appropriate assembly
instructions and therefore in working pieces of code.

New features

mikroSDK

Added following macro patterns:

  • GPIO_Pxy
    • Replaces Pxy
  • GPIO_PIN_x
    • Replaces PIN_xy
  • GPIO_PORT_x
    • Replaces PORT_xy

All use of the old macros has been changed by new ones. This affects all board and mcu packages as well.

Note that old macros shall be left in the SDK for a couple of upcoming versions, giving users time to make adequate changes to any code they might have.

CORE

All mcu.h header file for XC8 supported MCUs have the following change applied:

  • Changed all occurrences of Pxy to _Pxy
    • Where x i a letter from A to Z and y is a number from 0 to 9

Note that these changes shall be reverted once the old pin definitions are removed from the SDK.


mikroSDK v2.12.1 released

03 Dec 12:42
17a98c5
Compare
Choose a tag to compare

v2.12.1

  • released: 2024-12-03

Changes

Improvements

mikroSDK

mikroSDK LVGL now has the option to build either LIGHT or HEAVY LVGL configurations.

HEAVY configuration shall have all features of LIGHT configuration, with the addition of below listed features.

Additional options added for HEAVY configuration:

  • CANVAS
  • TABLE
  • ANIMIMG
  • CALENDAR
  • CHART
  • IMGBTN
  • LIST
  • MENU
  • METER
  • MSGBOX
  • SPAN
  • TABVIEW
  • TILEVIEW
  • WIN
  • FLEX
  • GRID

Note that this feature is chosen by NECTO based on MCU memory (RAM/FLASH).

i.e. if MCU has at least 128K RAM and 512K FLASH, heavy configuration will be built.

Fixes

mikroSDK

  • Fixed a stray space character before closing a comment
    • This caused build issues for FS if FF_USE_LFN was defined

mikroSDK v2.12.0 released

07 Nov 10:40
7932334
Compare
Choose a tag to compare

v2.12.0

  • released: 2024-11-08

Changes

Improvements

mikroSDK

mikroSDK now has the option to skip DRV to HAL layer jumps completely.

Note that this feature is enabled by default in NECTO.

Fixes

  • Fixed PIC XC8 SPI module so the code can be generated
    • Previous code was too complex for XC8 compiler, so it has been simplified
  • Fixed all timer module number definitions for all STM32L1x MCUs
    • Previously, timer/pwm was not working correctly as these values were incorrect

mikroSDK v2.11.5 released

31 Oct 11:49
bd5b622
Compare
Choose a tag to compare

v2.11.5

  • released: 2024-11-01

Changes

Improvements

mikroSDK

New STM32L4 MCUs supported!

MCU MCU MCU
STM32L412C8 STM32L412CB STM32L422CB
STM32L412K8 STM32L412KB STM32L422KB
STM32L412R8 STM32L412RB STM32L422RB
STM32L412T8 STM32L412TB STM32L422TB

Supported modules:

  • ADC (Full module support)

  • SPI (Full module support)

  • UART (Full module support)

  • I2C (Full module support)

  • PWM (Full module support)

  • GPIO (Full module support)

  • OW (Full module support)

  • RTC (Full module support)

  • DMA (Full module support)

  • Third party modules supported

    • TinyUSB (An open source cross-platform USB stack for embedded system)
    • FatFs (Generic FAT Filesystem Module)

Files added:

  • ./mcu_name/mcu_definitions.h - https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/common/include/mcu_definitions/STM32/mcu_name/mcu_definitions.h
  • ./mcu_name/can_definitions.h - https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/common/include/mcu_definitions/STM32/mcu_name/can_definitions.h
  • ./mcu_name/dma_definitions.h - https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/common/include/mcu_definitions/STM32/mcu_name/dma_definitions.h
    • Added for all new MCUs in mikroSDK where mcu_name is actual chip full name with package, i.e. STM32L412C8Tx etc.
  • ./mcu_name/mcu_reg_addresses.h.h - https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/common/include/mcu_reg_addresses/STM32/mcu_name/mcu_reg_addresses.h
    • Added for all new MCUs in mikroSDK where mcu_name is actual chip full name, i.e. STM32L412C8 etc.

CORE

  • Added USB Clock schemes for the newly supported STM32L4 MCUs:
    • STM32L412C8
    • STM32L412K8
    • STM32L412R8
    • STM32L412T8
    • STM32L412CB
    • STM32L412KB
    • STM32L412RB
    • STM32L412TB
    • STM32L422CB
    • STM32L422KB
    • STM32L422RB
    • STM32L422TB