diff --git a/.github/workflows/boardReleaseLive.yaml b/.github/workflows/boardReleaseLive.yaml index 96ac79ace..7f3b38bc6 100644 --- a/.github/workflows/boardReleaseLive.yaml +++ b/.github/workflows/boardReleaseLive.yaml @@ -145,7 +145,7 @@ jobs: repo_owner="MikroElektronika" repo_name="core_packages" event_type="trigger-workflow" - version="${{ github.event.inputs.release_version }}" + version="${{ steps.changelog_update.outputs.sdk_tag_name }}" curl -L \ -X POST \ diff --git a/bsp/board/include/boards/board_nucleo_144_with_stm32f207zg/board.cmake b/bsp/board/include/boards/board_nucleo_144_with_stm32f207zg/board.cmake new file mode 100644 index 000000000..2d2dbaae9 --- /dev/null +++ b/bsp/board/include/boards/board_nucleo_144_with_stm32f207zg/board.cmake @@ -0,0 +1,5 @@ +if(${_MSDK_BOARD_NAME_} STREQUAL "BOARD_NUCLEO_144_WITH_STM32F207ZG") + set(BOARD_PATH "include/boards/board_nucleo_144_with_stm32f207zg") + set(MCU_CARD FALSE) + set(SHIELD TRUE) +endif() diff --git a/bsp/board/include/boards/board_nucleo_144_with_stm32f207zg/board.h b/bsp/board/include/boards/board_nucleo_144_with_stm32f207zg/board.h new file mode 100644 index 000000000..ce1b3a01e --- /dev/null +++ b/bsp/board/include/boards/board_nucleo_144_with_stm32f207zg/board.h @@ -0,0 +1,309 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** The above copyright notice and this permission notice shall be +** included in all copies or substantial portions of the Software. +** +** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT +** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +** OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +** +****************************************************************************/ +/*! + * @file board.h + * @brief Main board pin mapping. + */ + +#ifndef _BOARD_H_ +#define _BOARD_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#define BOARD_NAME "Nucleo-F207ZG" + +#include "hal_target.h" + +// Mapping +#define HEADER_CONNECTOR_CN7_D1 PC6 +#define HEADER_CONNECTOR_CN7_D2 PB8 +#define HEADER_CONNECTOR_CN7_D3 PB15 +#define HEADER_CONNECTOR_CN7_D4 PB9 +#define HEADER_CONNECTOR_CN7_D5 PB13 +#define HEADER_CONNECTOR_CN7_D6 // Pin not routed +#define HEADER_CONNECTOR_CN7_D7 PB12 +#define HEADER_CONNECTOR_CN7_D8 // Pin not routed +#define HEADER_CONNECTOR_CN7_D9 PA15 +#define HEADER_CONNECTOR_CN7_D10 PA5 +#define HEADER_CONNECTOR_CN7_D11 PC7 +#define HEADER_CONNECTOR_CN7_D12 PA6 +#define HEADER_CONNECTOR_CN7_D13 PB5 +#define HEADER_CONNECTOR_CN7_D14 PA7 +#define HEADER_CONNECTOR_CN7_D15 PB3 +#define HEADER_CONNECTOR_CN7_D16 PD14 +#define HEADER_CONNECTOR_CN7_D17 PA4 +#define HEADER_CONNECTOR_CN7_D18 PD15 +#define HEADER_CONNECTOR_CN7_D19 PB4 +#define HEADER_CONNECTOR_CN7_D20 PF12 + +#define HEADER_CONNECTOR_CN8_D1 // Pin not routed +#define HEADER_CONNECTOR_CN8_D2 PC8 +#define HEADER_CONNECTOR_CN8_D3 // Pin not routed +#define HEADER_CONNECTOR_CN8_D4 PC9 +#define HEADER_CONNECTOR_CN8_D5 // Pin not routed +#define HEADER_CONNECTOR_CN8_D6 PC10 +#define HEADER_CONNECTOR_CN8_D7 // Pin not routed +#define HEADER_CONNECTOR_CN8_D8 PC11 +#define HEADER_CONNECTOR_CN8_D9 // Pin not routed +#define HEADER_CONNECTOR_CN8_D10 PC12 +#define HEADER_CONNECTOR_CN8_D11 // Pin not routed +#define HEADER_CONNECTOR_CN8_D12 PD2 +#define HEADER_CONNECTOR_CN8_D13 // Pin not routed +#define HEADER_CONNECTOR_CN8_D14 PG2 +#define HEADER_CONNECTOR_CN8_D15 // Pin not routed +#define HEADER_CONNECTOR_CN8_D16 PG3 + +#define HEADER_CONNECTOR_CN9_D1 PA3 +#define HEADER_CONNECTOR_CN9_D2 PD7 +#define HEADER_CONNECTOR_CN9_D3 PC0 +#define HEADER_CONNECTOR_CN9_D4 PD6 +#define HEADER_CONNECTOR_CN9_D5 PC3 +#define HEADER_CONNECTOR_CN9_D6 PD5 +#define HEADER_CONNECTOR_CN9_D7 PF3 +#define HEADER_CONNECTOR_CN9_D8 PD4 +#define HEADER_CONNECTOR_CN9_D9 PB9 +#define HEADER_CONNECTOR_CN9_D10 PD3 +#define HEADER_CONNECTOR_CN9_D11 PB8 +#define HEADER_CONNECTOR_CN9_D12 // Pin not routed +#define HEADER_CONNECTOR_CN9_D13 // Pin not routed +#define HEADER_CONNECTOR_CN9_D14 PE2 +#define HEADER_CONNECTOR_CN9_D15 PA7 +#define HEADER_CONNECTOR_CN9_D16 PE4 +#define HEADER_CONNECTOR_CN9_D17 PF2 +#define HEADER_CONNECTOR_CN9_D18 PE5 +#define HEADER_CONNECTOR_CN9_D19 PF1 +#define HEADER_CONNECTOR_CN9_D20 PE6 +#define HEADER_CONNECTOR_CN9_D21 PF0 +#define HEADER_CONNECTOR_CN9_D22 PE3 +#define HEADER_CONNECTOR_CN9_D23 // Pin not routed +#define HEADER_CONNECTOR_CN9_D24 PF8 +#define HEADER_CONNECTOR_CN9_D25 PD0 +#define HEADER_CONNECTOR_CN9_D26 PF7 +#define HEADER_CONNECTOR_CN9_D27 PD1 +#define HEADER_CONNECTOR_CN9_D28 PF9 +#define HEADER_CONNECTOR_CN9_D29 PG0 +#define HEADER_CONNECTOR_CN9_D30 PG1 + +#define HEADER_CONNECTOR_CN10_D1 // Pin not routed +#define HEADER_CONNECTOR_CN10_D2 PF13 +#define HEADER_CONNECTOR_CN10_D3 // Pin not routed +#define HEADER_CONNECTOR_CN10_D4 PE9 +#define HEADER_CONNECTOR_CN10_D5 // Pin not routed +#define HEADER_CONNECTOR_CN10_D6 PE11 +#define HEADER_CONNECTOR_CN10_D7 PB1 +#define HEADER_CONNECTOR_CN10_D8 PF14 +#define HEADER_CONNECTOR_CN10_D9 PC2 +#define HEADER_CONNECTOR_CN10_D10 PE13 +#define HEADER_CONNECTOR_CN10_D11 PF4 +#define HEADER_CONNECTOR_CN10_D12 PF15 +#define HEADER_CONNECTOR_CN10_D13 PB6 +#define HEADER_CONNECTOR_CN10_D14 PG14 +#define HEADER_CONNECTOR_CN10_D15 PB2 +#define HEADER_CONNECTOR_CN10_D16 PG9 +#define HEADER_CONNECTOR_CN10_D17 // Pin not routed +#define HEADER_CONNECTOR_CN10_D18 PE8 +#define HEADER_CONNECTOR_CN10_D19 PD13 +#define HEADER_CONNECTOR_CN10_D20 PE7 +#define HEADER_CONNECTOR_CN10_D21 PD12 +#define HEADER_CONNECTOR_CN10_D22 // Pin not routed +#define HEADER_CONNECTOR_CN10_D23 PD11 +#define HEADER_CONNECTOR_CN10_D24 PE10 +#define HEADER_CONNECTOR_CN10_D25 PE2 +#define HEADER_CONNECTOR_CN10_D26 PE12 +#define HEADER_CONNECTOR_CN10_D27 // Pin not routed +#define HEADER_CONNECTOR_CN10_D28 PE14 +#define HEADER_CONNECTOR_CN10_D29 PA0 +#define HEADER_CONNECTOR_CN10_D30 PE15 +#define HEADER_CONNECTOR_CN10_D31 PB0 +#define HEADER_CONNECTOR_CN10_D32 PB10 +#define HEADER_CONNECTOR_CN10_D33 PE0 +#define HEADER_CONNECTOR_CN10_D34 PB11 + +#define HEADER_CONNECTOR_CN11_D1 PC10 +#define HEADER_CONNECTOR_CN11_D2 PC11 +#define HEADER_CONNECTOR_CN11_D3 PC12 +#define HEADER_CONNECTOR_CN11_D4 PD2 +#define HEADER_CONNECTOR_CN11_D5 // Pin not routed +#define HEADER_CONNECTOR_CN11_D6 // Pin not routed +#define HEADER_CONNECTOR_CN11_D7 // Pin not routed +#define HEADER_CONNECTOR_CN11_D8 // Pin not routed +#define HEADER_CONNECTOR_CN11_D9 PF6 +#define HEADER_CONNECTOR_CN11_D10 // Pin not routed +#define HEADER_CONNECTOR_CN11_D11 PF7 +#define HEADER_CONNECTOR_CN11_D12 // Pin not routed +#define HEADER_CONNECTOR_CN11_D13 PA13 +#define HEADER_CONNECTOR_CN11_D14 // Pin not routed +#define HEADER_CONNECTOR_CN11_D15 PA14 +#define HEADER_CONNECTOR_CN11_D16 // Pin not routed +#define HEADER_CONNECTOR_CN11_D17 PA15 +#define HEADER_CONNECTOR_CN11_D18 // Pin not routed +#define HEADER_CONNECTOR_CN11_D19 // Pin not routed +#define HEADER_CONNECTOR_CN11_D20 // Pin not routed +#define HEADER_CONNECTOR_CN11_D21 PB7 +#define HEADER_CONNECTOR_CN11_D22 // Pin not routed +#define HEADER_CONNECTOR_CN11_D23 PC13 +#define HEADER_CONNECTOR_CN11_D24 // Pin not routed +#define HEADER_CONNECTOR_CN11_D25 PC14 +#define HEADER_CONNECTOR_CN11_D26 // Pin not routed +#define HEADER_CONNECTOR_CN11_D27 PC15 +#define HEADER_CONNECTOR_CN11_D28 PA0 +#define HEADER_CONNECTOR_CN11_D29 PF0 +#define HEADER_CONNECTOR_CN11_D30 PA1 +#define HEADER_CONNECTOR_CN11_D31 PF1 +#define HEADER_CONNECTOR_CN11_D32 PA4 +#define HEADER_CONNECTOR_CN11_D33 // Pin not routed +#define HEADER_CONNECTOR_CN11_D34 PB0 +#define HEADER_CONNECTOR_CN11_D35 PC2 +#define HEADER_CONNECTOR_CN11_D36 PC1 +#define HEADER_CONNECTOR_CN11_D37 PC3 +#define HEADER_CONNECTOR_CN11_D38 PC0 +#define HEADER_CONNECTOR_CN11_D39 PD4 +#define HEADER_CONNECTOR_CN11_D40 PD3 +#define HEADER_CONNECTOR_CN11_D41 PD5 +#define HEADER_CONNECTOR_CN11_D42 PG2 +#define HEADER_CONNECTOR_CN11_D43 PD6 +#define HEADER_CONNECTOR_CN11_D44 PG3 +#define HEADER_CONNECTOR_CN11_D45 PD7 +#define HEADER_CONNECTOR_CN11_D46 PE2 +#define HEADER_CONNECTOR_CN11_D47 PE3 +#define HEADER_CONNECTOR_CN11_D48 PE4 +#define HEADER_CONNECTOR_CN11_D49 // Pin not routed +#define HEADER_CONNECTOR_CN11_D50 PE5 +#define HEADER_CONNECTOR_CN11_D51 PH1 +#define HEADER_CONNECTOR_CN11_D52 PF2 +#define HEADER_CONNECTOR_CN11_D53 PH0 +#define HEADER_CONNECTOR_CN11_D54 PF8 +#define HEADER_CONNECTOR_CN11_D55 PD1 +#define HEADER_CONNECTOR_CN11_D56 PF9 +#define HEADER_CONNECTOR_CN11_D57 PD0 +#define HEADER_CONNECTOR_CN11_D58 PG1 +#define HEADER_CONNECTOR_CN11_D59 PG0 +#define HEADER_CONNECTOR_CN11_D60 // Pin not routed +#define HEADER_CONNECTOR_CN11_D61 PE1 +#define HEADER_CONNECTOR_CN11_D62 PE6 +#define HEADER_CONNECTOR_CN11_D63 PG9 +#define HEADER_CONNECTOR_CN11_D64 PG15 +#define HEADER_CONNECTOR_CN11_D65 PG12 +#define HEADER_CONNECTOR_CN11_D66 PG10 +#define HEADER_CONNECTOR_CN11_D67 PH2 +#define HEADER_CONNECTOR_CN11_D68 PG13 +#define HEADER_CONNECTOR_CN11_D69 PD9 +#define HEADER_CONNECTOR_CN11_D70 PG11 + +#define HEADER_CONNECTOR_CN12_D1 PC9 +#define HEADER_CONNECTOR_CN12_D2 PC8 +#define HEADER_CONNECTOR_CN12_D3 PB8 +#define HEADER_CONNECTOR_CN12_D4 PC6 +#define HEADER_CONNECTOR_CN12_D5 PB9 +#define HEADER_CONNECTOR_CN12_D6 PC5 +#define HEADER_CONNECTOR_CN12_D7 // Pin not routed +#define HEADER_CONNECTOR_CN12_D8 // Pin not routed +#define HEADER_CONNECTOR_CN12_D9 // Pin not routed +#define HEADER_CONNECTOR_CN12_D10 PD8 +#define HEADER_CONNECTOR_CN12_D11 PA5 +#define HEADER_CONNECTOR_CN12_D12 PA12 +#define HEADER_CONNECTOR_CN12_D13 PA6 +#define HEADER_CONNECTOR_CN12_D14 PA11 +#define HEADER_CONNECTOR_CN12_D15 PA7 +#define HEADER_CONNECTOR_CN12_D16 PB12 +#define HEADER_CONNECTOR_CN12_D17 PB6 +#define HEADER_CONNECTOR_CN12_D18 PB11 +#define HEADER_CONNECTOR_CN12_D19 PC7 +#define HEADER_CONNECTOR_CN12_D20 // Pin not routed +#define HEADER_CONNECTOR_CN12_D21 PA9 +#define HEADER_CONNECTOR_CN12_D22 PB2 +#define HEADER_CONNECTOR_CN12_D23 PA8 +#define HEADER_CONNECTOR_CN12_D24 PB1 +#define HEADER_CONNECTOR_CN12_D25 PB10 +#define HEADER_CONNECTOR_CN12_D26 PB15 +#define HEADER_CONNECTOR_CN12_D27 PB4 +#define HEADER_CONNECTOR_CN12_D28 PB14 +#define HEADER_CONNECTOR_CN12_D29 PB5 +#define HEADER_CONNECTOR_CN12_D30 PB13 +#define HEADER_CONNECTOR_CN12_D31 PB3 +#define HEADER_CONNECTOR_CN12_D32 // Pin not routed +#define HEADER_CONNECTOR_CN12_D33 PA10 +#define HEADER_CONNECTOR_CN12_D34 PC4 +#define HEADER_CONNECTOR_CN12_D35 PA2 +#define HEADER_CONNECTOR_CN12_D36 PF5 +#define HEADER_CONNECTOR_CN12_D37 PA3 +#define HEADER_CONNECTOR_CN12_D38 PF4 +#define HEADER_CONNECTOR_CN12_D39 // Pin not routed +#define HEADER_CONNECTOR_CN12_D40 PE8 +#define HEADER_CONNECTOR_CN12_D41 PD13 +#define HEADER_CONNECTOR_CN12_D42 PF10 +#define HEADER_CONNECTOR_CN12_D43 PD12 +#define HEADER_CONNECTOR_CN12_D44 PE7 +#define HEADER_CONNECTOR_CN12_D45 PD11 +#define HEADER_CONNECTOR_CN12_D46 PD14 +#define HEADER_CONNECTOR_CN12_D47 PE10 +#define HEADER_CONNECTOR_CN12_D48 PD15 +#define HEADER_CONNECTOR_CN12_D49 PE12 +#define HEADER_CONNECTOR_CN12_D50 PF14 +#define HEADER_CONNECTOR_CN12_D51 PE14 +#define HEADER_CONNECTOR_CN12_D52 PE9 +#define HEADER_CONNECTOR_CN12_D53 PE15 +#define HEADER_CONNECTOR_CN12_D54 // Pin not routed +#define HEADER_CONNECTOR_CN12_D55 PE13 +#define HEADER_CONNECTOR_CN12_D56 PE11 +#define HEADER_CONNECTOR_CN12_D57 PF13 +#define HEADER_CONNECTOR_CN12_D58 PF3 +#define HEADER_CONNECTOR_CN12_D59 PF12 +#define HEADER_CONNECTOR_CN12_D60 PF15 +#define HEADER_CONNECTOR_CN12_D61 PG14 +#define HEADER_CONNECTOR_CN12_D62 PF11 +#define HEADER_CONNECTOR_CN12_D63 // Pin not routed +#define HEADER_CONNECTOR_CN12_D64 PE0 +#define HEADER_CONNECTOR_CN12_D65 PD10 +#define HEADER_CONNECTOR_CN12_D66 PG8 +#define HEADER_CONNECTOR_CN12_D67 PG7 +#define HEADER_CONNECTOR_CN12_D68 PG5 +#define HEADER_CONNECTOR_CN12_D69 PG4 +#define HEADER_CONNECTOR_CN12_D70 PG6 + + +#ifdef __cplusplus +} +#endif + +#endif // _BOARD_H_ +// ------------------------------------------------------------------------- END diff --git a/bsp/board/include/boards/board_nucleo_144_with_stm32f303ze/board.cmake b/bsp/board/include/boards/board_nucleo_144_with_stm32f303ze/board.cmake new file mode 100644 index 000000000..4dcb5858f --- /dev/null +++ b/bsp/board/include/boards/board_nucleo_144_with_stm32f303ze/board.cmake @@ -0,0 +1,5 @@ +if(${_MSDK_BOARD_NAME_} STREQUAL "BOARD_NUCLEO_144_WITH_STM32F303ZE") + set(BOARD_PATH "include/boards/board_nucleo_144_with_stm32f303ze") + set(MCU_CARD FALSE) + set(SHIELD TRUE) +endif() diff --git a/bsp/board/include/boards/board_nucleo_144_with_stm32f303ze/board.h b/bsp/board/include/boards/board_nucleo_144_with_stm32f303ze/board.h new file mode 100644 index 000000000..da62e5bad --- /dev/null +++ b/bsp/board/include/boards/board_nucleo_144_with_stm32f303ze/board.h @@ -0,0 +1,309 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** The above copyright notice and this permission notice shall be +** included in all copies or substantial portions of the Software. +** +** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT +** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +** OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +** +****************************************************************************/ +/*! + * @file board.h + * @brief Main board pin mapping. + */ + +#ifndef _BOARD_H_ +#define _BOARD_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#define BOARD_NAME "Nucleo-F303ZE" + +#include "hal_target.h" + +// Mapping +#define HEADER_CONNECTOR_CN7_D1 PC6 +#define HEADER_CONNECTOR_CN7_D2 PB8 +#define HEADER_CONNECTOR_CN7_D3 PB15 +#define HEADER_CONNECTOR_CN7_D4 PB9 +#define HEADER_CONNECTOR_CN7_D5 PB13 +#define HEADER_CONNECTOR_CN7_D6 // Pin not routed +#define HEADER_CONNECTOR_CN7_D7 PB12 +#define HEADER_CONNECTOR_CN7_D8 // Pin not routed +#define HEADER_CONNECTOR_CN7_D9 PA15 +#define HEADER_CONNECTOR_CN7_D10 PA5 +#define HEADER_CONNECTOR_CN7_D11 PC7 +#define HEADER_CONNECTOR_CN7_D12 PA6 +#define HEADER_CONNECTOR_CN7_D13 PB5 +#define HEADER_CONNECTOR_CN7_D14 PA7 +#define HEADER_CONNECTOR_CN7_D15 PB3 +#define HEADER_CONNECTOR_CN7_D16 PD14 +#define HEADER_CONNECTOR_CN7_D17 PA4 +#define HEADER_CONNECTOR_CN7_D18 PD15 +#define HEADER_CONNECTOR_CN7_D19 PB4 +#define HEADER_CONNECTOR_CN7_D20 PF12 + +#define HEADER_CONNECTOR_CN8_D1 // Pin not routed +#define HEADER_CONNECTOR_CN8_D2 PC8 +#define HEADER_CONNECTOR_CN8_D3 // Pin not routed +#define HEADER_CONNECTOR_CN8_D4 PC9 +#define HEADER_CONNECTOR_CN8_D5 // Pin not routed +#define HEADER_CONNECTOR_CN8_D6 PC10 +#define HEADER_CONNECTOR_CN8_D7 // Pin not routed +#define HEADER_CONNECTOR_CN8_D8 PC11 +#define HEADER_CONNECTOR_CN8_D9 // Pin not routed +#define HEADER_CONNECTOR_CN8_D10 PC12 +#define HEADER_CONNECTOR_CN8_D11 // Pin not routed +#define HEADER_CONNECTOR_CN8_D12 PD2 +#define HEADER_CONNECTOR_CN8_D13 // Pin not routed +#define HEADER_CONNECTOR_CN8_D14 PG2 +#define HEADER_CONNECTOR_CN8_D15 // Pin not routed +#define HEADER_CONNECTOR_CN8_D16 PG3 + +#define HEADER_CONNECTOR_CN9_D1 PA3 +#define HEADER_CONNECTOR_CN9_D2 PD7 +#define HEADER_CONNECTOR_CN9_D3 PC0 +#define HEADER_CONNECTOR_CN9_D4 PD6 +#define HEADER_CONNECTOR_CN9_D5 PC3 +#define HEADER_CONNECTOR_CN9_D6 PD5 +#define HEADER_CONNECTOR_CN9_D7 PF3 +#define HEADER_CONNECTOR_CN9_D8 PD4 +#define HEADER_CONNECTOR_CN9_D9 PB9 +#define HEADER_CONNECTOR_CN9_D10 PD3 +#define HEADER_CONNECTOR_CN9_D11 PB8 +#define HEADER_CONNECTOR_CN9_D12 // Pin not routed +#define HEADER_CONNECTOR_CN9_D13 // Pin not routed +#define HEADER_CONNECTOR_CN9_D14 PE2 +#define HEADER_CONNECTOR_CN9_D15 PA7 +#define HEADER_CONNECTOR_CN9_D16 PE4 +#define HEADER_CONNECTOR_CN9_D17 PF2 +#define HEADER_CONNECTOR_CN9_D18 PE5 +#define HEADER_CONNECTOR_CN9_D19 PF1 +#define HEADER_CONNECTOR_CN9_D20 PE6 +#define HEADER_CONNECTOR_CN9_D21 PF0 +#define HEADER_CONNECTOR_CN9_D22 PE3 +#define HEADER_CONNECTOR_CN9_D23 // Pin not routed +#define HEADER_CONNECTOR_CN9_D24 PF8 +#define HEADER_CONNECTOR_CN9_D25 PD0 +#define HEADER_CONNECTOR_CN9_D26 PF7 +#define HEADER_CONNECTOR_CN9_D27 PD1 +#define HEADER_CONNECTOR_CN9_D28 PF9 +#define HEADER_CONNECTOR_CN9_D29 PG0 +#define HEADER_CONNECTOR_CN9_D30 PG1 + +#define HEADER_CONNECTOR_CN10_D1 // Pin not routed +#define HEADER_CONNECTOR_CN10_D2 PF13 +#define HEADER_CONNECTOR_CN10_D3 // Pin not routed +#define HEADER_CONNECTOR_CN10_D4 PE9 +#define HEADER_CONNECTOR_CN10_D5 // Pin not routed +#define HEADER_CONNECTOR_CN10_D6 PE11 +#define HEADER_CONNECTOR_CN10_D7 PB1 +#define HEADER_CONNECTOR_CN10_D8 PF14 +#define HEADER_CONNECTOR_CN10_D9 PC2 +#define HEADER_CONNECTOR_CN10_D10 PE13 +#define HEADER_CONNECTOR_CN10_D11 PF4 +#define HEADER_CONNECTOR_CN10_D12 PF15 +#define HEADER_CONNECTOR_CN10_D13 PB6 +#define HEADER_CONNECTOR_CN10_D14 PG14 +#define HEADER_CONNECTOR_CN10_D15 PB2 +#define HEADER_CONNECTOR_CN10_D16 PG9 +#define HEADER_CONNECTOR_CN10_D17 // Pin not routed +#define HEADER_CONNECTOR_CN10_D18 PE8 +#define HEADER_CONNECTOR_CN10_D19 PD13 +#define HEADER_CONNECTOR_CN10_D20 PE7 +#define HEADER_CONNECTOR_CN10_D21 PD12 +#define HEADER_CONNECTOR_CN10_D22 // Pin not routed +#define HEADER_CONNECTOR_CN10_D23 PD11 +#define HEADER_CONNECTOR_CN10_D24 PE10 +#define HEADER_CONNECTOR_CN10_D25 PE2 +#define HEADER_CONNECTOR_CN10_D26 PE12 +#define HEADER_CONNECTOR_CN10_D27 // Pin not routed +#define HEADER_CONNECTOR_CN10_D28 PE14 +#define HEADER_CONNECTOR_CN10_D29 PA0 +#define HEADER_CONNECTOR_CN10_D30 PE15 +#define HEADER_CONNECTOR_CN10_D31 PB0 +#define HEADER_CONNECTOR_CN10_D32 PB10 +#define HEADER_CONNECTOR_CN10_D33 PE0 +#define HEADER_CONNECTOR_CN10_D34 PB11 + +#define HEADER_CONNECTOR_CN11_D1 PC10 +#define HEADER_CONNECTOR_CN11_D2 PC11 +#define HEADER_CONNECTOR_CN11_D3 PC12 +#define HEADER_CONNECTOR_CN11_D4 PD2 +#define HEADER_CONNECTOR_CN11_D5 // Pin not routed +#define HEADER_CONNECTOR_CN11_D6 // Pin not routed +#define HEADER_CONNECTOR_CN11_D7 // Pin not routed +#define HEADER_CONNECTOR_CN11_D8 // Pin not routed +#define HEADER_CONNECTOR_CN11_D9 PF6 +#define HEADER_CONNECTOR_CN11_D10 // Pin not routed +#define HEADER_CONNECTOR_CN11_D11 PF7 +#define HEADER_CONNECTOR_CN11_D12 // Pin not routed +#define HEADER_CONNECTOR_CN11_D13 PA13 +#define HEADER_CONNECTOR_CN11_D14 // Pin not routed +#define HEADER_CONNECTOR_CN11_D15 PA14 +#define HEADER_CONNECTOR_CN11_D16 // Pin not routed +#define HEADER_CONNECTOR_CN11_D17 PA15 +#define HEADER_CONNECTOR_CN11_D18 // Pin not routed +#define HEADER_CONNECTOR_CN11_D19 // Pin not routed +#define HEADER_CONNECTOR_CN11_D20 // Pin not routed +#define HEADER_CONNECTOR_CN11_D21 PB7 +#define HEADER_CONNECTOR_CN11_D22 // Pin not routed +#define HEADER_CONNECTOR_CN11_D23 PC13 +#define HEADER_CONNECTOR_CN11_D24 // Pin not routed +#define HEADER_CONNECTOR_CN11_D25 PC14 +#define HEADER_CONNECTOR_CN11_D26 // Pin not routed +#define HEADER_CONNECTOR_CN11_D27 PC15 +#define HEADER_CONNECTOR_CN11_D28 PA0 +#define HEADER_CONNECTOR_CN11_D29 PF0 +#define HEADER_CONNECTOR_CN11_D30 PA1 +#define HEADER_CONNECTOR_CN11_D31 PF1 +#define HEADER_CONNECTOR_CN11_D32 PA4 +#define HEADER_CONNECTOR_CN11_D33 // Pin not routed +#define HEADER_CONNECTOR_CN11_D34 PB0 +#define HEADER_CONNECTOR_CN11_D35 PC2 +#define HEADER_CONNECTOR_CN11_D36 PC1 +#define HEADER_CONNECTOR_CN11_D37 PC3 +#define HEADER_CONNECTOR_CN11_D38 PC0 +#define HEADER_CONNECTOR_CN11_D39 PD4 +#define HEADER_CONNECTOR_CN11_D40 PD3 +#define HEADER_CONNECTOR_CN11_D41 PD5 +#define HEADER_CONNECTOR_CN11_D42 PG2 +#define HEADER_CONNECTOR_CN11_D43 PD6 +#define HEADER_CONNECTOR_CN11_D44 PG3 +#define HEADER_CONNECTOR_CN11_D45 PD7 +#define HEADER_CONNECTOR_CN11_D46 PE2 +#define HEADER_CONNECTOR_CN11_D47 PE3 +#define HEADER_CONNECTOR_CN11_D48 PE4 +#define HEADER_CONNECTOR_CN11_D49 // Pin not routed +#define HEADER_CONNECTOR_CN11_D50 PE5 +#define HEADER_CONNECTOR_CN11_D51 PH1 +#define HEADER_CONNECTOR_CN11_D52 PF2 +#define HEADER_CONNECTOR_CN11_D53 PH0 +#define HEADER_CONNECTOR_CN11_D54 PF8 +#define HEADER_CONNECTOR_CN11_D55 PD1 +#define HEADER_CONNECTOR_CN11_D56 PF9 +#define HEADER_CONNECTOR_CN11_D57 PD0 +#define HEADER_CONNECTOR_CN11_D58 PG1 +#define HEADER_CONNECTOR_CN11_D59 PG0 +#define HEADER_CONNECTOR_CN11_D60 // Pin not routed +#define HEADER_CONNECTOR_CN11_D61 PE1 +#define HEADER_CONNECTOR_CN11_D62 PE6 +#define HEADER_CONNECTOR_CN11_D63 PG9 +#define HEADER_CONNECTOR_CN11_D64 PG15 +#define HEADER_CONNECTOR_CN11_D65 PG12 +#define HEADER_CONNECTOR_CN11_D66 PG10 +#define HEADER_CONNECTOR_CN11_D67 PH2 +#define HEADER_CONNECTOR_CN11_D68 PG13 +#define HEADER_CONNECTOR_CN11_D69 PD9 +#define HEADER_CONNECTOR_CN11_D70 PG11 + +#define HEADER_CONNECTOR_CN12_D1 PC9 +#define HEADER_CONNECTOR_CN12_D2 PC8 +#define HEADER_CONNECTOR_CN12_D3 PB8 +#define HEADER_CONNECTOR_CN12_D4 PC6 +#define HEADER_CONNECTOR_CN12_D5 PB9 +#define HEADER_CONNECTOR_CN12_D6 PC5 +#define HEADER_CONNECTOR_CN12_D7 // Pin not routed +#define HEADER_CONNECTOR_CN12_D8 // Pin not routed +#define HEADER_CONNECTOR_CN12_D9 // Pin not routed +#define HEADER_CONNECTOR_CN12_D10 PD8 +#define HEADER_CONNECTOR_CN12_D11 PA5 +#define HEADER_CONNECTOR_CN12_D12 PA12 +#define HEADER_CONNECTOR_CN12_D13 PA6 +#define HEADER_CONNECTOR_CN12_D14 PA11 +#define HEADER_CONNECTOR_CN12_D15 PA7 +#define HEADER_CONNECTOR_CN12_D16 PB12 +#define HEADER_CONNECTOR_CN12_D17 PB6 +#define HEADER_CONNECTOR_CN12_D18 PB11 +#define HEADER_CONNECTOR_CN12_D19 PC7 +#define HEADER_CONNECTOR_CN12_D20 // Pin not routed +#define HEADER_CONNECTOR_CN12_D21 PA9 +#define HEADER_CONNECTOR_CN12_D22 PB2 +#define HEADER_CONNECTOR_CN12_D23 PA8 +#define HEADER_CONNECTOR_CN12_D24 PB1 +#define HEADER_CONNECTOR_CN12_D25 PB10 +#define HEADER_CONNECTOR_CN12_D26 PB15 +#define HEADER_CONNECTOR_CN12_D27 PB4 +#define HEADER_CONNECTOR_CN12_D28 PB14 +#define HEADER_CONNECTOR_CN12_D29 PB5 +#define HEADER_CONNECTOR_CN12_D30 PB13 +#define HEADER_CONNECTOR_CN12_D31 PB3 +#define HEADER_CONNECTOR_CN12_D32 // Pin not routed +#define HEADER_CONNECTOR_CN12_D33 PA10 +#define HEADER_CONNECTOR_CN12_D34 PC4 +#define HEADER_CONNECTOR_CN12_D35 PA2 +#define HEADER_CONNECTOR_CN12_D36 PF5 +#define HEADER_CONNECTOR_CN12_D37 PA3 +#define HEADER_CONNECTOR_CN12_D38 PF4 +#define HEADER_CONNECTOR_CN12_D39 // Pin not routed +#define HEADER_CONNECTOR_CN12_D40 PE8 +#define HEADER_CONNECTOR_CN12_D41 PD13 +#define HEADER_CONNECTOR_CN12_D42 PF10 +#define HEADER_CONNECTOR_CN12_D43 PD12 +#define HEADER_CONNECTOR_CN12_D44 PE7 +#define HEADER_CONNECTOR_CN12_D45 PD11 +#define HEADER_CONNECTOR_CN12_D46 PD14 +#define HEADER_CONNECTOR_CN12_D47 PE10 +#define HEADER_CONNECTOR_CN12_D48 PD15 +#define HEADER_CONNECTOR_CN12_D49 PE12 +#define HEADER_CONNECTOR_CN12_D50 PF14 +#define HEADER_CONNECTOR_CN12_D51 PE14 +#define HEADER_CONNECTOR_CN12_D52 PE9 +#define HEADER_CONNECTOR_CN12_D53 PE15 +#define HEADER_CONNECTOR_CN12_D54 // Pin not routed +#define HEADER_CONNECTOR_CN12_D55 PE13 +#define HEADER_CONNECTOR_CN12_D56 PE11 +#define HEADER_CONNECTOR_CN12_D57 PF13 +#define HEADER_CONNECTOR_CN12_D58 PF3 +#define HEADER_CONNECTOR_CN12_D59 PF12 +#define HEADER_CONNECTOR_CN12_D60 PF15 +#define HEADER_CONNECTOR_CN12_D61 PG14 +#define HEADER_CONNECTOR_CN12_D62 PF11 +#define HEADER_CONNECTOR_CN12_D63 // Pin not routed +#define HEADER_CONNECTOR_CN12_D64 PE0 +#define HEADER_CONNECTOR_CN12_D65 PD10 +#define HEADER_CONNECTOR_CN12_D66 PG8 +#define HEADER_CONNECTOR_CN12_D67 PG7 +#define HEADER_CONNECTOR_CN12_D68 PG5 +#define HEADER_CONNECTOR_CN12_D69 PG4 +#define HEADER_CONNECTOR_CN12_D70 PG6 + + +#ifdef __cplusplus +} +#endif + +#endif // _BOARD_H_ +// ------------------------------------------------------------------------- END diff --git a/changelog/v2.11.2/new_hw/2024-09-11.md b/changelog/v2.11.2/new_hw/2024-09-11.md index 43d85351a..70ba94686 100644 --- a/changelog/v2.11.2/new_hw/2024-09-11.md +++ b/changelog/v2.11.2/new_hw/2024-09-11.md @@ -8,11 +8,11 @@ --- -# 2024-09-11 +# `2024-09-11` ## Changes -- [2024-09-11](#2024-09-11) +- [`2024-09-11`](#2024-09-11) - [Changes](#changes) - [NEW HARDWARE](#new-hardware) diff --git a/resources/queries/boards/board_nucleo_144_with_stm32f207zg/Boards.json b/resources/queries/boards/board_nucleo_144_with_stm32f207zg/Boards.json new file mode 100644 index 000000000..519b8510b --- /dev/null +++ b/resources/queries/boards/board_nucleo_144_with_stm32f207zg/Boards.json @@ -0,0 +1,16 @@ +{ + "uid": "NUCLEO_144_WITH_STM32F207ZG_MCU", + "name": "Nucleo 144 with STM32F207ZG MCU", + "icon": "images/boards/board-nucleo-144.png", + "default_device": "NULL", + "soldered_device": "STM32F207ZG", + "category": "Development Systems", + "mikrobus_count": 0, + "sort_order": 6, + "min_pin_count": 0, + "display_socket": "NO_DISPLAY", + "sdk_config": "{\"_MSDK_BOARD_NAME_\":\"BOARD_NUCLEO_144_WITH_STM32F207ZG\",\"_MSDK_SHIELD_\":\"shield_nucleo_144\"}", + "necto_config": "NULL", + "display": "NO_DISPLAY", + "package_uid": "144/LQFP" +} diff --git a/resources/queries/boards/board_nucleo_144_with_stm32f207zg/LinkerTables.json b/resources/queries/boards/board_nucleo_144_with_stm32f207zg/LinkerTables.json new file mode 100644 index 000000000..008d5ecb9 --- /dev/null +++ b/resources/queries/boards/board_nucleo_144_with_stm32f207zg/LinkerTables.json @@ -0,0 +1,20 @@ +{ + "board_uid": "NUCLEO_144_WITH_STM32F207ZG_MCU", + "tables": [ + { + "BoardToDevice": { + "device_uid": "STM32F207ZG" + } + }, + { + "BoardToSocket": { + "socket_uid": ["NONE"] + } + }, + { + "SDKToBoard": { + "sdk_uid": "2.11.2+" + } + } + ] +} diff --git a/resources/queries/boards/board_nucleo_144_with_stm32f303ze/Boards.json b/resources/queries/boards/board_nucleo_144_with_stm32f303ze/Boards.json new file mode 100644 index 000000000..5bdcd492f --- /dev/null +++ b/resources/queries/boards/board_nucleo_144_with_stm32f303ze/Boards.json @@ -0,0 +1,16 @@ +{ + "uid": "NUCLEO_144_WITH_STM32F303ZE_MCU", + "name": "Nucleo 144 with STM32F303ZE MCU", + "icon": "images/boards/board-nucleo-144.png", + "default_device": "NULL", + "soldered_device": "STM32F303ZE", + "category": "Development Systems", + "mikrobus_count": 0, + "sort_order": 6, + "min_pin_count": 0, + "display_socket": "NO_DISPLAY", + "sdk_config": "{\"_MSDK_BOARD_NAME_\":\"BOARD_NUCLEO_144_WITH_STM32F303ZE\",\"_MSDK_SHIELD_\":\"shield_nucleo_144\"}", + "necto_config": "NULL", + "display": "NO_DISPLAY", + "package_uid": "144/LQFP" +} diff --git a/resources/queries/boards/board_nucleo_144_with_stm32f303ze/LinkerTables.json b/resources/queries/boards/board_nucleo_144_with_stm32f303ze/LinkerTables.json new file mode 100644 index 000000000..24cc16eb6 --- /dev/null +++ b/resources/queries/boards/board_nucleo_144_with_stm32f303ze/LinkerTables.json @@ -0,0 +1,20 @@ +{ + "board_uid": "NUCLEO_144_WITH_STM32F303ZE_MCU", + "tables": [ + { + "BoardToDevice": { + "device_uid": "STM32F303ZE" + } + }, + { + "BoardToSocket": { + "socket_uid": ["NONE"] + } + }, + { + "SDKToBoard": { + "sdk_uid": "2.11.2+" + } + } + ] +} diff --git a/scripts/index.py b/scripts/index.py index 98ef25fa2..f4fdf3207 100644 --- a/scripts/index.py +++ b/scripts/index.py @@ -1,9 +1,32 @@ -import os, time, argparse, requests +import os, time, argparse, requests, hashlib, shutil from elasticsearch import Elasticsearch from datetime import datetime, timezone import support as support +def hash_file(filename): + """Generate MD5 hash of a file.""" + hash_md5 = hashlib.md5() + with open(filename, "rb") as f: + for chunk in iter(lambda: f.read(4096), b""): + hash_md5.update(chunk) + return hash_md5.hexdigest() + +def hash_directory_contents(directory): + """Generate a hash for the contents of a directory.""" + all_hashes = [] + for root, dirs, files in os.walk(directory): + dirs.sort() # Ensure directory traversal is in a consistent order + files.sort() # Ensure file traversal is in a consistent order + for filename in files: + file_path = os.path.join(root, filename) + file_hash = hash_file(file_path) + all_hashes.append(file_hash) + + # Combine all file hashes into one hash + combined_hash = hashlib.md5("".join(all_hashes).encode()).hexdigest() + return combined_hash + # Gets latest release headers from repository def get_headers(api, token): if api: @@ -131,6 +154,7 @@ def index_release_to_elasticsearch(es : Elasticsearch, index_name, release_detai for asset in release_details[0].get('assets', []): doc = None + package_name = None name_without_extension = os.path.splitext(os.path.basename(asset['name']))[0] package_id = name_without_extension if 'mikrosdk' == name_without_extension: @@ -147,7 +171,7 @@ def index_release_to_elasticsearch(es : Elasticsearch, index_name, release_detai 'category': 'Software Development Kit', 'download_link': asset['url'], # Adjust as needed for actual URL "install_location" : "%APPLICATION_DATA_DIR%/packages/sdk", - 'package_changed': True + 'package_changed': version != version } elif 'templates' == name_without_extension: package_changed = True @@ -200,11 +224,23 @@ def index_release_to_elasticsearch(es : Elasticsearch, index_name, release_detai package_name = metadata_content[0]['packages'][each_package]['display_name'] break show_package = False if metadata_content[0]['packages'][package_name]['package_name'] in boards else True - if show_package: - print('1') if board_version_previous != '0.0.0': if board_version_previous != board_version_new: show_package = True + else: + if show_package: + for each_package in metadata_content[0]['packages']: + if name_without_extension == metadata_content[0]['packages'][each_package]['package_name']: + previous_package_hash = metadata_content[0]['packages'][each_package]['hash'] + support.extract_archive_from_url( + asset['url'], + os.path.join(os.path.dirname(__file__), 'test_package'), + token=token + ) + current_package_hash = hash_directory_contents(os.path.join(os.path.dirname(__file__), 'test_package')) + if previous_package_hash == current_package_hash: + board_version_previous = board_version_new + shutil.rmtree(os.path.join(os.path.dirname(__file__), 'test_package')) doc = { 'name': metadata_content[0]['packages'][package_name]['package_name'], 'display_name': metadata_content[0]['packages'][package_name]['display_name'], diff --git a/scripts/package.py b/scripts/package.py index eeb0ca33d..bb4689f33 100644 --- a/scripts/package.py +++ b/scripts/package.py @@ -343,7 +343,7 @@ def fetch_live_packages(url): metadata_json = json.load(file) file.close() os.remove(os.path.join(os.path.dirname(__file__), os.path.basename(url))) - return metadata_json['packages'] + return metadata_json['packages'], metadata_json if __name__ == '__main__': # First, check for arguments passed @@ -441,7 +441,7 @@ def str2bool(v): ) # Upload all the board packages - live_packages = fetch_live_packages('https://github.com/MikroElektronika/mikrosdk_v2/releases/latest/download/metadata.json') + live_packages, metadata_full = fetch_live_packages('https://github.com/MikroElektronika/mikrosdk_v2/releases/latest/download/metadata.json') for each_package in packages: current_package_data = packages[each_package] if args.package_boards: @@ -462,9 +462,11 @@ def str2bool(v): upload_result = upload_asset_to_release(args.repo, release_id, archive_path, args.token) print('Asset "%s" uploaded successfully to release ID: %s' % ('bsps', release_id)) - if not args.package_boards: - os.makedirs(os.path.join(repo_dir, 'tmp'), exist_ok=True) - with open(os.path.join(repo_dir, 'tmp/metadata.json'), 'w') as metadata: - json.dump(metadata_content, metadata, indent=4) - metadata.close() - upload_result = upload_asset_to_release(args.repo, release_id, os.path.join(repo_dir, 'tmp/metadata.json'), args.token) + os.makedirs(os.path.join(repo_dir, 'tmp'), exist_ok=True) + if args.package_boards: + metadata_full['packages'] = packages + metadata_content = metadata_full + with open(os.path.join(repo_dir, 'tmp/metadata.json'), 'w') as metadata: + json.dump(metadata_content, metadata, indent=4) + metadata.close() + upload_result = upload_asset_to_release(args.repo, release_id, os.path.join(repo_dir, 'tmp/metadata.json'), args.token)