/** ****************************************************************************** * @file : main.h * @brief : Header for main.c file. * This file contains the common defines of the application. ****************************************************************************** * This notice applies to any and all portions of this file * that are not between comment pairs USER CODE BEGIN and * USER CODE END. Other portions of this file, whether * inserted by the user or by software development tools * are owned by their respective copyright owners. * * Copyright (c) 2021 STMicroelectronics International N.V. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted, provided that the following conditions are met: * * 1. Redistribution of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. Neither the name of STMicroelectronics nor the names of other * contributors to this software may be used to endorse or promote products * derived from this software without specific written permission. * 4. This software, including modifications and/or derivative works of this * software, must execute solely and exclusively on microcontroller or * microprocessor devices manufactured by or for STMicroelectronics. * 5. Redistribution and use of this software other than as permitted under * this license is void and will automatically terminate your rights under * this license. * * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ****************************************************************************** */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __MAIN_H__ #define __MAIN_H__ /* Includes ------------------------------------------------------------------*/ /* USER CODE BEGIN Includes */ #include #include /* USER CODE END Includes */ /* Private define ------------------------------------------------------------*/ #define VCP_TX_Pin GPIO_PIN_2 #define VCP_TX_GPIO_Port GPIOA #define AUDIO_IN_Pin GPIO_PIN_3 #define AUDIO_IN_GPIO_Port GPIOA #define AUDIO_OUT_DAC_Pin GPIO_PIN_4 #define AUDIO_OUT_DAC_GPIO_Port GPIOA #define AUDIO_IN_VREF_Pin GPIO_PIN_5 #define AUDIO_IN_VREF_GPIO_Port GPIOA #define BUTTON_AUDIO_IN_ADJUST_Pin GPIO_PIN_1 #define BUTTON_AUDIO_IN_ADJUST_GPIO_Port GPIOB #define BUTTON_AUDIO_IN_ADJUST_EXTI_IRQn EXTI1_IRQn #define LED_RED_Pin GPIO_PIN_8 #define LED_RED_GPIO_Port GPIOA #define LED_GREEN_Pin GPIO_PIN_9 #define LED_GREEN_GPIO_Port GPIOA #define LED_YELLOW_Pin GPIO_PIN_10 #define LED_YELLOW_GPIO_Port GPIOA #define PTT_M_Pin GPIO_PIN_11 #define PTT_M_GPIO_Port GPIOA #define PTT_S_Pin GPIO_PIN_12 #define PTT_S_GPIO_Port GPIOA #define SWDIO_Pin GPIO_PIN_13 #define SWDIO_GPIO_Port GPIOA #define SWCLK_Pin GPIO_PIN_14 #define SWCLK_GPIO_Port GPIOA #define VCP_RX_Pin GPIO_PIN_15 #define VCP_RX_GPIO_Port GPIOA #define LD3_Pin GPIO_PIN_3 #define LD3_GPIO_Port GPIOB #define AUDIO_OUT_ATTEN_Pin GPIO_PIN_5 #define AUDIO_OUT_ATTEN_GPIO_Port GPIOB /* ########################## Assert Selection ############################## */ /** * @brief Uncomment the line below to expanse the "assert_param" macro in the * HAL drivers code */ #define USE_FULL_ASSERT 1U /* USER CODE BEGIN Private defines */ // #define TNC_HAS_LSCO -- Not available on NucleoTNC // #define TNC_HAS_SWO -- Not available on NucleoTNC #define TNC_HAS_LSE // #define TNC_HAS_HSE -- Not available on NucleoTNC // #define TNC_HAS_MCO -- Not available on NucleoTNC // #define TNC_HAS_BT -- Not available on NucleoTNC // #define TNC_HAS_BAT -- Not available on NucleoTNC // #define TNC_HAS_USB -- Not available on NucleoTNC // Compatibility defines // #define BATTERY_ADC_HANDLE hadc2 // #define BATTERY_ADC_CHANNEL ADC_CHANNEL_16 #define LED_PWM_TIMER_HANDLE htim1 #define EEPROM_I2C hi2c3 #define SERIAL_UART huart2 #define AUDIO_ADC_HANDLE hadc1 #define AUDIO_ADC_CHANNEL CHANNEL_8 //#define USB_CE_Pin GPIO_PIN_4 //#define USB_CE_GPIO_Port GPIOB #define EEPROM_ADDRESS 0xA0 #define EEPROM_CAPACITY 4096 #define EEPROM_PAGE_SIZE 32 #define EEPROM_WRITE_TIME 5 #define CMD_USER_BUTTON_DOWN 1 #define CMD_USER_BUTTON_UP 2 #define CMD_SET_PTT_SIMPLEX 3 #define CMD_SET_PTT_MULTIPLEX 4 extern char error_message[80]; extern char serial_number_64[13]; extern osMutexId hardwareInitMutexHandle; #define CxxErrorHandler() _Error_Handler(const_cast(__FILE__), __LINE__) #ifdef __cplusplus extern "C" { #endif // These are no-ops on NucleoTNC. void SysClock80(void); void SysClock72(void); void SysClock48(void); void SysClock4(void); #ifdef __cplusplus } #endif /* USER CODE END Private defines */ #ifdef __cplusplus extern "C" { #endif void _Error_Handler(char *, int); #define Error_Handler() _Error_Handler(__FILE__, __LINE__) #ifdef __cplusplus } #endif #endif /* __MAIN_H__ */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/