Skip to content

Releases: MikroElektronika/mikrosdk_v2

mikroSDK v2.7.2 released

09 Mar 13:47
Compare
Choose a tag to compare
  • released: 2023-03-09

Changes

  1. New Features
  2. Improvements
  3. Fixes
  4. NEW HARDWARE
  5. Collaborators

New Features

  • mikroSDK logger modified
    • Added implementation for standard output to terminal
  • mikroSDK modified to include custom boards
    • Feature now allows users to add their own board definitions to mikroSDK seamlessly
    • Modified file
  • Graphic library improved
    • Ellipse added to draw objects

Improvements

  • ILI9341 setup build improved
    • Setup will now be buildable only for devices which have adequate pin connections

Fixes

  • Fixed HAL layer array initialization for 8-bit architectures
    • Previously, MCUs with only one pin per module didn't function correctly
    • Fixed for following modules:
      • ADC
      • I2C
      • PWM
      • SPI
      • UART
  • Fixed uart_configure_default API
    • stop_bits previosuly set incorrectly

NEW HARDWARE

Support added for following hardware:

Collaborators

We would like to thank the following people for contributing:

mikroSDK v2.7.1 released

28 Dec 10:36
Compare
Choose a tag to compare

v2.7.1

  • released: 2022-12-01

2.7.1 Changes

  1. New Features
  2. Improvements
  3. Fixes
  4. NEW HARDWARE

2.7.1 New Features

  • One Wire implementation for AVR
    • Full module support
  • ILI9341 TFT implementation added
    • Added 8/16 bit implementation
  • MIKROE Touch Panel implementation added
    • Using transistor logic
  • API layer touch panel has reduced footprint if MIKROE Touch Panel implementation is used
  • Added header generation based on actual library name
    • For example, in order to include MikroSDK.Driver.OneWire library header, simply type
      • #include "MikroSDK.Driver.OneWire"
    • Implemented for whole SDK project for easier file access

2.7.1 Improvements

  • Uart write/read APIs changed to use actual byte sized data
  • AVR low level UART IVT
    • Added option to switch between IVT and ORG mapping/access for interrupt service routines
  • Timer/PWM code optimised for AVR MCUs
    • Improved code readability
    • Added check for NULL pointers
    • Surplus code moved to MCU specific definition files
  • AVR ATmega UART implementation optimized for high-speed baud rate settings
    • High-speed mode used if regular speed mode error exceeds 2.5% as defined in documentation
  • pin_af_t redefinition issues
    • Reorganized for all ARM and RISC-V MCUs
  • CMake now sets defaults ADC resolution based on specific MCU, not only architecture
  • Added stop bit generation for AVR software I2C implementation

2.7.1 Fixes

  • Fixed reported GITHUB ISSUE
    • Instance handler now set correctly
  • ./targets/avr_8bit/mikroe/avr/src/tim
    • Fixed register addresses
  • ./targets/avr_8bit/mikroe/avr/include
    • Pin maps are no longer linked as weak
  • Added additional ports and pins to AVR GPIO implementation
  • AVR GPIO implementation now functions correctly for all GPIO ports
    • Previously, all ports after H ( I, J, K ... ) didn't work
  • Removed 14 MCUs from mikroSDK due to insufficient memory issues
    • ATmega16
    • ATmega164A
    • ATmega164P
    • ATmega164PA
    • ATmega168
    • ATmega168A
    • ATmega168P
    • ATmega168PA
    • ATmega168PB
    • ATmega169A
    • ATmega169P
    • ATmega169PA
    • ATmega16A
    • ATmega16U4
  • IVT redefined properly for ATXmega E5 MCU series
    • Resulted in addition of another USART module (USART2)
  • Opening existing click tests from mikroSDK project for EasyAVR v8 and v7 resulted in error
  • Opening mikroSDK as a project using a designer setup disables the option to switch to a regular type project
    • Now able to switch freely
  • One-Wire implementation for ARM used to overwrite read data bits/bytes
    • Fix implemented for all ARM MCUs
  • Unable to open specific CMakeLists.txt files from mikroSDK project

2.7.1 NEW HARDWARE

Support added for following hardware:

All new hardware has adequate clock schemes set as well.

mikroSDK v2.7.0 released

01 Dec 13:55
Compare
Choose a tag to compare

v2.7.0

  • released: 2022-12-01

2.7.0 Changes

  1. AVR low level hal support
  2. Improvements
  3. Fixes
  4. NEW HARDWARE
  5. PLANET DEBUG
  6. Collaborators

AVR

AVR MCUs supported!

