kopia lustrzana https://github.com/mobilinkd/tnc3-firmware
				
				
				
			Enable independent watchdog. Update version to 2.1.7.
							rodzic
							
								
									88989be73f
								
							
						
					
					
						commit
						6311ef8134
					
				|  | @ -3,7 +3,7 @@ | |||
| 	<configuration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1309195742.6250637" name="ARM_Debug"> | ||||
| 		<extension point="org.eclipse.cdt.core.LanguageSettingsProvider"> | ||||
| 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> | ||||
| 			<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-1331898584055533658" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT ARM Cross GCC Built-in Compiler Settings " parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> | ||||
| 			<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-1483812282268530309" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT ARM Cross GCC Built-in Compiler Settings " parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> | ||||
| 				<language-scope id="org.eclipse.cdt.core.gcc"/> | ||||
| 				<language-scope id="org.eclipse.cdt.core.g++"/> | ||||
| 			</provider> | ||||
|  | @ -14,7 +14,7 @@ | |||
| 	<configuration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1309195742.6250637.815824991" name="ARM_Release"> | ||||
| 		<extension point="org.eclipse.cdt.core.LanguageSettingsProvider"> | ||||
| 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> | ||||
| 			<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-1246231711512111338" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT ARM Cross GCC Built-in Compiler Settings " parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> | ||||
| 			<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-1398145274611460181" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT ARM Cross GCC Built-in Compiler Settings " parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> | ||||
| 				<language-scope id="org.eclipse.cdt.core.gcc"/> | ||||
| 				<language-scope id="org.eclipse.cdt.core.g++"/> | ||||
| 			</provider> | ||||
|  | @ -22,4 +22,4 @@ | |||
| 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> | ||||
| 		</extension> | ||||
| 	</configuration> | ||||
| </project> | ||||
| </project> | ||||
|  | @ -399,6 +399,7 @@ int main(void) | |||
|   } else { | ||||
|       reset_button = 0; | ||||
|   } | ||||
|   __HAL_RCC_CLEAR_RESET_FLAGS(); | ||||
|   /* USER CODE END 1 */ | ||||
| 
 | ||||
|   /* MCU Configuration----------------------------------------------------------*/ | ||||
|  | @ -662,6 +663,8 @@ int main(void) | |||
|   } | ||||
| #endif | ||||
| 
 | ||||
|   MX_IWDG_Init(); | ||||
| 
 | ||||
|   /* USER CODE END RTOS_QUEUES */ | ||||
|   | ||||
| 
 | ||||
|  |  | |||
|  | @ -19,6 +19,7 @@ extern osMessageQId hdlcOutputQueueHandle; | |||
| extern osMessageQId dacOutputQueueHandle; | ||||
| extern TIM_HandleTypeDef htim7; | ||||
| extern DAC_HandleTypeDef hdac1; | ||||
| extern IWDG_HandleTypeDef hiwdg; | ||||
| 
 | ||||
| 
 | ||||
