Skip to content

Commit

Permalink
# mikroSDK v2.4.0
Browse files Browse the repository at this point in the history
## Changes

### Resistive displays

Support added for 4 resistive displays.

+ Displays added:
    + TFT Board 3 Resistive - <https://www.mikroe.com/tft-board-3-resistive>
        + SCHEMATIC - <https://download.mikroe.com/tft_board_resistive/tft-board-3-resisitive-schematic.pdf>
    + TFT Board 4 Resistive - <https://www.mikroe.com/tft-board-4-resistive>
        + SCHEMATIC - <https://download.mikroe.com/tft_board_resistive/tft-board-4-resisitive-schematic.pdf>
    + TFT Board 5 Resistive - <https://www.mikroe.com/tft-board-5-resistive>
        + SCHEMATIC - <https://download.mikroe.com/tft_board_resistive/tft-board-5-resisitive-schematic.pdf>
    + TFT Board 7 Resistive - <https://www.mikroe.com/tft-board-7-resistive>
        + SCHEMATIC - <https://download.mikroe.com/tft_board_resistive/tft-board-7-resisitive-schematic.pdf>

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

### Middleware

#### STMPE811

Support added for STMPE811 touch controller.

+ Files added:
    + stmpe811.h - <https://github.com/MikroElektronika/mikrosdk_v2/blob/master/middleware/stmpe811/lib/include/stmpe811.h>
    + stmpe811.c - <https://github.com/MikroElektronika/mikrosdk_v2/blob/master/middleware/stmpe811/lib/src/stmpe811.c>
    + memake.txt - <https://github.com/MikroElektronika/mikrosdk_v2/blob/master/middleware/stmpe811/lib/memake.txt>