MCU MCU MCU
AT90USB1286 AT90USB1287 AT90USB646
AT90USB647 ATmega128 ATmega1280
ATmega1281 ATmega1284 ATmega1284P
ATmega128A ATmega16 ATmega164A
ATmega164P ATmega164PA ATmega168
ATmega168A ATmega168P ATmega168PA
ATmega168PB ATmega16A ATmega16U4
ATmega2560 ATmega2561 ATmega32
ATmega324A ATmega324P ATmega324PA
ATmega324PB ATmega328 ATmega32A
ATmega32U4 ATmega64 ATmega640
ATmega644 ATmega644A ATmega644P
ATmega644PA ATmega64A ATxmega128A1U
ATxmega128A3 ATxmega128A3U ATxmega128A4U
ATxmega128B1 ATxmega128B3 ATxmega128D3
ATxmega128D4 ATxmega16A4 ATxmega16A4U
ATxmega16D4 ATxmega16E5 ATxmega192A3
ATxmega192A3U ATxmega192D3 ATxmega256A3
ATxmega256A3B ATxmega256A3BU ATxmega256A3U
ATxmega256D3 ATxmega32A4 ATxmega32A4U
ATxmega32D3 ATxmega32D4 ATxmega32E5
ATxmega384D3 ATxmega64A1U ATxmega64A3
ATxmega64A3U ATxmega64A4U ATxmega64B1
ATxmega64B3 ATxmega64D3 ATxmega64D4
ATmega328PB ATmega169A ATmega169P
ATmega169PA ATmega325 ATmega3250
ATmega3250A ATmega3250P ATmega3250PA
ATmega325A ATmega325P ATmega325PA
ATmega329 ATmega3290 ATmega3290A
ATmega3290P ATmega329A ATmega329P
ATmega329PA ATmega645 ATmega6450
ATmega6450A ATmega6450P ATmega645A
ATmega645P ATmega649 ATmega6490
ATmega6490A ATmega6490P ATmega649A
ATmega649P

Supported modules:

  • NEW Software I2C implemention for AVR MCUs
  • ADC (Full module support)
  • SPI (Full module support)
  • UART (Full module support)
  • I2C (Full module support)
  • PWM (Full module support)
  • GPIO (Full module support)

Files added:

2.7.0 Im...

Read more

mikroSDK v2.6.0 released

16 Jun 15:47
Compare
Choose a tag to compare
  • released: 2022-06-16

2.6.0 Changes

  1. RISC-V low level hal support
  2. New Features
  3. NEW HARDWARE
  4. PLANET DEBUG
  5. Updated relevant development kit package
  6. Test examples

RISC-V SDK

RISV-V MCU architecture supported!

MCU MCU
GD32VF103C4T6 GD32VF103C6T6
GD32VF103C8T6 GD32VF103CBT6
GD32VF103R4T6 GD32VF103R6T6
GD32VF103R8T6 GD32VF103RBT6
GD32VF103T4U6 GD32VF103T6U6
GD32VF103T8U6 GD32VF103TBU6
GD32VF103V8T6 GD32VF103VBT6

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)

Files added:

Read more

mikroSDK v2.5.1 released

04 Mar 11:07
Compare
Choose a tag to compare

v2.5.1

  • released: 2022-03-04

2.5.1 Changes

  1. NEW HARDWARE
  2. Updated relevant development kit package
  3. Improvements
  4. Fixes

2.5.1 NEW HARDWARE

Config files added for adequate NEW boards.

2.5.1 DEVELOPMENT KIT PACKAGE

  • Updated mikroSDK development kit to conform to newly added hardware stated in last paragraph
    • Added new hardware definitions

2.5.1 Improvements

Support added for Enhanced PWM pins in PIC architecture.

185 MCU's in total affected by this change.

You will now be able to utilize pins that are Enhanced PWM capable.
Some PIC18 family devices have Enhanced Capture/Compare/PWM (ECCP) modules.
These modules contain a 16-bit register, which can operate as a 16-bit Capture
register, a 16-bit Compare register or a PWM Master/Slave Duty Cycle register.
These Enhanced Capture/Compare/PWM modules are upward compatible with
Standard Capture/Compare/PWM modules.

Note that all of this is done by the mikroSDK based on the pin selection.

List of MCU's affected:

MCU NAME MCU NAME MCU NAME MCU NAME MCU NAME
PIC18F24J11 PIC18F24J50 PIC18F24K50 PIC18F25J11 PIC18F25J50
PIC18F25K50 PIC18F25K80 PIC18F26J11 PIC18F26J13 PIC18F26J50
PIC18F26J53 PIC18F26K22 PIC18F26K80 PIC18F27J13 PIC18F27J53
PIC18F4455 PIC18F4458 PIC18F44J11 PIC18F44J50 PIC18F4515
PIC18F4525 PIC18F4550 PIC18F4553 PIC18F4585 PIC18F45J11
PIC18F45J50 PIC18F45K22 PIC18F45K50 PIC18F45K80 PIC18F4610
PIC18F4620 PIC18F4680 PIC18F4682 PIC18F4685 PIC18F46J11
PIC18F46J13 PIC18F46J50 PIC18F46J53 PIC18F46K22 PIC18F46K80
PIC18F47J13 PIC18F47J53 PIC18F6520 PIC18F6525 PIC18F6527
PIC18F6585 PIC18F65J10 PIC18F65J11 PIC18F65J15 PIC18F65J50
PIC18F65J94 PIC18F65K22 PIC18F65K80 PIC18F65K90 PIC18F6620
PIC18F6621 PIC18F6622 PIC18F6627 PIC18F6628 PIC18F6680
PIC18F66J10 PIC18F66J11 PIC18F66J15 PIC18F66J16 PIC18F66J50
PIC18F66J55 PIC18F66J60 PIC18F66J65 PIC18F66J94 PIC18F66K22
PIC18F66K80 PIC18F66K90 PIC18F6720 PIC18F6722 PIC18F6723
PIC18F67J10 PIC18F67J11 PIC18F67J50 PIC18F67J60 PIC18F67J94
PIC18F67K22 PIC18F67K90 PIC18F8520 PIC18F8525 PIC18F8527
PIC18F8585 PIC18F85J10 PIC18F85J11 PIC18F85J15 PIC18F85J50
PIC18F85J94 PIC18F85K22 PIC18F85K90 PIC18F8620 PIC18F8621
PIC18F8622 PIC18F8627 PIC18F8628 PIC18F8680 PIC18F86J10
PIC18F86J11 PIC18F86J15 PIC18F86J16 PIC18F86J50 PIC18F86J55
PIC18F86J60 PIC18F86J65 PIC18F86J94 PIC18F86K22 PIC18F86K90
PIC18F8720 PIC18F8722 PIC18F8723 PIC18F87J10 PIC18F87J11
PIC18F87J50 PIC18F87J60 PIC18F87J94 PIC18F87K22 PIC18F87K90
PIC18F95J94 PIC18F96J60 PIC18F96J65 PIC18F96J94 PIC18F97J60
PIC18F97J94 PIC18LF24J11 PIC18LF24J50 PIC18LF24K50 PIC18LF25J11
PIC18LF25J50 PIC18LF25K50 PIC18LF25K80 PIC18LF26J11 PIC18LF26J13
PIC18LF26J50 PIC18LF26J53 PIC18LF26K22 PIC18LF26K80 PIC18LF27J13
PIC18LF27J53 PIC18LF4455 PIC18LF4458 PIC18LF44J11 PIC18LF44J50
PIC18LF4515 PIC18LF4525 PIC18LF4550 PIC18LF4553 PIC18LF4585
PIC18LF45J11 PIC18LF45J50 PIC18LF45K22 PIC18LF45K50 PIC18LF45K80
PIC18LF4610 PIC18LF4620 PIC18LF4680 PIC18LF4682 PIC18LF4685
PIC18LF46J11 PIC18LF46J13 PIC18LF46J50 PIC18LF46J53 PIC18LF46K22
PIC18LF46K80 PIC18LF47J13 PIC18LF47J53 PIC18LF6520 PIC18LF6527
PIC18LF65K80 PIC18LF6622 PIC18LF6627 PIC18LF6628 PIC18LF66K80
PIC18LF6722 PIC18LF6723 PIC18LF8520 PIC18LF8527 PIC18LF8622
PIC18LF8627 PIC18LF8628 PIC18LF8720 PIC18LF8722 PIC18LF8723

2.5.1 Fixes

mikroSDK v2.5.0 released

01 Feb 10:30
Compare
Choose a tag to compare

v2.5.0

  • released: 2022-02-01

2.5.0 Changes

  1. New Features
  2. Mikromedia shields
  3. NEW HARDWARE
  4. Updated relevant development kit package
  5. Improvements
  6. Test examples

2.5.0 New Features

Support added for One Wire protocol

1-Wire protocol utilizes only a single data line for communication,
so don’t you worry about cluttering your project (your MCU as well) with multiple
pins (Mikroe’s Click boards that are 1-Wire capable are predominately using PWM pin for this action).
Devices that are 1-Wire capable have something unique to themselves – ROM address – which, in its core,
is a 64-bit number, helping product designers create hardware products with “serial numbers” embedded in them,
replacing traditional physical labels for product’s serial number.

2.5.0 Mikromedia shields

2.5.0 NEW HARDWARE

Config files added for adequate NEW boards.

2.5.0 DEVELOPMENT KIT PACKAGE

  • Updated mikroSDK development kit to conform to newly added hardware stated in last paragraph
    • Added all 3 new hardware definitions

2.5.0 Improvements

  • Added following calculated delays
    • 5 us
    • 6 us
    • 9 us
    • 10 us
    • 55 us
    • 60 us
    • 64 us
    • 70 us
    • 410 us
    • 480 us
  • Added common_macros.h header file
    • All macros shall be declared in one file

2.5.0 Test examples

  • Added following test examples
    • one_wire
      • General One Wire testing
    • clicks
      • one_wire
        • thermo_2_click
          • Test showcases current ambient temperature via UART terminal

mikroSDK v2.4.0 released

28 Dec 07:54
Compare
Choose a tag to compare

v2.4.0

  • released: 2021-12-28

2.4.0 Changes

  1. Resistive displays
  2. Middleware
    1. STMPE811
    2. STMPE810
    3. STMPE610
    4. TSC2003
  3. Mikromedia shields
  4. NEW HARDWARE
  5. Updated relevant development kit package
  6. Fixes
  7. Improvements
  8. Recursive build automation
  9. Test examples
  10. Collaborators

2.4.0 Resistive displays

Support added for 4 resistive displays.

Displays have SSD1963 controller, which is already supported, and STMPE811 touch controller.

2.4.0 Middleware

STMPE811

STMPE811 Datasheet.

STMPE810

Added STMPE811 library is compatible with STMPE810.

For the sake of simplicity, STMPE810 devices will use STMPE811 library.

Please refer to STMPE811.

STMPE610

Added STMPE811 library is compatible with STMPE610.

For the sake of simplicity, STMPE610 devices will use STMPE811 library.

Please refer to STMPE811.

TSC2003

Support added for TI's TSC2003 touch controller.

Note:

Library is functional, but will be officialy added in Necto later.

2.4.0 Mikromedia shields

2.4.0 NEW HARDWARE

Config files added for adequate NEW boards.

2.4.0 DEVELOPMENT KIT PACKAGE

  • Updated mikroSDK development kit to conform to newly added hardware stated in last paragraph
    • Added all 11 new hardware definitions

2.4.0 Fixes

  • Fixed inadequate UART alternate function setting for STM32F1x chips
    • Inadequate alternate function setting for certain pins
  • Fixed all baud rate calculation return values
    • HAL_LL functions for calculating baud rates now all return actual baud set on hardware
  • Some MK22x chips didn't have all NVIC defined
    • 20 files in total
  • Fixed all issues with inadequate pin checking types
    • e.g trying to place a word value in a byte variable
  • Updated low level UART impelementations
    • Adequately sets stop bits, data bits and parity settings

2.4.0 Improvements

  • NXP High Speed ADC
    • All MKV5x chips now have a fully supported HSADC module
    • Results in High speed ADC (HSADC) adds faster and more precise measurements to any project
  • Touch Panel library no longer requires constant values for screen width and height
    • Done by memake python automation
  • The addition of shields for Mikromedia boards now allows for Click example building and testing
  • Removed unnecessary handle checking in low level implementations
    • Results in quicker code execution
  • Changed board macro naming convention for DIP connections

2.4.0 Recursive build automation

Updated powershell script for automated recursive SDK build.

Script now writes adequate progress level based on run settings.

Files changed:

For more information, please refer to main script DESCRIPTION

2.4.0 Test examples

Updated tft_touch_panel test example.

Example is updated to work with new resistive displays and touch controllers.

2.4.0 Collaborators

We would like to thank the following people for contributing:

mikroSDK v2.3.0 released

27 Oct 21:40
Compare
Choose a tag to compare
# mikroSDK `v2.3.0`
## Changes

### TIVA SDK

Support added for 71 Texas Instruments TIVA MCU's.

| CHIP NAME       | CHIP NAME       | CHIP NAME       |
|-----------------|-----------------|-----------------|
| TM4C1230C3PM    | TM4C1230D5PM    | TM4C1230E6PM    |
| TM4C1230H6PM    | TM4C1231C3PM    | TM4C1231D5PM    |
| TM4C1231D5PZ    | TM4C1231E6PM    | TM4C1231E6PZ    |
| TM4C1231H6PGE   | TM4C1231H6PM    | TM4C1231H6PZ    |
| TM4C1232C3PM    | TM4C1232D5PM    | TM4C1232E6PM    |
| TM4C1232H6PM    | TM4C1233C3PM    | TM4C1233D5PM    |
| TM4C1233D5PZ    | TM4C1233E6PM    | TM4C1233E6PZ    |
| TM4C1233H6PGE   | TM4C1233H6PM    | TM4C1233H6PZ    |
| TM4C1236D5PM    | TM4C1236E6PM    | TM4C1236H6PM    |
| TM4C1237D5PM    | TM4C1237D5PZ    | TM4C1237E6PM    |
| TM4C1237E6PZ    | TM4C1237H6PGE   | TM4C1237H6PM    |
| TM4C1237H6PZ    | TM4C123AE6PM    | TM4C123AH6PM    |
| TM4C123BE6PM    | TM4C123BE6PZ    | TM4C123BH6PGE   |
| TM4C123BH6PM    | TM4C123BH6PZ    | TM4C123BH6ZRB   |
| TM4C123FE6PM    | TM4C123FH6PM    | TM4C123GE6PM    |
| TM4C123GE6PZ    | TM4C123GH6PGE   | TM4C123GH6PM    |
| TM4C123GH6PZ    | TM4C123GH6ZRB   | TM4C123GH6ZXR   |
| TM4C1290NCPDT   | TM4C1290NCZAD   | TM4C1292NCPDT   |
| TM4C1292NCZAD   | TM4C1294KCPDT   | TM4C1294NCPDT   |
| TM4C1294NCZAD   | TM4C1297NCZAD   | TM4C1299KCZAD   |
| TM4C1299NCZAD   | TM4C129CNCPDT   | TM4C129CNCZAD   |
| TM4C129DNCPDT   | TM4C129DNCZAD   | TM4C129EKCPDT   |
| TM4C129ENCPDT   | TM4C129ENCZAD   | TM4C129LNCZAD   |
| TM4C129XKCZAD   | TM4C129XNCZAD   |

Supported modules:

1. ADC
   + Full module support
2. SPI
   + Full module support
3. UART
   + Full module support
   + Implemented using interrupts
4. I2C
   + Full module support
5. PWM
   + Full module support
6. GPIO
   + Full module support

### NEW HARDWARE