| namespace mobilinkd { namespace tnc { | ||||
|  | @ -134,6 +135,8 @@ struct AFSKModulator : Modulator | |||
| 
 | ||||
|     void fill(uint16_t* buffer, bool bit) | ||||
|     { | ||||
|         HAL_IWDG_Refresh(&hiwdg); | ||||
| 
 | ||||
|         for (size_t i = 0; i != BIT_LEN; i++) | ||||
|         { | ||||
|             int s = sin_table[pos_]; | ||||
|  | @ -183,6 +186,8 @@ struct AFSKModulator : Modulator | |||
| 
 | ||||
|     void empty() | ||||
|     { | ||||
|         HAL_IWDG_Refresh(&hiwdg); | ||||
| 
 | ||||
|         switch (running_) { | ||||
|         case 1: | ||||
|             running_ = 0; | ||||
|  |  | |||
|  | @ -25,6 +25,7 @@ | |||
| #include <atomic> | ||||
| 
 | ||||
| extern osMessageQId ioEventQueueHandle; | ||||
| extern IWDG_HandleTypeDef hiwdg; | ||||
| 
 | ||||
| extern "C" void SystemClock_Config(void); | ||||
| 
 | ||||
|  | @ -183,6 +184,8 @@ void demodulatorTask() { | |||
|             continue; | ||||
|         } | ||||
| 
 | ||||
|         HAL_IWDG_Refresh(&hiwdg); | ||||
| 
 | ||||
|         auto block = (adc_pool_type::chunk_type*) evt.value.p; | ||||
|         auto samples = (int16_t*) block->buffer; | ||||
| 
 | ||||
|  |  | |||
|  | @ -5,10 +5,14 @@ | |||
| 
 | ||||
| #include "Modulator.hpp" | ||||
| 
 | ||||
| #include "stm32l4xx_hal.h" | ||||
| 
 | ||||
| #include <array> | ||||
| #include <algorithm> | ||||
| #include <cstdint> | ||||
| 
 | ||||
| extern IWDG_HandleTypeDef hiwdg; | ||||
| 
 | ||||
| namespace mobilinkd { namespace tnc { | ||||
| 
 | ||||
| struct Scrambler | ||||
|  | @ -128,6 +132,8 @@ struct Fsk9600Modulator : Modulator | |||
| 
 | ||||
|     void empty() | ||||
|     { | ||||
|         HAL_IWDG_Refresh(&hiwdg); | ||||
| 
 | ||||
|         switch (state) | ||||
|         { | ||||
|         case State::STARTING: | ||||
|  | @ -204,6 +210,7 @@ private: | |||
| 
 | ||||
|     void fill(uint16_t* buffer, bool bit) | ||||
|     { | ||||
|         HAL_IWDG_Refresh(&hiwdg); | ||||
|         switch (level) | ||||
|         { | ||||
|         case Level::HIGH: | ||||
|  |  | |||
|  | @ -29,6 +29,7 @@ | |||
| extern osMessageQId hdlcOutputQueueHandle; | ||||
| extern PCD_HandleTypeDef hpcd_USB_FS; | ||||
| extern osTimerId usbShutdownTimerHandle; | ||||
| extern IWDG_HandleTypeDef hiwdg; | ||||
| 
 | ||||
| extern "C" void stop2(void); | ||||
| extern "C" void shutdown(void const * argument); | ||||
|  | @ -121,7 +122,11 @@ void startIOEventTask(void const*) | |||
|     /* Infinite loop */ | ||||
|     for (;;) | ||||
|     { | ||||
|         osEvent evt = osMessageGet(ioEventQueueHandle, osWaitForever); | ||||
|         osEvent evt = osMessageGet(ioEventQueueHandle, 100); | ||||
|         if (hdlc::ioFramePool().size() != 0) | ||||
|             HAL_IWDG_Refresh(&hiwdg); | ||||
|         else | ||||
|             CxxErrorHandler(); | ||||
|         if (evt.status != osEventMessage) | ||||
|             continue; | ||||
| 
 | ||||
|  |  | |||
|  | @ -44,10 +44,10 @@ int powerOffViaUSB(void) | |||
| namespace mobilinkd { namespace tnc { namespace kiss { | ||||
| 
 | ||||
| #ifdef NUCLEOTNC | ||||
| const char FIRMWARE_VERSION[] = "2.1.6"; | ||||
| const char FIRMWARE_VERSION[] = "2.1.7"; | ||||
| const char HARDWARE_VERSION[] = "Mobilinkd NucleoTNC"; | ||||
| #else | ||||
| const char FIRMWARE_VERSION[] = "2.1.6"; | ||||
| const char FIRMWARE_VERSION[] = "2.1.7"; | ||||
| const char HARDWARE_VERSION[] = "Mobilinkd TNC3 2.1.1"; | ||||
| #endif | ||||
| 
 | ||||
|  |  | |||
|  | @ -29,6 +29,7 @@ static osMessageQId m17EncoderInputQueueHandle; | |||
| static osMessageQId m17EncoderOutputQueueHandle; | ||||
| 
 | ||||
| extern RNG_HandleTypeDef hrng; | ||||
| extern IWDG_HandleTypeDef hiwdg; | ||||
| 
 | ||||
| namespace mobilinkd | ||||
| { | ||||
|  | @ -522,6 +523,9 @@ void M17Encoder::encoderTask(void const*) | |||
|     { | ||||
|         osEvent evt = osMessageGet(m17EncoderInputQueueHandle, osWaitForever); | ||||
|         if (evt.status != osEventMessage) continue; | ||||
| 
 | ||||
|         HAL_IWDG_Refresh(&hiwdg); | ||||
| 
 | ||||
|         auto frame = static_cast<IoFrame*>(evt.value.p); | ||||
|         if (frame->size() != 48) WARN("Bad frame size %u", frame->size()); | ||||
| 
 | ||||
|  |  | |||
		Ładowanie…
	
		Reference in New Issue
	
	 Rob Riggs
						Rob Riggs