#MicroXplorer Configuration settings - do not modify ADC1.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_0 ADC1.Channel-1\#ChannelRegularConversion=ADC_CHANNEL_1 ADC1.Channel-2\#ChannelRegularConversion=ADC_CHANNEL_TEMPSENSOR ADC1.Channel-3\#ChannelRegularConversion=ADC_CHANNEL_VREFINT ADC1.ContinuousConvMode=DISABLE ADC1.ExternalTrigConv=ADC_EXTERNALTRIGCONV_T1_CC1 ADC1.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,NbrOfConversionFlag,master,ContinuousConvMode,Rank-1\#ChannelRegularConversion,Channel-1\#ChannelRegularConversion,SamplingTime-1\#ChannelRegularConversion,Rank-2\#ChannelRegularConversion,Channel-2\#ChannelRegularConversion,SamplingTime-2\#ChannelRegularConversion,Rank-3\#ChannelRegularConversion,Channel-3\#ChannelRegularConversion,SamplingTime-3\#ChannelRegularConversion,NbrOfConversion,ExternalTrigConv ADC1.NbrOfConversion=4 ADC1.NbrOfConversionFlag=1 ADC1.Rank-0\#ChannelRegularConversion=1 ADC1.Rank-1\#ChannelRegularConversion=2 ADC1.Rank-2\#ChannelRegularConversion=3 ADC1.Rank-3\#ChannelRegularConversion=4 ADC1.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_41CYCLES_5 ADC1.SamplingTime-1\#ChannelRegularConversion=ADC_SAMPLETIME_41CYCLES_5 ADC1.SamplingTime-2\#ChannelRegularConversion=ADC_SAMPLETIME_41CYCLES_5 ADC1.SamplingTime-3\#ChannelRegularConversion=ADC_SAMPLETIME_41CYCLES_5 ADC1.master=1 Dma.ADC1.0.Direction=DMA_PERIPH_TO_MEMORY Dma.ADC1.0.Instance=DMA1_Channel1 Dma.ADC1.0.MemDataAlignment=DMA_MDATAALIGN_HALFWORD Dma.ADC1.0.MemInc=DMA_MINC_ENABLE Dma.ADC1.0.Mode=DMA_CIRCULAR Dma.ADC1.0.PeriphDataAlignment=DMA_PDATAALIGN_HALFWORD Dma.ADC1.0.PeriphInc=DMA_PINC_DISABLE Dma.ADC1.0.Priority=DMA_PRIORITY_MEDIUM Dma.ADC1.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority Dma.Request0=ADC1 Dma.RequestsNb=1 FREERTOS.FootprintOK=true FREERTOS.IPParameters=Tasks01,configUSE_MALLOC_FAILED_HOOK,configCHECK_FOR_STACK_OVERFLOW,configUSE_NEWLIB_REENTRANT,FootprintOK,Mutexes01,Queues01,Timers01,configUSE_TRACE_FACILITY,configUSE_STATS_FORMATTING_FUNCTIONS,configENABLE_BACKWARD_COMPATIBILITY FREERTOS.Mutexes01=heaterMutex,Static,heaterMutexControlBlock FREERTOS.Queues01=guiEventQue,16,8,1,Static,guiEventQueBuffer,guiEventQueControlBlock FREERTOS.Tasks01=mainTsk,24,256,app_task_main,As weak,NULL,Static,defaultTaskBuffer,defaultTaskControlBlock;heaterTsk,24,128,app_task_heater,As external,NULL,Static,heaterTskBuffer,heaterTskControlBlock;guiTsk,40,256,app_task_gui,As external,NULL,Static,guiTskBuffer,guiTskControlBlock FREERTOS.Timers01=beepTimer,app_beep_end,osTimerOnce,As external,NULL,Static,beepTimerControlBlock FREERTOS.configCHECK_FOR_STACK_OVERFLOW=2 FREERTOS.configENABLE_BACKWARD_COMPATIBILITY=0 FREERTOS.configUSE_MALLOC_FAILED_HOOK=1 FREERTOS.configUSE_NEWLIB_REENTRANT=1 FREERTOS.configUSE_STATS_FORMATTING_FUNCTIONS=1 FREERTOS.configUSE_TRACE_FACILITY=1 File.Version=6 GPIO.groupedBy=Group By Peripherals IWDG.IPParameters=Prescaler,Reload IWDG.Prescaler=IWDG_PRESCALER_256 IWDG.Reload=624 KeepUserPlacement=false Mcu.CPN=STM32F103C8T6 Mcu.Family=STM32F1 Mcu.IP0=ADC1 Mcu.IP1=DMA Mcu.IP10=TIM3 Mcu.IP11=TIM4 Mcu.IP12=USART1 Mcu.IP2=FREERTOS Mcu.IP3=IWDG Mcu.IP4=NVIC Mcu.IP5=RCC Mcu.IP6=SPI2 Mcu.IP7=SYS Mcu.IP8=TIM1 Mcu.IP9=TIM2 Mcu.IPNb=13 Mcu.Name=STM32F103C(8-B)Tx Mcu.Package=LQFP48 Mcu.Pin0=PC13-TAMPER-RTC Mcu.Pin1=PA0-WKUP Mcu.Pin10=PA10 Mcu.Pin11=PA13 Mcu.Pin12=PA14 Mcu.Pin13=PA15 Mcu.Pin14=PB6 Mcu.Pin15=PB7 Mcu.Pin16=PB8 Mcu.Pin17=VP_ADC1_TempSens_Input Mcu.Pin18=VP_ADC1_Vref_Input Mcu.Pin19=VP_FREERTOS_VS_CMSIS_V2 Mcu.Pin2=PA1 Mcu.Pin20=VP_IWDG_VS_IWDG Mcu.Pin21=VP_SYS_VS_Systick Mcu.Pin22=VP_TIM1_VS_ClockSourceINT Mcu.Pin23=VP_TIM1_VS_no_output1 Mcu.Pin24=VP_TIM2_VS_ClockSourceINT Mcu.Pin25=VP_TIM3_VS_ClockSourceINT Mcu.Pin3=PA6 Mcu.Pin4=PB0 Mcu.Pin5=PB1 Mcu.Pin6=PB10 Mcu.Pin7=PB13 Mcu.Pin8=PB15 Mcu.Pin9=PA9 Mcu.PinsNb=26 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32F103C8Tx MxCube.Version=6.5.0 MxDb.Version=DB.6.0.50 NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:true NVIC.DMA1_Channel1_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:true NVIC.ForceEnableDMAVector=true NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:true NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:true NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:true NVIC.PendSV_IRQn=true\:15\:0\:false\:false\:false\:true\:false\:false\:true NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4 NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:false\:false\:false\:false\:true NVIC.SavedPendsvIrqHandlerGenerated=true NVIC.SavedSvcallIrqHandlerGenerated=true NVIC.SavedSystickIrqHandlerGenerated=true NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:true\:false\:true\:true NVIC.TIM4_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:true PA0-WKUP.Signal=ADCx_IN0 PA1.GPIOParameters=GPIO_Label PA1.GPIO_Label=ADC_SENSR PA1.Locked=true PA1.Signal=ADCx_IN1 PA10.Mode=Asynchronous PA10.Signal=USART1_RX PA13.Locked=true PA13.Mode=Serial_Wire PA13.Signal=SYS_JTMS-SWDIO PA14.Locked=true PA14.Mode=Serial_Wire PA14.Signal=SYS_JTCK-SWCLK PA15.GPIOParameters=GPIO_Speed,GPIO_Label PA15.GPIO_Label=BUZZER PA15.GPIO_Speed=GPIO_SPEED_FREQ_HIGH PA15.Signal=S_TIM2_CH1_ETR PA6.Locked=true PA6.Signal=S_TIM3_CH1 PA9.Mode=Asynchronous PA9.Signal=USART1_TX PB0.GPIOParameters=PinState,GPIO_Label PB0.GPIO_Label=OLED_CS PB0.Locked=true PB0.PinState=GPIO_PIN_SET PB0.Signal=GPIO_Output PB1.GPIOParameters=PinState,GPIO_Label PB1.GPIO_Label=OLED_DC PB1.Locked=true PB1.PinState=GPIO_PIN_SET PB1.Signal=GPIO_Output PB10.GPIOParameters=GPIO_Label PB10.GPIO_Label=OLED_RST PB10.Locked=true PB10.Signal=GPIO_Output PB13.Mode=TX_Only_Simplex_Unidirect_Master PB13.Signal=SPI2_SCK PB15.Mode=TX_Only_Simplex_Unidirect_Master PB15.Signal=SPI2_MOSI PB6.GPIOParameters=GPIO_PuPd,GPIO_Label PB6.GPIO_Label=KNOB_A PB6.GPIO_PuPd=GPIO_PULLUP PB6.Signal=S_TIM4_CH1 PB7.GPIOParameters=GPIO_PuPd,GPIO_Label PB7.GPIO_Label=KNOB_B PB7.GPIO_PuPd=GPIO_PULLUP PB7.Signal=S_TIM4_CH2 PB8.GPIOParameters=GPIO_Label PB8.GPIO_Label=KNOB_PUSH PB8.Locked=true PB8.Signal=GPIO_Input PC13-TAMPER-RTC.GPIOParameters=GPIO_Label PC13-TAMPER-RTC.GPIO_Label=LED PC13-TAMPER-RTC.Locked=true PC13-TAMPER-RTC.Signal=GPIO_Output PinOutPanel.RotationAngle=0 ProjectManager.AskForMigrate=true ProjectManager.BackupPrevious=false ProjectManager.CompilerOptimize=6 ProjectManager.ComputerToolchain=false ProjectManager.CoupleFile=true ProjectManager.CustomerFirmwarePackage= ProjectManager.DefaultFWLocation=true ProjectManager.DeletePrevious=true ProjectManager.DeviceId=STM32F103C8Tx ProjectManager.FirmwarePackage=STM32Cube FW_F1 V1.8.4 ProjectManager.FreePins=true ProjectManager.HalAssertFull=true ProjectManager.HeapSize=0x200 ProjectManager.KeepUserCode=true ProjectManager.LastFirmware=true ProjectManager.LibraryCopy=1 ProjectManager.MainLocation=Core/Src ProjectManager.NoMain=false ProjectManager.PreviousToolchain=STM32CubeIDE ProjectManager.ProjectBuild=false ProjectManager.ProjectFileName=BluepillTrouba.ioc ProjectManager.ProjectName=BluepillTrouba ProjectManager.RegisterCallBack= ProjectManager.StackSize=0x400 ProjectManager.TargetToolchain=Makefile ProjectManager.ToolChainLocation= ProjectManager.UnderRoot=false ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-LL-false,2-MX_GPIO_Init-GPIO-false-LL-true,3-MX_IWDG_Init-IWDG-false-LL-true,4-MX_USART1_UART_Init-USART1-false-LL-true,5-MX_ADC1_Init-ADC1-false-LL-true,6-MX_DMA_Init-DMA-false-LL-true,7-MX_TIM4_Init-TIM4-false-LL-true,8-MX_TIM2_Init-TIM2-false-LL-true,9-MX_TIM3_Init-TIM3-false-LL-true,10-MX_SPI2_Init-SPI2-false-LL-true,11-MX_TIM1_Init-TIM1-false-LL-true RCC.ADCFreqValue=8000000 RCC.ADCPresc=RCC_ADCPCLK2_DIV8 RCC.AHBFreq_Value=64000000 RCC.APB1CLKDivider=RCC_HCLK_DIV2 RCC.APB1Freq_Value=32000000 RCC.APB1TimFreq_Value=64000000 RCC.APB2Freq_Value=64000000 RCC.APB2TimFreq_Value=64000000 RCC.FCLKCortexFreq_Value=64000000 RCC.FamilyName=M RCC.HCLKFreq_Value=64000000 RCC.IPParameters=ADCFreqValue,ADCPresc,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,MCOFreq_Value,PLLCLKFreq_Value,PLLMCOFreq_Value,PLLMUL,RTCClockSelection,RTCFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,TimSysFreq_Value,USBFreq_Value,VCOOutput2Freq_Value RCC.MCOFreq_Value=64000000 RCC.PLLCLKFreq_Value=64000000 RCC.PLLMCOFreq_Value=32000000 RCC.PLLMUL=RCC_PLL_MUL16 RCC.RTCClockSelection=RCC_RTCCLKSOURCE_LSE RCC.RTCFreq_Value=32768 RCC.SYSCLKFreq_VALUE=64000000 RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK RCC.TimSysFreq_Value=64000000 RCC.USBFreq_Value=64000000 RCC.VCOOutput2Freq_Value=4000000 SH.ADCx_IN0.0=ADC1_IN0,IN0 SH.ADCx_IN0.ConfNb=1 SH.ADCx_IN1.0=ADC1_IN1,IN1 SH.ADCx_IN1.ConfNb=1 SH.S_TIM2_CH1_ETR.0=TIM2_CH1,PWM Generation1 CH1 SH.S_TIM2_CH1_ETR.ConfNb=1 SH.S_TIM3_CH1.0=TIM3_CH1,PWM Generation1 CH1 SH.S_TIM3_CH1.ConfNb=1 SH.S_TIM4_CH1.0=TIM4_CH1,Encoder_Interface SH.S_TIM4_CH1.ConfNb=1 SH.S_TIM4_CH2.0=TIM4_CH2,Encoder_Interface SH.S_TIM4_CH2.ConfNb=1 SPI2.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_8 SPI2.CalculateBaudRate=4.0 MBits/s SPI2.Direction=SPI_DIRECTION_2LINES SPI2.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,BaudRatePrescaler SPI2.Mode=SPI_MODE_MASTER SPI2.VirtualType=VM_MASTER TIM1.Channel-PWM\ Generation1\ No\ Output=TIM_CHANNEL_1 TIM1.IPParameters=Prescaler,Period,TIM_MasterOutputTrigger,Channel-PWM Generation1 No Output TIM1.Period=100 TIM1.Prescaler=64000 TIM1.TIM_MasterOutputTrigger=TIM_TRGO_OC1REF TIM2.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1 TIM2.IPParameters=Channel-PWM Generation1 CH1,Prescaler TIM2.Prescaler=2 TIM3.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1 TIM3.IPParameters=Channel-PWM Generation1 CH1,Prescaler,Pulse-PWM Generation1 CH1,Period TIM3.Period=64000 TIM3.Prescaler=2000 TIM3.Pulse-PWM\ Generation1\ CH1=0 TIM4.IC2Filter=15 TIM4.IPParameters=IC2Filter,Prescaler TIM4.Prescaler=0 USART1.IPParameters=VirtualMode,Mode USART1.Mode=MODE_TX_RX USART1.VirtualMode=VM_ASYNC VP_ADC1_TempSens_Input.Mode=IN-TempSens VP_ADC1_TempSens_Input.Signal=ADC1_TempSens_Input VP_ADC1_Vref_Input.Mode=IN-Vrefint VP_ADC1_Vref_Input.Signal=ADC1_Vref_Input VP_FREERTOS_VS_CMSIS_V2.Mode=CMSIS_V2 VP_FREERTOS_VS_CMSIS_V2.Signal=FREERTOS_VS_CMSIS_V2 VP_IWDG_VS_IWDG.Mode=IWDG_Activate VP_IWDG_VS_IWDG.Signal=IWDG_VS_IWDG VP_SYS_VS_Systick.Mode=SysTick VP_SYS_VS_Systick.Signal=SYS_VS_Systick VP_TIM1_VS_ClockSourceINT.Mode=Internal VP_TIM1_VS_ClockSourceINT.Signal=TIM1_VS_ClockSourceINT VP_TIM1_VS_no_output1.Mode=PWM Generation1 No Output VP_TIM1_VS_no_output1.Signal=TIM1_VS_no_output1 VP_TIM2_VS_ClockSourceINT.Mode=Internal VP_TIM2_VS_ClockSourceINT.Signal=TIM2_VS_ClockSourceINT VP_TIM3_VS_ClockSourceINT.Mode=Internal VP_TIM3_VS_ClockSourceINT.Signal=TIM3_VS_ClockSourceINT board=custom