+ New board definitions added:
  + Fusion for TIVA v8 - <https://www.mikroe.com/fusion-for-tiva>
  + EasyMX Pro v7 for TIVA - <https://www.mikroe.com/easymx-pro-tiva>
  + MCU CARD FOR TIVA TM4C129XNCZAD - <https://www.mikroe.com/mcu-card-for-tiva-tm4c129xnczad>
  + MCU CARD FOR TIVA TM4C1294NCZAD - <https://www.mikroe.com/mcu-card-for-tiva-tm4c1294nczad>
  + MCU CARD FOR TIVA TM4C129XKCZAD - <https://www.mikroe.com/mcu-card-for-tiva-tm4c129xkczad>
  + MCU CARD FOR TIVA TM4C129LNCZAD - <https://www.mikroe.com/mcu-card-for-tiva-tm4c129lnczad>
  + MCU CARD FOR TIVA TM4C129ENCZAD - <https://www.mikroe.com/mcu-card-for-tiva-tm4c129enczad>
  + MCU CARD FOR TIVA TM4C1299KCZAD - <https://www.mikroe.com/mcu-card-for-tiva-tm4c1299kczad>
  + MCU CARD FOR TIVA TM4C1299NCZAD - <https://www.mikroe.com/mcu-card-for-tiva-tm4c1299nczad>
  + MCU CARD 2 FOR TIVA TM4C123GH6PZ - <https://www.mikroe.com/mcu-card-2-for-tiva-tm4c123gh6pz>
  + MCU CARD 3 FOR TIVA TM4C1294KCPDT - <https://www.mikroe.com/mcu-card-3-for-tiva-tm4c1294kcpdt>
  + MCU CARD 3 FOR TIVA TM4C1294NCPDT - <https://www.mikroe.com/mcu-card-3-for-tiva-tm4c1294ncpdt>
  + MCU CARD 3 FOR TIVA TM4C129EKCPDT - <https://www.mikroe.com/mcu-card-3-for-tiva-tm4c129ekcpdt>
  + MCU CARD 3 FOR TIVA TM4C129ENCPDT - <https://www.mikroe.com/mcu-card-3-for-tiva-tm4c129encpdt>
  + EasyMx PRO v7 for Tiva MCU card with TM4C123GH6PMI - <https://www.mikroe.com/easymx-pro-v7-tiva-tm4c123gh6pmi>
  + EasyMx PRO v7 for Tiva MCU card with TM4C123GH6PZL - <https://www.mikroe.com/easymx-pro-v7-tiva-tm4c123gh6pzl>
  + EasyMx PRO v7 for Tiva MCU card with TM4C129XNCZAD - <https://www.mikroe.com/easymx-pro-v7-tiva-tm4c129xnczad>
+ Updated adequate manifest files
+ Configuration files updated

### Development kit package

+ Updated mikroSDK development kit to conform to newly added hardware stated in last paragraph
  + Added all 17 new hardware definitions

### Added adequate configuration files

Configuration files for following hardware has been added:

+ Clicker 2 for PIC18FJ - <https://www.mikroe.com/clicker-2-pic18fj>
+ PIC32MX Clicker - <https://www.mikroe.com/clicker-pic32mx>
+ Clicker 2 for PIC32MZ - <https://www.mikroe.com/clicker-2-for-pic32mz>

### PLANET DEBUG

PLANET DEBUG setups updated with mikroSDK packages.

Now, all click examples can be run out of the box on PLANET DEBUG.

3 systems have been updated:
  + Fusion for TIVA v8 - 1
  + Fusion for TIVA v8 - 2
  + Fusion for TIVA v8 - 3

For more information on PLANET DEBUG please visit following LINK - <https://www.mikroe.com/planet-debug>

### Recursive build automation

Updated powershell script for automated recursive SDK build.

Files changed:

+ ReadMe.md - <https://github.com/MikroElektronika/mikrosdk_v2/blob/master/scripts/ReadMe.md>
+ build-hal-recursion-ci.ps1 - <https://github.com/MikroElektronika/mikrosdk_v2/blob/master/scripts/build-hal-recursion-ci.ps1>
+ utility.ps1 - <https://github.com/MikroElektronika/mikrosdk_v2/blob/master/scripts/utility.ps1>
+ customParams.json - <https://github.com/MikroElektronika/mikrosdk_v2/blob/master/scripts/customParams.json>

For more information, please refer to main script DESCRIPTION:<https://github.com/MikroElektronika/mikrosdk_v2/blob/master/scripts/ReadMe.md)

### Test examples

Added following test examples:

+ clicks
  + SPI
    + click_magneto
  + UART
    + click_samltouch

Examples are used for testing mikroSDK specific module cases.

## Collaborators

For a full list of collaborators, please refer to the following document:
<https://github.com/MikroElektronika/mikrosdk_v2/blob/master/CHANGELOG.md#230-collaborators>

mikroSDK v2.2.0 released

30 Sep 10:34
Compare
Choose a tag to compare
# mikroSDK `v2.2.0`
## Changes

### NXP KINETIS SDK

Support added for 147 NXP Kinetis MCU's.