[STMPE811 Datasheet](https://media.digikey.com/pdf/Data%20Sheets/ST%20Microelectronics%20PDFS/STMPE811.pdf).

#### STMPE810

Added STMPE811 library is compatible with STMPE810.

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

Please refer to [STMPE811](#stmpe811).

#### STMPE610

Added STMPE811 library is compatible with STMPE610.

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

Please refer to [STMPE811](#stmpe811).

#### TSC2003

Support added for TI's TSC2003 touch controller.

+ Files added:
    + tsc2003.h - <https://github.com/MikroElektronika/mikrosdk_v2/blob/master/middleware/tsc2003/lib/include/tsc2003.h>
    + tsc2003.c - <https://github.com/MikroElektronika/mikrosdk_v2/blob/master/middleware/tsc2003/lib/src/tsc2003.c>
    + memake.txt - <https://github.com/MikroElektronika/mikrosdk_v2/blob/master/middleware/tsc2003/lib/memake.txt>

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

### Mikromedia shields

+ Connector definitions for mikromedia shields have been added
    + Mikromedia 3 Capacitive shield - <https://www.mikroe.com/mikromedia-3-capacitive-shield>
    + Mikromedia 4 Capacitive shield - <https://www.mikroe.com/mikromedia-4-capacitive-shield>
    + Mikromedia 5 Capacitive shield - <https://www.mikroe.com/mikromedia-5-capacitive-shield>
    + Mikromedia 7 Capacitive shield - <https://www.mikroe.com/mikromedia-7-capacitive-shield>

### NEW HARDWARE

+ New board definitions added:
    + TFT Board 3 Resistive - <https://www.mikroe.com/tft-board-3-resistive>
    + TFT Board 4 Resistive - <https://www.mikroe.com/tft-board-4-resistive>
    + TFT Board 5 Resistive - <https://www.mikroe.com/tft-board-5-resistive>
    + TFT Board 7 Resistive - <https://www.mikroe.com/tft-board-7-resistive>
    + Mikromedia 3 for PIC Capacitive FPI with bezel - <https://www.mikroe.com/mikromedia-3-for-pic-capacitive-fpi-with-bezel>
    + Mikromedia 3 for PIC Capacitive FPI with frame - <https://www.mikroe.com/mikromedia-3-for-pic-capacitive-fpi-with-frame>
    + Mikromedia Plus for PIC32MX7 - <https://www.mikroe.com/mikromedia-4-pic32mx7>
    + Mikromedia Plus for STM32 - <https://www.mikroe.com/mikromedia-4-stm32f4>
    + Mikromedia Plus for STM32F7 - <https://www.mikroe.com/mikromedia-4-stm32f7>
    + Mikromedia 7 for STM32F4 - <https://www.mikroe.com/mikromedia-7-stm32f4>
    + Mikromedia 7 for STM32F7 - <https://www.mikroe.com/mikromedia-7-stm32f7>
+ 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 11 new hardware definitions

### 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

### 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

### Recursive build automation

Updated powershell script for automated recursive SDK build.

Script now writes adequate progress level based on run settings.

Files changed:

+ 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>

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

### Test examples

Updated tft_touch_panel test example.

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

## Collaborators

For a full list of collaborators, please refer to the following document:
<https://github.com/MikroElektronika/mikrosdk_v2/blob/master/CHANGELOG.md#240-collaborators>
  • Loading branch information
MarkoZiv committed Dec 28, 2021
1 parent 1f0cc98 commit d8a2efc
Show file tree
Hide file tree
Showing 118 changed files with 7,291 additions and 1,262 deletions.
166 changes: 166 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

**VERSIONS:**

+ **[v2.4.0](#v240)**
+ **[v2.3.0](#v230)**
+ **[v2.2.0](#v220)**
+ **[v2.1.1](#v211)**
Expand All @@ -17,6 +18,171 @@
---
---

## `v2.4.0`

+ released: 2021-12-21

### `2.4.0` Changes

1. **[Resistive displays](#240-resistive-displays)**
2. **[Middleware](#240-middleware)**
1. **[STMPE811](#stmpe811)**
2. **[STMPE810](#stmpe810)**
3. **[STMPE610](#stmpe610)**
4. **[TSC2003](#tsc2003)**
3. **[Mikromedia shields](#240-mikromedia-shields)**
4. **[NEW HARDWARE](#240-new-hardware)**
5. Updated relevant **[development kit package](#240-development-kit-package)**
6. **[Fixes](#240-fixes)**
7. **[Improvements](#240-improvements)**
8. **[Recursive build automation](#240-recursive-build-automation)**
9. **[Test examples](#240-test-examples)**
10. **[Collaborators](#240-collaborators)**

#### `2.4.0` Resistive displays

Support added for 4 resistive displays.

+ Displays added:
+ **[TFT Board 3 Resistive](https://www.mikroe.com/tft-board-3-resistive)**
+ [SCHEMATIC](https://download.mikroe.com/tft_board_resistive/tft-board-3-resisitive-schematic.pdf)
+ **[TFT Board 4 Resistive](https://www.mikroe.com/tft-board-4-resistive)**
+ [SCHEMATIC](https://download.mikroe.com/tft_board_resistive/tft-board-4-resisitive-schematic.pdf)
+ **[TFT Board 5 Resistive](https://www.mikroe.com/tft-board-5-resistive)**
+ [SCHEMATIC](https://download.mikroe.com/tft_board_resistive/tft-board-5-resisitive-schematic.pdf)
+ **[TFT Board 7 Resistive](https://www.mikroe.com/tft-board-7-resistive)**
+ [SCHEMATIC](https://download.mikroe.com/tft_board_resistive/tft-board-7-resisitive-schematic.pdf)

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

#### `2.4.0` Middleware

##### STMPE811

+ Files added:
+ [stmpe811.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/middleware/stmpe811/lib/include/stmpe811.h)
+ [stmpe811.c](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/middleware/stmpe811/lib/src/stmpe811.c)
+ [memake.txt](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/middleware/stmpe811/lib/memake.txt)

[STMPE811 Datasheet](https://datasheetspdf.com/pdf-file/633509/STMicroelectronics/STMPE811/1).

##### STMPE810

Added `STMPE811` library is compatible with `STMPE810`.

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

Please refer to [STMPE811](#stmpe811).

##### STMPE610

Added `STMPE811` library is compatible with `STMPE610`.

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

Please refer to [STMPE811](#stmpe811).

##### TSC2003

Support added for TI's `TSC2003` touch controller.

+ Files added:
+ [tsc2003.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/middleware/tsc2003/lib/include/tsc2003.h)
+ [tsc2003.c](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/middleware/tsc2003/lib/src/tsc2003.c)
+ [memake.txt](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/middleware/tsc2003/lib/memake.txt)

> Note:
>> Library is functional, but will be officialy added in Necto later.
#### `2.4.0` Mikromedia shields

+ Connector definitions for mikromedia shields have been added
+ [Mikromedia 3 Capacitive shield](https://www.mikroe.com/mikromedia-3-capacitive-shield)
+ [Mikromedia 4 Capacitive shield](https://www.mikroe.com/mikromedia-4-capacitive-shield)
+ [Mikromedia 5 Capacitive shield](https://www.mikroe.com/mikromedia-5-capacitive-shield)
+ [Mikromedia 7 Capacitive shield](https://www.mikroe.com/mikromedia-7-capacitive-shield)

#### `2.4.0` NEW HARDWARE

+ New board definitions added:
+ [TFT Board 3 Resistive](https://www.mikroe.com/tft-board-3-resistive)
+ [TFT Board 4 Resistive](https://www.mikroe.com/tft-board-4-resistive)
+ [TFT Board 5 Resistive](https://www.mikroe.com/tft-board-5-resistive)
+ [TFT Board 7 Resistive](https://www.mikroe.com/tft-board-7-resistive)
+ [Mikromedia 3 for PIC Capacitive FPI with bezel](https://www.mikroe.com/mikromedia-3-for-pic-capacitive-fpi-with-bezel)
+ [Mikromedia 3 for PIC Capacitive FPI with frame](https://www.mikroe.com/mikromedia-3-for-pic-capacitive-fpi-with-frame)
+ [Mikromedia Plus for PIC32MX7](https://www.mikroe.com/mikromedia-4-pic32mx7)
+ [Mikromedia Plus for STM32](https://www.mikroe.com/mikromedia-4-stm32f4)
+ [Mikromedia Plus for STM32F7](https://www.mikroe.com/mikromedia-4-stm32f7)
+ [Mikromedia 7 for STM32F4](https://www.mikroe.com/mikromedia-7-stm32f4)
+ [Mikromedia 7 for STM32F7](https://www.mikroe.com/mikromedia-7-stm32f7)

**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:

+ [build-hal-recursion-ci.ps1](./scripts/build-hal-recursion-ci.ps1)
+ [utility.ps1](./scripts/utility.ps1)

For more information, please refer to main script [DESCRIPTION](./scripts/ReadMe.md)

#### `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:**

+ **[@NikolaDucak](https://github.com/NikolaDucak)**
+ **STMPE811 library** full implementation
+ **[view files](./middleware/stmpe811)**

**[BACK TO TOP OF 2.4.0](#v240)**

---
**[BACK TO TOP](#changelog)**

---

## `v2.3.0`

+ released: 2021-10-28
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# mikroSDK 2.0

[![SDK Version](https://img.shields.io/badge/mikroSDK%20version-2.3.0-gold)](https://github.com/MikroElektronika/mikrosdk_v2/tree/mikroSDK-2.3.0)
[![SDK Version](https://img.shields.io/badge/mikroSDK%20version-2.4.0-gold)](https://github.com/MikroElektronika/mikrosdk_v2/tree/mikroSDK-2.4.0)

---
## About
Expand Down
3 changes: 3 additions & 0 deletions REQUIREMENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@

**SDK requirements by version:**

* **v2.4.0**
* [`FLASH1`]
* [`RAM1`]
* **v2.3.0**
* [`FLASH1`]
* [`RAM1`]
Expand Down
29 changes: 29 additions & 0 deletions api/tp/lib/memake.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,35 @@
type: library
target: lib_tp

#begin python
try:
MSDK_TFT_WIDTH
except NameError:
tft_display_width = "0"
else:
tft_display_width = MSDK_TFT_WIDTH

try:
MSDK_TFT_HEIGHT
except NameError:
tft_display_height = "0"
else:
tft_display_height = MSDK_TFT_HEIGHT

try:
MSDK_TFT_TP
except NameError:
tft_tp_type = "__TP_IC_UNDEFINED__"
else:
tft_tp_type = MSDK_TFT_TP
#end python

defines: {
<[tft_tp_type]>
TFT_DISPLAY_WIDTH=<[tft_display_width]>
TFT_DISPLAY_HEIGHT=<[tft_display_height]>
}

sources: {
./src/tp.c
}
Expand Down
4 changes: 2 additions & 2 deletions api/tp/lib/src/tp.c
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,8 @@ tp_get_rotated_coord( tp_t * ctx, tp_touch_item_t * to, tp_touch_item_t * from,
void
tp_cfg_setup( tp_cfg_t * cfg )
{
cfg->width = 0;
cfg->height = 0;
cfg->width = TFT_DISPLAY_WIDTH;
cfg->height = TFT_DISPLAY_HEIGHT;
cfg->start_pos = TP_ROTATE_0;
}

Expand Down
48 changes: 24 additions & 24 deletions bsp/board/include/boards/board_curiosity_hpc/board.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,32 +59,32 @@ extern "C"{

/// Mapping
#define MIKROBUS_1 1
#define MIKROBUS_1_AN MIKROBUS_1_AN_DIP
#define MIKROBUS_1_RST MIKROBUS_1_RST_DIP
#define MIKROBUS_1_CS MIKROBUS_1_CS_DIP
#define MIKROBUS_1_SCK MIKROBUS_1_SCK_DIP
#define MIKROBUS_1_MISO MIKROBUS_1_MISO_DIP
#define MIKROBUS_1_MOSI MIKROBUS_1_MOSI_DIP
#define MIKROBUS_1_PWM MIKROBUS_1_PWM_DIP
#define MIKROBUS_1_INT MIKROBUS_1_INT_DIP
#define MIKROBUS_1_RX MIKROBUS_1_RX_DIP
#define MIKROBUS_1_TX MIKROBUS_1_TX_DIP
#define MIKROBUS_1_SCL MIKROBUS_1_SCL_DIP
#define MIKROBUS_1_SDA MIKROBUS_1_SDA_DIP
#define MIKROBUS_1_AN MIKROBUS_1_DIP_AN
#define MIKROBUS_1_RST MIKROBUS_1_DIP_RST
#define MIKROBUS_1_CS MIKROBUS_1_DIP_CS
#define MIKROBUS_1_SCK MIKROBUS_1_DIP_SCK
#define MIKROBUS_1_MISO MIKROBUS_1_DIP_MISO
#define MIKROBUS_1_MOSI MIKROBUS_1_DIP_MOSI
#define MIKROBUS_1_PWM MIKROBUS_1_DIP_PWM
#define MIKROBUS_1_INT MIKROBUS_1_DIP_INT
#define MIKROBUS_1_RX MIKROBUS_1_DIP_RX
#define MIKROBUS_1_TX MIKROBUS_1_DIP_TX
#define MIKROBUS_1_SCL MIKROBUS_1_DIP_SCL
#define MIKROBUS_1_SDA MIKROBUS_1_DIP_SDA

#define MIKROBUS_2 2
#define MIKROBUS_2_AN MIKROBUS_2_AN_DIP
#define MIKROBUS_2_RST MIKROBUS_2_RST_DIP
#define MIKROBUS_2_CS MIKROBUS_2_CS_DIP
#define MIKROBUS_2_SCK MIKROBUS_2_SCK_DIP
#define MIKROBUS_2_MISO MIKROBUS_2_MISO_DIP
#define MIKROBUS_2_MOSI MIKROBUS_2_MOSI_DIP
#define MIKROBUS_2_PWM MIKROBUS_2_PWM_DIP
#define MIKROBUS_2_INT MIKROBUS_2_INT_DIP
#define MIKROBUS_2_RX MIKROBUS_2_RX_DIP
#define MIKROBUS_2_TX MIKROBUS_2_TX_DIP
#define MIKROBUS_2_SCL MIKROBUS_2_SCL_DIP
#define MIKROBUS_2_SDA MIKROBUS_2_SDA_DIP
#define MIKROBUS_2_AN MIKROBUS_2_DIP_AN
#define MIKROBUS_2_RST MIKROBUS_2_DIP_RST
#define MIKROBUS_2_CS MIKROBUS_2_DIP_CS
#define MIKROBUS_2_SCK MIKROBUS_2_DIP_SCK
#define MIKROBUS_2_MISO MIKROBUS_2_DIP_MISO
#define MIKROBUS_2_MOSI MIKROBUS_2_DIP_MOSI
#define MIKROBUS_2_PWM MIKROBUS_2_DIP_PWM
#define MIKROBUS_2_INT MIKROBUS_2_DIP_INT
#define MIKROBUS_2_RX MIKROBUS_2_DIP_RX
#define MIKROBUS_2_TX MIKROBUS_2_DIP_TX
#define MIKROBUS_2_SCL MIKROBUS_2_DIP_SCL
#define MIKROBUS_2_SDA MIKROBUS_2_DIP_SDA

#define BOARD_CURIOSITY_HPC_D2 PA4
#define BOARD_CURIOSITY_HPC_D3 PA5
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,31 +51,31 @@ extern "C"{
#include "hal_target.h"

/// Mapping
#define MIKROBUS_1_AN_DIP PA1
#define MIKROBUS_1_RST_DIP
#define MIKROBUS_1_CS_DIP PA3
#define MIKROBUS_1_SCK_DIP PB1
#define MIKROBUS_1_MISO_DIP PB2
#define MIKROBUS_1_MOSI_DIP PB3
#define MIKROBUS_1_PWM_DIP PC2
#define MIKROBUS_1_INT_DIP PB5
#define MIKROBUS_1_RX_DIP PC7
#define MIKROBUS_1_TX_DIP PC6
#define MIKROBUS_1_SCL_DIP PC3
#define MIKROBUS_1_SDA_DIP PC4
#define MIKROBUS_1_DIP_AN PA1
#define MIKROBUS_1_DIP_RST // Pin not routed to mikroBUS.
#define MIKROBUS_1_DIP_CS PA3
#define MIKROBUS_1_DIP_SCK PB1
#define MIKROBUS_1_DIP_MISO PB2
#define MIKROBUS_1_DIP_MOSI PB3
#define MIKROBUS_1_DIP_PWM PC2
#define MIKROBUS_1_DIP_INT PB5
#define MIKROBUS_1_DIP_RX PC7
#define MIKROBUS_1_DIP_TX PC6
#define MIKROBUS_1_DIP_SCL PC3
#define MIKROBUS_1_DIP_SDA PC4

#define MIKROBUS_2_AN_DIP PA2
#define MIKROBUS_2_RST_DIP
#define MIKROBUS_2_CS_DIP
#define MIKROBUS_2_SCK_DIP PB1
#define MIKROBUS_2_MISO_DIP PB2
#define MIKROBUS_2_MOSI_DIP PB3
#define MIKROBUS_2_PWM_DIP
#define MIKROBUS_2_INT_DIP PB0
#define MIKROBUS_2_RX_DIP PC0
#define MIKROBUS_2_TX_DIP PC1
#define MIKROBUS_2_SCL_DIP PC3
#define MIKROBUS_2_SDA_DIP PC4
#define MIKROBUS_2_DIP_AN PA2
#define MIKROBUS_2_DIP_RST // Pin not routed to mikroBUS.
#define MIKROBUS_2_DIP_CS // Pin not routed to mikroBUS.
#define MIKROBUS_2_DIP_SCK PB1
#define MIKROBUS_2_DIP_MISO PB2
#define MIKROBUS_2_DIP_MOSI PB3
#define MIKROBUS_2_DIP_PWM // Pin not routed to mikroBUS.
#define MIKROBUS_2_DIP_INT PB0
#define MIKROBUS_2_DIP_RX PC0
#define MIKROBUS_2_DIP_TX PC1
#define MIKROBUS_2_DIP_SCL PC3
#define MIKROBUS_2_DIP_SDA PC4

#ifdef __cplusplus
}
Expand Down
Loading

0 comments on commit d8a2efc

Please sign in to comment.