| CHIP NAME       | CHIP NAME       | CHIP NAME       | CHIP NAME       | CHIP NAME       |
|-----------------|-----------------|-----------------|-----------------|-----------------|
| MK20DN128VFM5   | MK20DN128VFT5   | MK20DN128VLF5   | MK20DN128VLH5   | MK20DN128VMP5   |
| MK20DN32VFM5    | MK20DN32VFT5    | MK20DN32VLF5    | MK20DN32VLH5    | MK20DN32VMP5    |
| MK20DN64VFM5    | MK20DN64VFT5    | MK20DN64VLF5    | MK20DN64VLH5    | MK20DN64VMP5    |
| MK20DX128VFM5   | MK20DX128VFT5   | MK20DX128VLF5   | MK20DX128VLH5   | MK20DX32VFM5    |
| MK20DX32VFT5    | MK20DX32VLF5    | MK20DX32VLH5    | MK20DX32VMP5    | MK20DX64VFM5    |
| MK20DX64VFT5    | MK20DX64VLF5    | MK20DX64VLH5    | MK20DX64VMP5    | MK22FN128CAH12  |
| MK22FN128VDC10  | MK22FN128VLH10  | MK22FN128VLL10  | MK22FN128VMP10  | MK22FN1M0AVLH12 |
| MK22FN1M0AVLK12 | MK22FN1M0AVLL12 | MK22FN1M0AVLQ12 | MK22FN1M0AVMC12 | MK22FN1M0AVMD12 |
| MK22FN1M0VLH12  | MK22FN1M0VLK12  | MK22FN1M0VLL12  | MK22FN1M0VLQ12  | MK22FN1M0VMC12  |
| MK22FN1M0VMD12  | MK22FN256CAH12  | MK22FN256VDC12  | MK22FN256VLH12  | MK22FN256VLL12  |
| MK22FN256VMP12  | MK22FN512CAP12  | MK22FN512VDC12  | MK22FN512VFX12  | MK22FN512VLH12  |
| MK22FN512VLL12  | MK22FN512VMP12  | MK22FX512AVLH12 | MK22FX512AVLK12 | MK22FX512AVLL12 |
| MK22FX512AVLQ12 | MK22FX512AVMC12 | MK22FX512AVMD12 | MK22FX512VLH12  | MK22FX512VLK12  |
| MK22FX512VLL12  | MK22FX512VLQ12  | MK22FX512VMC12  | MK22FX512VMD12  | MK51DN256CLQ10  |
| MK51DN256CMD10  | MK51DN512CLL10  | MK51DN512CLQ10  | MK51DN512CMC10  | MK51DN512CMD10  |
| MK51DX256CLK10  | MK51DX256CLL10  | MK51DX256CMC10  | MK53DN512CLQ10  | MK53DN512CMD10  |
| MK53DX256CLQ10  | MK53DX256CMD10  | MK60DN256VLL10  | MK60DN256VLQ10  | MK60DN256VMC10  |
| MK60DN256VMD10  | MK60DN512VLL10  | MK60DN512VLQ10  | MK60DN512VMC10  | MK60DN512VMD10  |
| MK60DX256VLL10  | MK60DX256VLQ10  | MK60DX256VMC10  | MK60DX256VMD10  | MK64FN1M0CAJ12  |
| MK64FN1M0VDC12  | MK64FN1M0VLL12  | MK64FN1M0VLQ12  | MK64FN1M0VMD12  | MK64FX512VDC12  |
| MK64FX512VLL12  | MK64FX512VLQ12  | MK64FX512VMD12  | MK65FN2M0CAC18  | MK65FN2M0VMI18  |
| MK65FX1M0CAC18  | MK65FX1M0VMI18  | MK66FN2M0VLQ18  | MK66FN2M0VMD18  | MK66FX1M0VLQ18  |
| MK66FX1M0VMD18  | MK80FN256VDC15  | MK80FN256VLL15  | MK80FN256VLQ15  | MK82FN256VDC15  |
| MK82FN256VLL15  | MK82FN256VLQ15  | MKV42F128VLF16  | MKV42F128VLH16  | MKV42F128VLL16  |
| MKV42F256VLH16  | MKV42F256VLL16  | MKV42F64VLF16   | MKV42F64VLH16   | MKV44F128VLF16  |
| MKV44F128VLH16  | MKV44F128VLL16  | MKV44F256VLH16  | MKV44F256VLL16  | MKV44F64VLF16   |
| MKV44F64VLH16   | MKV46F128VLH16  | MKV46F128VLL16  | MKV46F256VLH16  | MKV46F256VLL16  |
| MKV56F1M0VLL24  | MKV56F1M0VLQ24  | MKV56F1M0VMD24  | MKV56F512VLL24  | MKV56F512VLQ24  |
| MKV56F512VMD24  | MKV58F1M0VLL24  | MKV58F1M0VLQ24  | MKV58F1M0VMD24  | MKV58F512VLL24  |
| MKV58F512VLQ24  | MKV58F512VMD24  |

Supported modules:

1. ADC
  + Full module support
2. SPI
  + Full module support
3. UART
  + Full module support
  + Implemented using interrupts
4. I2C
  + Full module support
5. PWM
  + Full module support
6. GPIO
  + Full module support

### New hardware

+ Added adequate board definition files
+ Updated adequate manifest files
+ Configuration files updated
+ Hardware list:
  + Fusion for KINETIS v8 - <https://www.mikroe.com/fusion-for-kinetis>
  + EasyPIC v7a - <https://www.mikroe.com/easypic-v7a>
  + EasyPIC PRO v7a - <https://www.mikroe.com/easypic-pro-v7a>
  + Kinetis Clicker - <https://www.mikroe.com/clicker-kinetis>
  + Clicker 2 for Kinetis - <https://www.mikroe.com/clicker-2-kinetis>
  + Hexiwear Workstation - <https://www.mikroe.com/hexiwear-workstation>
  + Hexiwear Docking Station - <https://www.mikroe.com/hexiwear-docking-station>
  + Hexiwear Battery Pack - <https://www.mikroe.com/hexiwear-battery-pack>
  + Quail - <https://www.mikroe.com/quail>
  + FlowPaw - <https://www.mikroe.com/flowpaw-kit>
  + Mikromedia 3 for Kinetis Capacitive - <https://www.mikroe.com/mikromedia-3-for-kinetis-capacitive>
  + Mikromedia 3 for Kinetis Capacitive FPI with Frame - <https://www.mikroe.com/mikromedia-3-for-kinetis-capacitive-fpi-with-frame>
  + Mikromedia 3 for Kinetis Capacitive FPI with Bezel - <https://www.mikroe.com/mikromedia-3-for-kinetis-capacitive-fpi-with-bezel>
  + Mikromedia 4 for Kinetis Capacitive - <https://www.mikroe.com/mikromedia-4-for-kinetis-capacitive>
  + Mikromedia 4 for Kinetis Capacitive FPI with Frame - <https://www.mikroe.com/mikromedia-4-for-kinetis-capacitive-fpi-with-frame>
  + Mikromedia 4 for Kinetis Capacitive FPI with Bezel - <https://www.mikroe.com/mikromedia-4-for-kinetis-capacitive-fpi-with-bezel>
  + Mikromedia 5 for Kinetis Capacitive - <https://www.mikroe.com/mikromedia-5-for-kinetis-capacitive>
  + Mikromedia 5 for Kinetis Capacitive FPI with Frame - <https://www.mikroe.com/mikromedia-5-for-kinetis-capacitive-fpi-with-frame>
  + Mikromedia 5 for Kinetis Capacitive FPI with Bezel - <https://www.mikroe.com/mikromedia-5-for-kinetis-capacitive-fpi-with-bezel>
  + MCU CARD FOR KINETIS MK64FN1M0VDC12 - <https://www.mikroe.com/mcu-card-for-kinetis-mk64fn1m0vdc12>
  + MCU CARD FOR KINETIS MK64FX512VDC12 - <https://www.mikroe.com/mcu-card-for-kinetis-mk64fx512vdc12>
  + MCU CARD 2 FOR KINETIS MK20DN128VFM5 - <https://www.mikroe.com/mcu-card-2-for-kinetis-mk20dn128vfm5>
  + MCU CARD 2 FOR KINETIS MK20DX128VFM5 - <https://www.mikroe.com/mcu-card-2-for-kinetis-mk20dx128vfm5>
  + MCU CARD 3 FOR KINETIS MKV58F1M0VLQ24 - <https://www.mikroe.com/mcu-card-3-for-kinetis-mkv58f1m0vlq24>
  + MCU CARD 4 FOR KINETIS MK51DN512CLQ10 - <https://www.mikroe.com/mcu-card-4-for-kinetis-mk51dn512clq10>
  + MCU CARD 5 FOR KINETIS MKV42F64VLH16 - <https://www.mikroe.com/mcu-card-5-for-kinetis-mkv42f64vlh16>
  + MCU CARD 10 FOR KINETIS MK60DN512VLQ10 - <https://www.mikroe.com/mcu-card-10-for-kinetis-mk60dn512vlq10>

### Development kit package

+ Updated mikroSDK development kit to conform to newly added hardware stated in last paragraph
  + Added all 27 new hardware definitions

## PLANET DEBUG

PLANET DEBUG setups updated with mikroSDK packages.

Now, all click examples can be run out of the box on PLANET DEBUG.

5 systems have been updated:
  + Fusion for KINETIS v8 - 1
  + Fusion for KINETIS v8 - 2
  + Fusion for KINETIS v8 - 3
  + Fusion for KINETIS v8 - 4
  + Fusion for ARM v8 - 5

For more information on PLANET DEBUG please visit following LINK - <https://www.mikroe.com/planet-debug>

## Fixes

+ Removed following chips from mikroSDK
  + STM32H743AGIx
  + STM32H743VGHx
  + STM32L082KBTx
  + STM32L082KBUx

Chips were initially added by mistake.
They aren't supported in mikroC AI for ARM toolchain.

+ Added CPP guards to all board.h files

## Improvements

+ Added STM32G071R6Tx to mikroSDK
  + Full mikroBUS module support
+ Static global handler initial value added
  + SPI module; STM32 implementation
+ Added guard for HAL_PIN_NC pins
  + Code exits faster in case of undeclared pins
  + Implemented for 46 source files

### Git relevant updates

+ Added workflow improvements ( CI/CD ):
  + Automated response to issue creation
  + Automated response to first contribution

## Test examples

*Added following mikroBUS test examples:*

+ `mikrobus`
  + `adc`
    + Reads raw adc data and outputs it via UART
  + `gpio`
    + Sets all mikroBUS pins as digital outputs and toggles them in defined interval
  + `i2c`
    + Writes data to EEPROM click, reads it and compares it
  + `spi`
    + Writes data to SRAM click, reads it and compares it
  + `pwm`
    + Tests all mikroBUS PWM pins by toggling duty cycle from max to min in defined steps
  + `uart`
    + Test all mikroBUS pins using a simple echo example

All examples test all mikroBUS pins defined in adequate `board.h` file.

Each example can be used to test a single pin/module as well.

For more information, please refer to each example and adequate `ReadMe.txt` file.

## Collaborators

For a full list of collaborators, please reffer to the following document:
<https://github.com/MikroElektronika/mikrosdk_v2/blob/master/CHANGELOG.md#220-collaborators>

mikroSDK v2.1.1 released

24 Aug 07:41
Compare
Choose a tag to compare

mikroSDK v2.1.1

Released: 2021-08-24

Changes

New hardware

Development kit package

  • Updated mikroSDK development kit to conform to newly added hardware stated in last paragraph
    • Added all 31 new hardware definitions

Fixes

  • Designer projects did not work for 8-bit data ports with higher nibble connections
    • e.g -> data port is PORTE pins 8:15
  • Added adequate defenders for SPI and ADC low level implementation for PIC devices
  • mikroSDK build tool description spelling fixed
  • PIC Q10 chips I2C baud rate setting
    • Sets correct baud rates now
    • Before the fix, setting 400K would result in 100K on HW
  • I2C busy bit was always high after clock init
    • Affects STM32F101 and STM32F103 series of chips
    • ERRATA page 23, paragraph 2.12.7
  • PIC32 Logger issue
    • Sending data immediatelly after logger initialization resulted in lost data
  • STM32 M7 Uart fix
    • Sending/receiving large amounts of data resulted in register overflow
  • Missing function declaration for PIC 8-bit chips
    • hal_ll_spi_master_hw_init added
  • Unable to edit ANCON3 register values for some PIC 8-bit chips if PPS Lock bit is set
  • UART general issue
    • Implemented waiting for buffers to be empty before reinitializing the module
    • UART now returns 0 if no data hs been written/read
      • Previously it returned -1
  • Fixed structure data access
    • Changed -> to . where necessary
  • Fixed pin check result variable size
  • Fixed setting pins as digital input for 50 PIC32MX chips
    • Fixed analog maps
  • STM32LxSy chips GPIO fix
    • PORTG pins didn't work as expected
  • Designer code generation was wrong for 4 inch bezel mikromedia boards
    • Touchpanel orientation was required

Improvements

  • Libraries are now separated per module
    • More efficient
    • Conserves memory
    • No need to include all libraries
      • Include only the one you need
  • Implemented selection per module
    • Now, if same set of pins is available on a different module, that module will be mapped
  • Implemented graphic library port mask selection
  • Designer template now depends on memake file and has unified code for TFT manipulation
  • SPI for PIC 8-bit chips now sets baud rate more precisely
    • Previously implemented by using hardware module dividers(2,4,8...)
  • Implemented adequate slew rate setting for PIC32 chips
    • Affects SPI module specifically
  • Removed slew rate setting for 8-bit PIC chips which don't need it
    • Code optimized further
  • SPI click board templates now include data sampling selection
    • 8-bit PIC chips
      • e.g middle,end...
  • SPI initial SCK line glitch on PIC32 chips fixed
  • Unified unused register naming in all low level sources
  • Removed excess verifications
    • Excess NULL pointer check
    • Excess pin name checks
  • Shared registers for some PIC 8-bit chips
    • Implemented for following chips
      • PIC18F65J50
      • PIC18F66J50
      • PIC18F66J55
      • PIC18F67J50
      • PIC18F85J50
      • PIC18F86J50
      • PIC18F86J55
      • PIC18F87J50
  • Added nibble control macros for all architectures
  • Added mikromedia support for PIC 32-bit chips
  • Added mikromedia support for PIC 8-bit chips

Git relevant updates

Test examples

Added following test examples:

  • adc
    • Outputs AD conversion result on diodes or UART terminal
  • clicker_buttons
    • Defined test for MikroE clicker boards
  • gpio
    • Tests all GPIO functions
  • i2c
    • Tests all I2C functions
  • mikrobus
    • Tests all MikroE development board MikroBUS connections
  • pwm
    • Tests all PWM/TIM functions
  • spi
    • Tests all SPI functions
  • tft_jig
    • Test all TFT panel connections
  • tft_touch_panel
    • Tests TFT Touch panel with basic example
  • uart
    • Tests all UART functions
  • clicks
    • Tests all modules on specifically selected click boards
      • adc
        • click_ambient_7
        • click_force
        • click_hall_current_5
        • click_pressure_12
        • click_slider_2
      • gpio
        • click_4x4_rgb
        • click_cap_touch
        • click_opto_encoder_3
        • click_pll
        • click_sht1x
        • click_vibra_sense
      • i2c
        • click_6dof_imu_11
        • click_altitude_3
        • click_color_9
        • click_ecg_6
        • click_light_ranger_2
      • pwm
        • click_brushless
        • click_button_y
        • click_dc_motor_8
        • click_led_driver_6
        • click_stspin250
      • spi
        • click_bee
        • click_ccrf_2
        • click_eink_290_inch
        • click_magneto_2
        • click_oledc
      • uart
        • click_barcode
        • click_ble_8
        • click_fingerprint_2
        • click_iqrf_2
        • click_lte_iot_2

All examples have a minimum memory requirement, which is handled in each memake.txt file
separately.

For more information, please refer to each example and a ReadMe.txt if existant.

Recursive build automation

Added powershell script for automated recursive SDK build.

Files added:

For more information, please refer to main script [DESCRIPTION](https://github.com/MikroElektronika/mikrosdk_v2/tree/mas...

Read more