Преглед на файлове

나의 RGB 값을 17회 이상 부르지 않을시 나의 RGB Sensor ID 를 0으로 초기화 할 수있도록 수정

june9152 преди 6 години
родител
ревизия
2a60e2ef74

+ 1 - 1
.settings/language.settings.xml

@@ -4,7 +4,7 @@
4 4
 		<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
5 5
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
6 6
 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
7
-			<provider class="com.atollic.truestudio.mbs.GCCSpecsDetectorAtollicArm" console="false" env-hash="-840853398896664778" id="com.atollic.truestudio.mbs.provider" keep-relative-paths="false" name="Atollic ARM Tools Language Settings" parameter="${COMMAND} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
7
+			<provider class="com.atollic.truestudio.mbs.GCCSpecsDetectorAtollicArm" console="false" env-hash="157605811251204298" id="com.atollic.truestudio.mbs.provider" keep-relative-paths="false" name="Atollic ARM Tools Language Settings" parameter="${COMMAND} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
8 8
 				<language-scope id="org.eclipse.cdt.core.gcc"/>
9 9
 				<language-scope id="org.eclipse.cdt.core.g++"/>
10 10
 			</provider>

BIN
Debug/STM32F100_RGB_Sensor.bin


BIN
Debug/STM32F100_RGB_Sensor.binary


BIN
Debug/STM32F100_RGB_Sensor.elf


Файловите разлики са ограничени, защото са твърде много
+ 3211 - 3182
Debug/STM32F100_RGB_Sensor.list


+ 306 - 302
Debug/STM32F100_RGB_Sensor.map

@@ -140,6 +140,8 @@ hadc1               0x30              Src\main.o
140 140
 huart1              0x40              Src\main.o
141 141
 ring_buf            0x32              Src\main.o
142 142
 rx1_data            0x1               Src\main.o
143
+My_RGB_ID_Reset_RequestCnt
144
+                    0x1               Src\RGB_Sensor.o
143 145
 huart2              0x40              Src\main.o
144 146
 _tcs34725Gain       0x1               Src\TCS34725.o
145 147
 htim7               0x40              Src\main.o
@@ -1409,7 +1411,7 @@ LOAD c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../l
1409 1411
                 0x08000000                g_pfnVectors
1410 1412
                 0x080001d0                . = ALIGN (0x4)
1411 1413
 
1412
-.text           0x080001d0     0x41d4
1414
+.text           0x080001d0     0x41f8
1413 1415
                 0x080001d0                . = ALIGN (0x4)
1414 1416
  *(.text)
1415 1417
  .text          0x080001d0       0x40 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crtbegin.o
@@ -1609,366 +1611,366 @@ LOAD c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../l
1609 1611
  .text.UART_DMAAbortOnError
1610 1612
                 0x080026ac       0x10 Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.o
1611 1613
  .text.RGB_Sensor_Func
1612
-                0x080026bc      0x138 Src\RGB_Sensor.o
1614
+                0x080026bc      0x15c Src\RGB_Sensor.o
1613 1615
                 0x080026bc                RGB_Sensor_Func
1614 1616
  .text.TCS34725_I2C_Read
1615
-                0x080027f4       0x30 Src\TCS34725.o
1616
-                0x080027f4                TCS34725_I2C_Read
1617
+                0x08002818       0x30 Src\TCS34725.o
1618
+                0x08002818                TCS34725_I2C_Read
1617 1619
  .text.TCS34725_I2C_Write
1618
-                0x08002824       0x28 Src\TCS34725.o
1619
-                0x08002824                TCS34725_I2C_Write
1620
+                0x08002848       0x28 Src\TCS34725.o
1621
+                0x08002848                TCS34725_I2C_Write
1620 1622
  .text.RGB_data_arrage
1621
-                0x0800284c      0x164 Src\TCS34725.o
1622
-                0x0800284c                RGB_data_arrage
1623
+                0x08002870      0x164 Src\TCS34725.o
1624
+                0x08002870                RGB_data_arrage
1623 1625
  .text.TCS34725_getrawdata
1624
-                0x080029b0       0x78 Src\TCS34725.o
1625
-                0x080029b0                TCS34725_getrawdata
1626
+                0x080029d4       0x78 Src\TCS34725.o
1627
+                0x080029d4                TCS34725_getrawdata
1626 1628
  .text.TCS34725_enable
1627
-                0x08002a28       0x60 Src\TCS34725.o
1628
-                0x08002a28                TCS34725_enable
1629
+                0x08002a4c       0x60 Src\TCS34725.o
1630
+                0x08002a4c                TCS34725_enable
1629 1631
  .text.HAL_UART_RxCpltCallback
1630
-                0x08002a88       0xb4 Src\main.o
1631
-                0x08002a88                HAL_UART_RxCpltCallback
1632
+                0x08002aac       0xb4 Src\main.o
1633
+                0x08002aac                HAL_UART_RxCpltCallback
1632 1634
  .text.HAL_TIM_PeriodElapsedCallback
1633
-                0x08002b3c       0x28 Src\main.o
1634
-                0x08002b3c                HAL_TIM_PeriodElapsedCallback
1635
- .text._write   0x08002b64       0x14 Src\main.o
1636
-                0x08002b64                _write
1635
+                0x08002b60       0x28 Src\main.o
1636
+                0x08002b60                HAL_TIM_PeriodElapsedCallback
1637
+ .text._write   0x08002b88       0x14 Src\main.o
1638
+                0x08002b88                _write
1637 1639
  .text.Uart2_Data_Send
1638
-                0x08002b78       0x10 Src\main.o
1639
-                0x08002b78                Uart2_Data_Send
1640
+                0x08002b9c       0x10 Src\main.o
1641
+                0x08002b9c                Uart2_Data_Send
1640 1642
  .text.Uart_dataCheck
1641
-                0x08002b88       0xa0 Src\main.o
1642
-                0x08002b88                Uart_dataCheck
1643
+                0x08002bac       0xa0 Src\main.o
1644
+                0x08002bac                Uart_dataCheck
1643 1645
  .text.SystemClock_Config
1644
-                0x08002c28       0x54 Src\main.o
1645
-                0x08002c28                SystemClock_Config
1646
+                0x08002c4c       0x54 Src\main.o
1647
+                0x08002c4c                SystemClock_Config
1646 1648
  .text.startup.main
1647
-                0x08002c7c      0x2b0 Src\main.o
1648
-                0x08002c7c                main
1649
+                0x08002ca0      0x2b0 Src\main.o
1650
+                0x08002ca0                main
1649 1651
  .text.STH30_CreateCrc
1650
-                0x08002f2c       0x36 Src\sth30_crc.o
1651
-                0x08002f2c                STH30_CreateCrc
1652
+                0x08002f50       0x36 Src\sth30_crc.o
1653
+                0x08002f50                STH30_CreateCrc
1652 1654
  .text.STH30_CheckCrc
1653
-                0x08002f62       0x3a Src\sth30_crc.o
1654
-                0x08002f62                STH30_CheckCrc
1655
+                0x08002f86       0x3a Src\sth30_crc.o
1656
+                0x08002f86                STH30_CheckCrc
1655 1657
  .text.HAL_MspInit
1656
-                0x08002f9c       0x44 Src\stm32f1xx_hal_msp.o
1657
-                0x08002f9c                HAL_MspInit
1658
+                0x08002fc0       0x44 Src\stm32f1xx_hal_msp.o
1659
+                0x08002fc0                HAL_MspInit
1658 1660
  .text.HAL_ADC_MspInit
1659
-                0x08002fe0       0x5c Src\stm32f1xx_hal_msp.o
1660
-                0x08002fe0                HAL_ADC_MspInit
1661
+                0x08003004       0x5c Src\stm32f1xx_hal_msp.o
1662
+                0x08003004                HAL_ADC_MspInit
1661 1663
  .text.HAL_I2C_MspInit
1662
-                0x0800303c       0x74 Src\stm32f1xx_hal_msp.o
1663
-                0x0800303c                HAL_I2C_MspInit
1664
+                0x08003060       0x74 Src\stm32f1xx_hal_msp.o
1665
+                0x08003060                HAL_I2C_MspInit
1664 1666
  .text.HAL_TIM_Base_MspInit
1665
-                0x080030b0       0x28 Src\stm32f1xx_hal_msp.o
1666
-                0x080030b0                HAL_TIM_Base_MspInit
1667
+                0x080030d4       0x28 Src\stm32f1xx_hal_msp.o
1668
+                0x080030d4                HAL_TIM_Base_MspInit
1667 1669
  .text.HAL_UART_MspInit
1668
-                0x080030d8       0xc4 Src\stm32f1xx_hal_msp.o
1669
-                0x080030d8                HAL_UART_MspInit
1670
+                0x080030fc       0xc4 Src\stm32f1xx_hal_msp.o
1671
+                0x080030fc                HAL_UART_MspInit
1670 1672
  .text.NMI_Handler
1671
-                0x0800319c        0x2 Src\stm32f1xx_it.o
1672
-                0x0800319c                NMI_Handler
1673
+                0x080031c0        0x2 Src\stm32f1xx_it.o
1674
+                0x080031c0                NMI_Handler
1673 1675
  .text.HardFault_Handler
1674
-                0x0800319e        0x2 Src\stm32f1xx_it.o
1675
-                0x0800319e                HardFault_Handler
1676
+                0x080031c2        0x2 Src\stm32f1xx_it.o
1677
+                0x080031c2                HardFault_Handler
1676 1678
  .text.MemManage_Handler
1677
-                0x080031a0        0x2 Src\stm32f1xx_it.o
1678
-                0x080031a0                MemManage_Handler
1679
+                0x080031c4        0x2 Src\stm32f1xx_it.o
1680
+                0x080031c4                MemManage_Handler
1679 1681
  .text.BusFault_Handler
1680
-                0x080031a2        0x2 Src\stm32f1xx_it.o
1681
-                0x080031a2                BusFault_Handler
1682
+                0x080031c6        0x2 Src\stm32f1xx_it.o
1683
+                0x080031c6                BusFault_Handler
1682 1684
  .text.UsageFault_Handler
1683
-                0x080031a4        0x2 Src\stm32f1xx_it.o
1684
-                0x080031a4                UsageFault_Handler
1685
+                0x080031c8        0x2 Src\stm32f1xx_it.o
1686
+                0x080031c8                UsageFault_Handler
1685 1687
  .text.SVC_Handler
1686
-                0x080031a6        0x2 Src\stm32f1xx_it.o
1687
-                0x080031a6                SVC_Handler
1688
+                0x080031ca        0x2 Src\stm32f1xx_it.o
1689
+                0x080031ca                SVC_Handler
1688 1690
  .text.DebugMon_Handler
1689
-                0x080031a8        0x2 Src\stm32f1xx_it.o
1690
-                0x080031a8                DebugMon_Handler
1691
+                0x080031cc        0x2 Src\stm32f1xx_it.o
1692
+                0x080031cc                DebugMon_Handler
1691 1693
  .text.PendSV_Handler
1692
-                0x080031aa        0x2 Src\stm32f1xx_it.o
1693
-                0x080031aa                PendSV_Handler
1694
+                0x080031ce        0x2 Src\stm32f1xx_it.o
1695
+                0x080031ce                PendSV_Handler
1694 1696
  .text.SysTick_Handler
1695
-                0x080031ac        0x4 Src\stm32f1xx_it.o
1696
-                0x080031ac                SysTick_Handler
1697
+                0x080031d0        0x4 Src\stm32f1xx_it.o
1698
+                0x080031d0                SysTick_Handler
1697 1699
  .text.I2C1_EV_IRQHandler
1698
-                0x080031b0        0xc Src\stm32f1xx_it.o
1699
-                0x080031b0                I2C1_EV_IRQHandler
1700
+                0x080031d4        0xc Src\stm32f1xx_it.o
1701
+                0x080031d4                I2C1_EV_IRQHandler
1700 1702
  .text.USART1_IRQHandler
1701
-                0x080031bc        0xc Src\stm32f1xx_it.o
1702
-                0x080031bc                USART1_IRQHandler
1703
+                0x080031e0        0xc Src\stm32f1xx_it.o
1704
+                0x080031e0                USART1_IRQHandler
1703 1705
  .text.USART2_IRQHandler
1704
-                0x080031c8        0xc Src\stm32f1xx_it.o
1705
-                0x080031c8                USART2_IRQHandler
1706
+                0x080031ec        0xc Src\stm32f1xx_it.o
1707
+                0x080031ec                USART2_IRQHandler
1706 1708
  .text.TIM7_IRQHandler
1707
-                0x080031d4        0xc Src\stm32f1xx_it.o
1708
-                0x080031d4                TIM7_IRQHandler
1709
+                0x080031f8        0xc Src\stm32f1xx_it.o
1710
+                0x080031f8                TIM7_IRQHandler
1709 1711
  .text.SystemInit
1710
-                0x080031e0       0x50 Src\system_stm32f1xx.o
1711
-                0x080031e0                SystemInit
1712
+                0x08003204       0x50 Src\system_stm32f1xx.o
1713
+                0x08003204                SystemInit
1712 1714
  .text.Reset_Handler
1713
-                0x08003230       0x48 startup\startup_stm32f100xb.o
1714
-                0x08003230                Reset_Handler
1715
+                0x08003254       0x48 startup\startup_stm32f100xb.o
1716
+                0x08003254                Reset_Handler
1715 1717
  .text.Default_Handler
1716
-                0x08003278        0x2 startup\startup_stm32f100xb.o
1717
-                0x08003278                RTC_Alarm_IRQHandler
1718
-                0x08003278                EXTI2_IRQHandler
1719
-                0x08003278                TIM1_CC_IRQHandler
1720
-                0x08003278                PVD_IRQHandler
1721
-                0x08003278                EXTI3_IRQHandler
1722
-                0x08003278                EXTI0_IRQHandler
1723
-                0x08003278                TIM1_UP_TIM16_IRQHandler
1724
-                0x08003278                SPI1_IRQHandler
1725
-                0x08003278                TAMPER_IRQHandler
1726
-                0x08003278                TIM6_DAC_IRQHandler
1727
-                0x08003278                DMA1_Channel4_IRQHandler
1728
-                0x08003278                ADC1_IRQHandler
1729
-                0x08003278                USART3_IRQHandler
1730
-                0x08003278                RTC_IRQHandler
1731
-                0x08003278                DMA1_Channel7_IRQHandler
1732
-                0x08003278                TIM4_IRQHandler
1733
-                0x08003278                DMA1_Channel6_IRQHandler
1734
-                0x08003278                TIM3_IRQHandler
1735
-                0x08003278                RCC_IRQHandler
1736
-                0x08003278                DMA1_Channel1_IRQHandler
1737
-                0x08003278                Default_Handler
1738
-                0x08003278                CEC_IRQHandler
1739
-                0x08003278                EXTI15_10_IRQHandler
1740
-                0x08003278                EXTI9_5_IRQHandler
1741
-                0x08003278                DMA1_Channel5_IRQHandler
1742
-                0x08003278                EXTI4_IRQHandler
1743
-                0x08003278                TIM1_TRG_COM_TIM17_IRQHandler
1744
-                0x08003278                DMA1_Channel3_IRQHandler
1745
-                0x08003278                WWDG_IRQHandler
1746
-                0x08003278                TIM2_IRQHandler
1747
-                0x08003278                EXTI1_IRQHandler
1748
-                0x08003278                DMA1_Channel2_IRQHandler
1749
-                0x08003278                FLASH_IRQHandler
1750
-                0x08003278                I2C1_ER_IRQHandler
1751
-                0x08003278                TIM1_BRK_TIM15_IRQHandler
1752
- *fill*         0x0800327a        0x2 
1718
+                0x0800329c        0x2 startup\startup_stm32f100xb.o
1719
+                0x0800329c                RTC_Alarm_IRQHandler
1720
+                0x0800329c                EXTI2_IRQHandler
1721
+                0x0800329c                TIM1_CC_IRQHandler
1722
+                0x0800329c                PVD_IRQHandler
1723
+                0x0800329c                EXTI3_IRQHandler
1724
+                0x0800329c                EXTI0_IRQHandler
1725
+                0x0800329c                TIM1_UP_TIM16_IRQHandler
1726
+                0x0800329c                SPI1_IRQHandler
1727
+                0x0800329c                TAMPER_IRQHandler
1728
+                0x0800329c                TIM6_DAC_IRQHandler
1729
+                0x0800329c                DMA1_Channel4_IRQHandler
1730
+                0x0800329c                ADC1_IRQHandler
1731
+                0x0800329c                USART3_IRQHandler
1732
+                0x0800329c                RTC_IRQHandler
1733
+                0x0800329c                DMA1_Channel7_IRQHandler
1734
+                0x0800329c                TIM4_IRQHandler
1735
+                0x0800329c                DMA1_Channel6_IRQHandler
1736
+                0x0800329c                TIM3_IRQHandler
1737
+                0x0800329c                RCC_IRQHandler
1738
+                0x0800329c                DMA1_Channel1_IRQHandler
1739
+                0x0800329c                Default_Handler
1740
+                0x0800329c                CEC_IRQHandler
1741
+                0x0800329c                EXTI15_10_IRQHandler
1742
+                0x0800329c                EXTI9_5_IRQHandler
1743
+                0x0800329c                DMA1_Channel5_IRQHandler
1744
+                0x0800329c                EXTI4_IRQHandler
1745
+                0x0800329c                TIM1_TRG_COM_TIM17_IRQHandler
1746
+                0x0800329c                DMA1_Channel3_IRQHandler
1747
+                0x0800329c                WWDG_IRQHandler
1748
+                0x0800329c                TIM2_IRQHandler
1749
+                0x0800329c                EXTI1_IRQHandler
1750
+                0x0800329c                DMA1_Channel2_IRQHandler
1751
+                0x0800329c                FLASH_IRQHandler
1752
+                0x0800329c                I2C1_ER_IRQHandler
1753
+                0x0800329c                TIM1_BRK_TIM15_IRQHandler
1754
+ *fill*         0x0800329e        0x2 
1753 1755
  .text.__libc_init_array
1754
-                0x0800327c       0x48 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-init.o)
1755
-                0x0800327c                __libc_init_array
1756
- .text.memset   0x080032c4       0x10 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-memset.o)
1757
-                0x080032c4                memset
1758
- .text.printf   0x080032d4       0x30 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-printf.o)
1759
-                0x080032d4                iprintf
1760
-                0x080032d4                printf
1761
- .text._puts_r  0x08003304       0xb8 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-puts.o)
1762
-                0x08003304                _puts_r
1763
- .text.puts     0x080033bc       0x10 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-puts.o)
1764
-                0x080033bc                puts
1765
- .text.setbuf   0x080033cc       0x10 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-setbuf.o)
1766
-                0x080033cc                setbuf
1767
- .text.setvbuf  0x080033dc      0x15c c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-setvbuf.o)
1768
-                0x080033dc                setvbuf
1756
+                0x080032a0       0x48 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-init.o)
1757
+                0x080032a0                __libc_init_array
1758
+ .text.memset   0x080032e8       0x10 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-memset.o)
1759
+                0x080032e8                memset
1760
+ .text.printf   0x080032f8       0x30 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-printf.o)
1761
+                0x080032f8                iprintf
1762
+                0x080032f8                printf
1763
+ .text._puts_r  0x08003328       0xb8 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-puts.o)
1764
+                0x08003328                _puts_r
1765
+ .text.puts     0x080033e0       0x10 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-puts.o)
1766
+                0x080033e0                puts
1767
+ .text.setbuf   0x080033f0       0x10 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-setbuf.o)
1768
+                0x080033f0                setbuf
1769
+ .text.setvbuf  0x08003400      0x15c c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-setvbuf.o)
1770
+                0x08003400                setvbuf
1769 1771
  .text.__swbuf_r
1770
-                0x08003538       0xa4 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-wbuf.o)
1771
-                0x08003538                __swbuf_r
1772
+                0x0800355c       0xa4 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-wbuf.o)
1773
+                0x0800355c                __swbuf_r
1772 1774
  .text.__swsetup_r
1773
-                0x080035dc       0xdc c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-wsetup.o)
1774
-                0x080035dc                __swsetup_r
1775
+                0x08003600       0xdc c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-wsetup.o)
1776
+                0x08003600                __swsetup_r
1775 1777
  .text.__sflush_r
1776
-                0x080036b8      0x110 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-fflush.o)
1777
-                0x080036b8                __sflush_r
1778
+                0x080036dc      0x110 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-fflush.o)
1779
+                0x080036dc                __sflush_r
1778 1780
  .text._fflush_r
1779
-                0x080037c8       0x54 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-fflush.o)
1780
-                0x080037c8                _fflush_r
1781
+                0x080037ec       0x54 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-fflush.o)
1782
+                0x080037ec                _fflush_r
1781 1783
  .text._cleanup_r
1782
-                0x0800381c        0xc c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-findfp.o)
1783
-                0x0800381c                _cleanup_r
1784
+                0x08003840        0xc c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-findfp.o)
1785
+                0x08003840                _cleanup_r
1784 1786
  .text.std.isra.0
1785
-                0x08003828       0x48 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-findfp.o)
1787
+                0x0800384c       0x48 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-findfp.o)
1786 1788
  .text.__sfmoreglue
1787
-                0x08003870       0x2c c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-findfp.o)
1788
-                0x08003870                __sfmoreglue
1789
- .text.__sinit  0x0800389c       0x60 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-findfp.o)
1790
-                0x0800389c                __sinit
1791
- .text.__sfp    0x080038fc       0x78 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-findfp.o)
1792
-                0x080038fc                __sfp
1789
+                0x08003894       0x2c c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-findfp.o)
1790
+                0x08003894                __sfmoreglue
1791
+ .text.__sinit  0x080038c0       0x60 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-findfp.o)
1792
+                0x080038c0                __sinit
1793
+ .text.__sfp    0x08003920       0x78 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-findfp.o)
1794
+                0x08003920                __sfp
1793 1795
  .text._fwalk_reent
1794
-                0x08003974       0x3c c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-fwalk.o)
1795
-                0x08003974                _fwalk_reent
1796
+                0x08003998       0x3c c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-fwalk.o)
1797
+                0x08003998                _fwalk_reent
1796 1798
  .text.__swhatbuf_r
1797
-                0x080039b0       0x48 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-makebuf.o)
1798
-                0x080039b0                __swhatbuf_r
1799
+                0x080039d4       0x48 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-makebuf.o)
1800
+                0x080039d4                __swhatbuf_r
1799 1801
  .text.__smakebuf_r
1800
-                0x080039f8       0x80 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-makebuf.o)
1801
-                0x080039f8                __smakebuf_r
1802
- .text.malloc   0x08003a78       0x10 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-malloc.o)
1803
-                0x08003a78                malloc
1804
- .text._free_r  0x08003a88       0x98 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-nano-freer.o)
1805
-                0x08003a88                _free_r
1802
+                0x08003a1c       0x80 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-makebuf.o)
1803
+                0x08003a1c                __smakebuf_r
1804
+ .text.malloc   0x08003a9c       0x10 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-malloc.o)
1805
+                0x08003a9c                malloc
1806
+ .text._free_r  0x08003aac       0x98 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-nano-freer.o)
1807
+                0x08003aac                _free_r
1806 1808
  .text._malloc_r
1807
-                0x08003b20       0xbc c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-nano-mallocr.o)
1808
-                0x08003b20                _malloc_r
1809
+                0x08003b44       0xbc c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-nano-mallocr.o)
1810
+                0x08003b44                _malloc_r
1809 1811
  .text.__sfputc_r
1810
-                0x08003bdc       0x2c c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-nano-vfprintf.o)
1812
+                0x08003c00       0x2c c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-nano-vfprintf.o)
1811 1813
  .text.__sfputs_r
1812
-                0x08003c08       0x24 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-nano-vfprintf.o)
1813
-                0x08003c08                __sfputs_r
1814
+                0x08003c2c       0x24 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-nano-vfprintf.o)
1815
+                0x08003c2c                __sfputs_r
1814 1816
  .text._vfprintf_r
1815
-                0x08003c2c      0x22c c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-nano-vfprintf.o)
1816
-                0x08003c2c                _vfprintf_r
1817
-                0x08003c2c                _vfiprintf_r
1817
+                0x08003c50      0x22c c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-nano-vfprintf.o)
1818
+                0x08003c50                _vfprintf_r
1819
+                0x08003c50                _vfiprintf_r
1818 1820
  .text._printf_common
1819
-                0x08003e58       0xee c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-nano-vfprintf_i.o)
1820
-                0x08003e58                _printf_common
1821
- *fill*         0x08003f46        0x2 
1821
+                0x08003e7c       0xee c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-nano-vfprintf_i.o)
1822
+                0x08003e7c                _printf_common
1823
+ *fill*         0x08003f6a        0x2 
1822 1824
  .text._printf_i
1823
-                0x08003f48      0x240 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-nano-vfprintf_i.o)
1824
-                0x08003f48                _printf_i
1825
- .text._sbrk_r  0x08004188       0x20 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-sbrkr.o)
1826
-                0x08004188                _sbrk_r
1827
- .text.__sread  0x080041a8       0x22 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-stdio.o)
1828
-                0x080041a8                __sread
1825
+                0x08003f6c      0x240 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-nano-vfprintf_i.o)
1826
+                0x08003f6c                _printf_i
1827
+ .text._sbrk_r  0x080041ac       0x20 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-sbrkr.o)
1828
+                0x080041ac                _sbrk_r
1829
+ .text.__sread  0x080041cc       0x22 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-stdio.o)
1830
+                0x080041cc                __sread
1829 1831
  .text.__swrite
1830
-                0x080041ca       0x38 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-stdio.o)
1831
-                0x080041ca                __swrite
1832
- .text.__sseek  0x08004202       0x24 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-stdio.o)
1833
-                0x08004202                __sseek
1832
+                0x080041ee       0x38 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-stdio.o)
1833
+                0x080041ee                __swrite
1834
+ .text.__sseek  0x08004226       0x24 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-stdio.o)
1835
+                0x08004226                __sseek
1834 1836
  .text.__sclose
1835
-                0x08004226        0x8 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-stdio.o)
1836
-                0x08004226                __sclose
1837
- *fill*         0x0800422e        0x2 
1837
+                0x0800424a        0x8 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-stdio.o)
1838
+                0x0800424a                __sclose
1839
+ *fill*         0x08004252        0x2 
1838 1840
  .text._write_r
1839
-                0x08004230       0x24 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-writer.o)
1840
-                0x08004230                _write_r
1841
+                0x08004254       0x24 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-writer.o)
1842
+                0x08004254                _write_r
1841 1843
  .text._close_r
1842
-                0x08004254       0x20 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-closer.o)
1843
-                0x08004254                _close_r
1844
+                0x08004278       0x20 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-closer.o)
1845
+                0x08004278                _close_r
1844 1846
  .text._fstat_r
1845
-                0x08004274       0x24 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-fstatr.o)
1846
-                0x08004274                _fstat_r
1847
+                0x08004298       0x24 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-fstatr.o)
1848
+                0x08004298                _fstat_r
1847 1849
  .text._isatty_r
1848
-                0x08004298       0x20 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-isattyr.o)
1849
-                0x08004298                _isatty_r
1850
+                0x080042bc       0x20 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-isattyr.o)
1851
+                0x080042bc                _isatty_r
1850 1852
  .text._lseek_r
1851
-                0x080042b8       0x24 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-lseekr.o)
1852
-                0x080042b8                _lseek_r
1853
- .text.memchr   0x080042dc       0x1c c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-memchr-stub.o)
1854
-                0x080042dc                memchr
1853
+                0x080042dc       0x24 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-lseekr.o)
1854
+                0x080042dc                _lseek_r
1855
+ .text.memchr   0x08004300       0x1c c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-memchr-stub.o)
1856
+                0x08004300                memchr
1855 1857
  .text.__malloc_lock
1856
-                0x080042f8        0x2 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-mlock.o)
1857
-                0x080042f8                __malloc_lock
1858
+                0x0800431c        0x2 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-mlock.o)
1859
+                0x0800431c                __malloc_lock
1858 1860
  .text.__malloc_unlock
1859
-                0x080042fa        0x2 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-mlock.o)
1860
-                0x080042fa                __malloc_unlock
1861
- .text._read_r  0x080042fc       0x24 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-readr.o)
1862
-                0x080042fc                _read_r
1863
- .text._close   0x08004320       0x10 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libnosys.a(close.o)
1864
-                0x08004320                _close
1865
- .text._fstat   0x08004330       0x10 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libnosys.a(fstat.o)
1866
-                0x08004330                _fstat
1867
- .text._isatty  0x08004340       0x10 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libnosys.a(isatty.o)
1868
-                0x08004340                _isatty
1869
- .text._lseek   0x08004350       0x10 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libnosys.a(lseek.o)
1870
-                0x08004350                _lseek
1871
- .text._read    0x08004360       0x10 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libnosys.a(read.o)
1872
-                0x08004360                _read
1873
- .text._sbrk    0x08004370       0x1c c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libnosys.a(sbrk.o)
1874
-                0x08004370                _sbrk
1861
+                0x0800431e        0x2 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-mlock.o)
1862
+                0x0800431e                __malloc_unlock
1863
+ .text._read_r  0x08004320       0x24 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-readr.o)
1864
+                0x08004320                _read_r
1865
+ .text._close   0x08004344       0x10 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libnosys.a(close.o)
1866
+                0x08004344                _close
1867
+ .text._fstat   0x08004354       0x10 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libnosys.a(fstat.o)
1868
+                0x08004354                _fstat
1869
+ .text._isatty  0x08004364       0x10 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libnosys.a(isatty.o)
1870
+                0x08004364                _isatty
1871
+ .text._lseek   0x08004374       0x10 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libnosys.a(lseek.o)
1872
+                0x08004374                _lseek
1873
+ .text._read    0x08004384       0x10 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libnosys.a(read.o)
1874
+                0x08004384                _read
1875
+ .text._sbrk    0x08004394       0x1c c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libnosys.a(sbrk.o)
1876
+                0x08004394                _sbrk
1875 1877
  *(.glue_7)
1876
- .glue_7        0x0800438c        0x0 linker stubs
1878
+ .glue_7        0x080043b0        0x0 linker stubs
1877 1879
  *(.glue_7t)
1878
- .glue_7t       0x0800438c        0x0 linker stubs
1880
+ .glue_7t       0x080043b0        0x0 linker stubs
1879 1881
  *(.eh_frame)
1880
- .eh_frame      0x0800438c        0x0 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crtbegin.o
1882
+ .eh_frame      0x080043b0        0x0 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crtbegin.o
1881 1883
  *(.init)
1882
- .init          0x0800438c        0x4 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crti.o
1883
-                0x0800438c                _init
1884
- .init          0x08004390        0x8 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crtn.o
1884
+ .init          0x080043b0        0x4 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crti.o
1885
+                0x080043b0                _init
1886
+ .init          0x080043b4        0x8 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crtn.o
1885 1887
  *(.fini)
1886
- .fini          0x08004398        0x4 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crti.o
1887
-                0x08004398                _fini
1888
- .fini          0x0800439c        0x8 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crtn.o
1889
-                0x080043a4                . = ALIGN (0x4)
1890
-                0x080043a4                _etext = .
1888
+ .fini          0x080043bc        0x4 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crti.o
1889
+                0x080043bc                _fini
1890
+ .fini          0x080043c0        0x8 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crtn.o
1891
+                0x080043c8                . = ALIGN (0x4)
1892
+                0x080043c8                _etext = .
1891 1893
 
1892
-.vfp11_veneer   0x080043a4        0x0
1893
- .vfp11_veneer  0x080043a4        0x0 linker stubs
1894
+.vfp11_veneer   0x080043c8        0x0
1895
+ .vfp11_veneer  0x080043c8        0x0 linker stubs
1894 1896
 
1895
-.v4_bx          0x080043a4        0x0
1896
- .v4_bx         0x080043a4        0x0 linker stubs
1897
+.v4_bx          0x080043c8        0x0
1898
+ .v4_bx         0x080043c8        0x0 linker stubs
1897 1899
 
1898
-.iplt           0x080043a4        0x0
1899
- .iplt          0x080043a4        0x0 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crtbegin.o
1900
+.iplt           0x080043c8        0x0
1901
+ .iplt          0x080043c8        0x0 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crtbegin.o
1900 1902
 
1901
-.rodata         0x080043a4      0x214
1902
-                0x080043a4                . = ALIGN (0x4)
1903
+.rodata         0x080043c8      0x214
1904
+                0x080043c8                . = ALIGN (0x4)
1903 1905
  *(.rodata)
1904
- .rodata        0x080043a4       0x20 Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.o
1906
+ .rodata        0x080043c8       0x20 Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.o
1905 1907
  *(.rodata*)
1906 1908
  .rodata.RGB_Sensor_Func.str1.1
1907
-                0x080043c4       0x7f Src\RGB_Sensor.o
1909
+                0x080043e8       0x7f Src\RGB_Sensor.o
1908 1910
                                  0x81 (size before relaxing)
1909 1911
  .rodata.Uart_dataCheck.str1.1
1910
-                0x08004443       0x34 Src\main.o
1912
+                0x08004467       0x34 Src\main.o
1911 1913
                                  0x3c (size before relaxing)
1912 1914
  .rodata.main.str1.1
1913
-                0x08004477       0x90 Src\main.o
1915
+                0x0800449b       0x90 Src\main.o
1914 1916
  .rodata.AHBPrescTable
1915
-                0x08004507       0x10 Src\system_stm32f1xx.o
1916
-                0x08004507                AHBPrescTable
1917
+                0x0800452b       0x10 Src\system_stm32f1xx.o
1918
+                0x0800452b                AHBPrescTable
1917 1919
  .rodata.APBPrescTable
1918
-                0x08004517        0x8 Src\system_stm32f1xx.o
1919
-                0x08004517                APBPrescTable
1920
- *fill*         0x0800451f        0x1 
1920
+                0x0800453b        0x8 Src\system_stm32f1xx.o
1921
+                0x0800453b                APBPrescTable
1922
+ *fill*         0x08004543        0x1 
1921 1923
  .rodata._global_impure_ptr
1922
-                0x08004520        0x4 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-impure.o)
1923
-                0x08004520                _global_impure_ptr
1924
+                0x08004544        0x4 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-impure.o)
1925
+                0x08004544                _global_impure_ptr
1924 1926
  .rodata.__sf_fake_stderr
1925
-                0x08004524       0x20 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-findfp.o)
1926
-                0x08004524                __sf_fake_stderr
1927
+                0x08004548       0x20 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-findfp.o)
1928
+                0x08004548                __sf_fake_stderr
1927 1929
  .rodata.__sf_fake_stdin
1928
-                0x08004544       0x20 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-findfp.o)
1929
-                0x08004544                __sf_fake_stdin
1930
+                0x08004568       0x20 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-findfp.o)
1931
+                0x08004568                __sf_fake_stdin
1930 1932
  .rodata.__sf_fake_stdout
1931
-                0x08004564       0x20 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-findfp.o)
1932
-                0x08004564                __sf_fake_stdout
1933
+                0x08004588       0x20 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-findfp.o)
1934
+                0x08004588                __sf_fake_stdout
1933 1935
  .rodata._vfprintf_r.str1.1
1934
-                0x08004584       0x11 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-nano-vfprintf.o)
1936
+                0x080045a8       0x11 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-nano-vfprintf.o)
1935 1937
  .rodata._printf_i.str1.1
1936
-                0x08004595       0x22 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-nano-vfprintf_i.o)
1937
-                0x080045b8                . = ALIGN (0x4)
1938
- *fill*         0x080045b7        0x1 
1938
+                0x080045b9       0x22 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/lib/armv7-m\libc_nano.a(lib_a-nano-vfprintf_i.o)
1939
+                0x080045dc                . = ALIGN (0x4)
1940
+ *fill*         0x080045db        0x1 
1939 1941
 
1940
-.rel.dyn        0x080045b8        0x0
1941
- .rel.iplt      0x080045b8        0x0 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crtbegin.o
1942
+.rel.dyn        0x080045dc        0x0
1943
+ .rel.iplt      0x080045dc        0x0 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crtbegin.o
1942 1944
 
1943 1945
 .ARM.extab
1944 1946
  *(.ARM.extab* .gnu.linkonce.armextab.*)
1945 1947
 
1946
-.ARM            0x080045b8        0x0
1947
-                0x080045b8                __exidx_start = .
1948
+.ARM            0x080045dc        0x0
1949
+                0x080045dc                __exidx_start = .
1948 1950
  *(.ARM.exidx*)
1949
-                0x080045b8                __exidx_end = .
1951
+                0x080045dc                __exidx_end = .
1950 1952
 
1951
-.preinit_array  0x080045b8        0x0
1952
-                0x080045b8                PROVIDE (__preinit_array_start, .)
1953
+.preinit_array  0x080045dc        0x0
1954
+                0x080045dc                PROVIDE (__preinit_array_start, .)
1953 1955
  *(.preinit_array*)
1954
-                0x080045b8                PROVIDE (__preinit_array_end, .)
1956
+                0x080045dc                PROVIDE (__preinit_array_end, .)
1955 1957
 
1956
-.init_array     0x080045b8        0x4
1957
-                0x080045b8                PROVIDE (__init_array_start, .)
1958
+.init_array     0x080045dc        0x4
1959
+                0x080045dc                PROVIDE (__init_array_start, .)
1958 1960
  *(SORT(.init_array.*))
1959 1961
  *(.init_array*)
1960
- .init_array    0x080045b8        0x4 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crtbegin.o
1961
-                0x080045bc                PROVIDE (__init_array_end, .)
1962
+ .init_array    0x080045dc        0x4 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crtbegin.o
1963
+                0x080045e0                PROVIDE (__init_array_end, .)
1962 1964
 
1963
-.fini_array     0x080045bc        0x4
1965
+.fini_array     0x080045e0        0x4
1964 1966
                 [!provide]                PROVIDE (__fini_array_start, .)
1965 1967
  *(SORT(.fini_array.*))
1966 1968
  *(.fini_array*)
1967
- .fini_array    0x080045bc        0x4 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crtbegin.o
1969
+ .fini_array    0x080045e0        0x4 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crtbegin.o
1968 1970
                 [!provide]                PROVIDE (__fini_array_end, .)
1969
-                0x080045c0                _sidata = LOADADDR (.data)
1971
+                0x080045e4                _sidata = LOADADDR (.data)
1970 1972
 
1971
-.data           0x20000000       0x70 load address 0x080045c0
1973
+.data           0x20000000       0x70 load address 0x080045e4
1972 1974
                 0x20000000                . = ALIGN (0x4)
1973 1975
                 0x20000000                _sdata = .
1974 1976
  *(.data)
@@ -1991,11 +1993,11 @@ LOAD c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../l
1991 1993
                 0x20000070                . = ALIGN (0x4)
1992 1994
                 0x20000070                _edata = .
1993 1995
 
1994
-.igot.plt       0x20000070        0x0 load address 0x08004630
1996
+.igot.plt       0x20000070        0x0 load address 0x08004654
1995 1997
  .igot.plt      0x20000070        0x0 c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crtbegin.o
1996 1998
                 0x20000070                . = ALIGN (0x4)
1997 1999
 
1998
-.bss            0x20000070      0x260 load address 0x08004630
2000
+.bss            0x20000070      0x260 load address 0x08004654
1999 2001
                 0x20000070                _sbss = .
2000 2002
                 0x20000070                __bss_start__ = _sbss
2001 2003
  *(.bss)
@@ -2042,10 +2044,12 @@ LOAD c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../l
2042 2044
  *(COMMON)
2043 2045
  COMMON         0x20000144        0x4 Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.o
2044 2046
                 0x20000144                uwTick
2045
- COMMON         0x20000148        0x2 Src\TCS34725.o
2046
-                0x20000148                _tcs34725IntegrationTime
2047
-                0x20000149                _tcs34725Gain
2048
- *fill*         0x2000014a        0x2 
2047
+ COMMON         0x20000148        0x1 Src\RGB_Sensor.o
2048
+                0x20000148                My_RGB_ID_Reset_RequestCnt
2049
+ COMMON         0x20000149        0x2 Src\TCS34725.o
2050
+                0x20000149                _tcs34725IntegrationTime
2051
+                0x2000014a                _tcs34725Gain
2052
+ *fill*         0x2000014b        0x1 
2049 2053
  COMMON         0x2000014c      0x180 Src\main.o
2050 2054
                 0x2000014c                UartDataisReved
2051 2055
                 0x20000150                hi2c1
@@ -2063,7 +2067,7 @@ LOAD c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../l
2063 2067
                 0x200002d0                __bss_end__ = _ebss
2064 2068
 
2065 2069
 ._user_heap_stack
2066
-                0x200002d0      0x600 load address 0x08004630
2070
+                0x200002d0      0x600 load address 0x08004654
2067 2071
                 0x200002d0                . = ALIGN (0x4)
2068 2072
                 0x200002d0                PROVIDE (end, .)
2069 2073
                 [!provide]                PROVIDE (_end, .)
@@ -2197,7 +2201,7 @@ LOAD c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../l
2197 2201
                 0x00000a28       0x1d c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/armv7-m/crtn.o
2198 2202
 OUTPUT(STM32F100_RGB_Sensor.elf elf32-littlearm)
2199 2203
 
2200
-.debug_info     0x00000000    0x1bdab
2204
+.debug_info     0x00000000    0x1bdb6
2201 2205
  .debug_info    0x00000000      0xf4e Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.o
2202 2206
  .debug_info    0x00000f4e     0x16a1 Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc.o
2203 2207
  .debug_info    0x000025ef     0x149d Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.o
@@ -2209,16 +2213,16 @@ OUTPUT(STM32F100_RGB_Sensor.elf elf32-littlearm)
2209 2213
  .debug_info    0x0000b09a     0x3bb9 Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim.o
2210 2214
  .debug_info    0x0000ec53     0x1989 Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim_ex.o
2211 2215
  .debug_info    0x000105dc     0x1ea0 Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.o
2212
- .debug_info    0x0001247c     0x11cb Src\RGB_Sensor.o
2213
- .debug_info    0x00013647     0x17b2 Src\TCS34725.o
2214
- .debug_info    0x00014df9     0x28b7 Src\main.o
2215
- .debug_info    0x000176b0      0xa0e Src\sth30_crc.o
2216
- .debug_info    0x000180be     0x1c18 Src\stm32f1xx_hal_msp.o
2217
- .debug_info    0x00019cd6     0x1409 Src\stm32f1xx_it.o
2218
- .debug_info    0x0001b0df      0xc5e Src\system_stm32f1xx.o
2219
- .debug_info    0x0001bd3d       0x6e startup\startup_stm32f100xb.o
2216
+ .debug_info    0x0001247c     0x11d6 Src\RGB_Sensor.o
2217
+ .debug_info    0x00013652     0x17b2 Src\TCS34725.o
2218
+ .debug_info    0x00014e04     0x28b7 Src\main.o
2219
+ .debug_info    0x000176bb      0xa0e Src\sth30_crc.o
2220
+ .debug_info    0x000180c9     0x1c18 Src\stm32f1xx_hal_msp.o
2221
+ .debug_info    0x00019ce1     0x1409 Src\stm32f1xx_it.o
2222
+ .debug_info    0x0001b0ea      0xc5e Src\system_stm32f1xx.o
2223
+ .debug_info    0x0001bd48       0x6e startup\startup_stm32f100xb.o
2220 2224
 
2221
-.debug_abbrev   0x00000000     0x3570
2225
+.debug_abbrev   0x00000000     0x3581
2222 2226
  .debug_abbrev  0x00000000      0x315 Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.o
2223 2227
  .debug_abbrev  0x00000315      0x2fb Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc.o
2224 2228
  .debug_abbrev  0x00000610      0x399 Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.o
@@ -2230,14 +2234,14 @@ OUTPUT(STM32F100_RGB_Sensor.elf elf32-littlearm)
2230 2234
  .debug_abbrev  0x0000183f      0x3bb Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim.o
2231 2235
  .debug_abbrev  0x00001bfa      0x30d Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim_ex.o
2232 2236
  .debug_abbrev  0x00001f07      0x364 Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.o
2233
- .debug_abbrev  0x0000226b      0x251 Src\RGB_Sensor.o
2234
- .debug_abbrev  0x000024bc      0x380 Src\TCS34725.o
2235
- .debug_abbrev  0x0000283c      0x461 Src\main.o
2236
- .debug_abbrev  0x00002c9d      0x201 Src\sth30_crc.o
2237
- .debug_abbrev  0x00002e9e      0x2af Src\stm32f1xx_hal_msp.o
2238
- .debug_abbrev  0x0000314d      0x22f Src\stm32f1xx_it.o
2239
- .debug_abbrev  0x0000337c      0x1e2 Src\system_stm32f1xx.o
2240
- .debug_abbrev  0x0000355e       0x12 startup\startup_stm32f100xb.o
2237
+ .debug_abbrev  0x0000226b      0x262 Src\RGB_Sensor.o
2238
+ .debug_abbrev  0x000024cd      0x380 Src\TCS34725.o
2239
+ .debug_abbrev  0x0000284d      0x461 Src\main.o
2240
+ .debug_abbrev  0x00002cae      0x201 Src\sth30_crc.o
2241
+ .debug_abbrev  0x00002eaf      0x2af Src\stm32f1xx_hal_msp.o
2242
+ .debug_abbrev  0x0000315e      0x22f Src\stm32f1xx_it.o
2243
+ .debug_abbrev  0x0000338d      0x1e2 Src\system_stm32f1xx.o
2244
+ .debug_abbrev  0x0000356f       0x12 startup\startup_stm32f100xb.o
2241 2245
 
2242 2246
 .debug_loc      0x00000000     0xadd8
2243 2247
  .debug_loc     0x00000000      0x11b Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.o
@@ -2319,7 +2323,7 @@ OUTPUT(STM32F100_RGB_Sensor.elf elf32-littlearm)
2319 2323
  .debug_ranges  0x000012a0       0x18 Src\system_stm32f1xx.o
2320 2324
  .debug_ranges  0x000012b8       0x20 startup\startup_stm32f100xb.o
2321 2325
 
2322
-.debug_line     0x00000000     0x848d
2326
+.debug_line     0x00000000     0x8499
2323 2327
  .debug_line    0x00000000      0x456 Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.o
2324 2328
  .debug_line    0x00000456      0x7fb Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc.o
2325 2329
  .debug_line    0x00000c51      0x469 Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.o
@@ -2331,16 +2335,16 @@ OUTPUT(STM32F100_RGB_Sensor.elf elf32-littlearm)
2331 2335
  .debug_line    0x00003fef     0x1296 Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim.o
2332 2336
  .debug_line    0x00005285      0x701 Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim_ex.o
2333 2337
  .debug_line    0x00005986      0xc51 Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.o
2334
- .debug_line    0x000065d7      0x407 Src\RGB_Sensor.o
2335
- .debug_line    0x000069de      0x558 Src\TCS34725.o
2336
- .debug_line    0x00006f36      0x6de Src\main.o
2337
- .debug_line    0x00007614      0x241 Src\sth30_crc.o
2338
- .debug_line    0x00007855      0x4ef Src\stm32f1xx_hal_msp.o
2339
- .debug_line    0x00007d44      0x414 Src\stm32f1xx_it.o
2340
- .debug_line    0x00008158      0x2b8 Src\system_stm32f1xx.o
2341
- .debug_line    0x00008410       0x7d startup\startup_stm32f100xb.o
2338
+ .debug_line    0x000065d7      0x413 Src\RGB_Sensor.o
2339
+ .debug_line    0x000069ea      0x558 Src\TCS34725.o
2340
+ .debug_line    0x00006f42      0x6de Src\main.o
2341
+ .debug_line    0x00007620      0x241 Src\sth30_crc.o
2342
+ .debug_line    0x00007861      0x4ef Src\stm32f1xx_hal_msp.o
2343
+ .debug_line    0x00007d50      0x414 Src\stm32f1xx_it.o
2344
+ .debug_line    0x00008164      0x2b8 Src\system_stm32f1xx.o
2345
+ .debug_line    0x0000841c       0x7d startup\startup_stm32f100xb.o
2342 2346
 
2343
-.debug_str      0x00000000     0x4c09
2347
+.debug_str      0x00000000     0x4c24
2344 2348
  .debug_str     0x00000000      0xb79 Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.o
2345 2349
                                 0xc28 (size before relaxing)
2346 2350
  .debug_str     0x00000b79      0x659 Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc.o
@@ -2363,19 +2367,19 @@ OUTPUT(STM32F100_RGB_Sensor.elf elf32-littlearm)
2363 2367
                                0x10ca (size before relaxing)
2364 2368
  .debug_str     0x00003ae1      0x6b9 Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.o
2365 2369
                                0x1041 (size before relaxing)
2366
- .debug_str     0x0000419a      0x28e Src\RGB_Sensor.o
2367
-                                0xdbe (size before relaxing)
2368
- .debug_str     0x00004428      0x33f Src\TCS34725.o
2370
+ .debug_str     0x0000419a      0x2a9 Src\RGB_Sensor.o
2371
+                                0xdd9 (size before relaxing)
2372
+ .debug_str     0x00004443      0x33f Src\TCS34725.o
2369 2373
                                 0xffd (size before relaxing)
2370
- .debug_str     0x00004767      0x2e3 Src\main.o
2374
+ .debug_str     0x00004782      0x2e3 Src\main.o
2371 2375
                                0x1bd4 (size before relaxing)
2372
- .debug_str     0x00004a4a       0x52 Src\sth30_crc.o
2376
+ .debug_str     0x00004a65       0x52 Src\sth30_crc.o
2373 2377
                                 0x62f (size before relaxing)
2374
- .debug_str     0x00004a9c       0x25 Src\stm32f1xx_hal_msp.o
2378
+ .debug_str     0x00004ab7       0x25 Src\stm32f1xx_hal_msp.o
2375 2379
                                0x1406 (size before relaxing)
2376
- .debug_str     0x00004ac1       0xed Src\stm32f1xx_it.o
2380
+ .debug_str     0x00004adc       0xed Src\stm32f1xx_it.o
2377 2381
                                 0xfb1 (size before relaxing)
2378
- .debug_str     0x00004bae       0x5b Src\system_stm32f1xx.o
2382
+ .debug_str     0x00004bc9       0x5b Src\system_stm32f1xx.o
2379 2383
                                 0x770 (size before relaxing)
2380 2384
 
2381 2385
 .comment        0x00000000       0x7c

+ 2 - 2
Debug/Src/RGB_Sensor.su

@@ -1,2 +1,2 @@
1
-RGB_Sensor.c:11:10:RGB_Sensor_Func	24	static
2
-RGB_Sensor.c:72:6:RGB_Value_Func	0	static
1
+RGB_Sensor.c:12:10:RGB_Sensor_Func	24	static
2
+RGB_Sensor.c:79:6:RGB_Value_Func	0	static

+ 7 - 0
Src/RGB_Sensor.c

@@ -8,6 +8,7 @@
8 8
 #define     RGB_SensorIDAutoSetRequest_Length 7
9 9
 
10 10
 uint8_t My_RGB_ID = 0;
11
+uint8_t My_RGB_ID_Reset_RequestCnt;
11 12
 uint8_t* RGB_Sensor_Func(uint8_t* data){
12 13
 	RGB_CMD_T type = data[Bluecell_Type];
13 14
     
@@ -15,6 +16,7 @@ uint8_t* RGB_Sensor_Func(uint8_t* data){
15 16
         case RGB_Status_Data_Request:      
16 17
             if(My_RGB_ID != 0 && data[bluecell_srcid + 1] == My_RGB_ID){
17 18
                 HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,GPIO_PIN_SET);
19
+                My_RGB_ID_Reset_RequestCnt = 0;
18 20
                 printf("MY RGB Status Send");
19 21
                 for(uint8_t i = 0; i<15; i++)
20 22
                     printf("%02x ",RGB_Data[i]);
@@ -34,6 +36,11 @@ uint8_t* RGB_Sensor_Func(uint8_t* data){
34 36
                 Uart2_Data_Send(&data[bluecell_stx],data[bluecell_length] + 3);
35 37
                 HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,GPIO_PIN_RESET);
36 38
             }else{
39
+                My_RGB_ID_Reset_RequestCnt++;
40
+                if(My_RGB_ID_Reset_RequestCnt >= 17){
41
+                    My_RGB_ID = 0;
42
+                    My_RGB_ID_Reset_RequestCnt = 0;
43
+                }                
37 44
                 printf("NO MY ID IS %02x  \r\n",My_RGB_ID);
38 45
             }
39 46
             break;

+ 11 - 11
Src/TCS34725.c

@@ -114,17 +114,17 @@ void RGB_data_arrage(uint8_t* rgbval){
114 114
             RGB_Data[Bluecell_Type] = RGB_Status_Data_Response;//Type
115 115
             RGB_Data[Bluecell_Length] = 12;//Length
116 116
             RGB_Data[Bluecell_DATA] = My_RGB_ID;//Src ID            
117
-            RGB_Data[4] = ((Clear_Calc_data & 0xFF00) >> 8);
118
-            RGB_Data[5] = (Clear_Calc_data & 0x00FF);            
119
-            RGB_Data[6] = ((Red_Calc_data & 0xFF00) >> 8);
120
-            RGB_Data[7] = (Red_Calc_data & 0x00FF);            
121
-            RGB_Data[8] = ((Green_Calc_data & 0xFF00) >> 8);
122
-            RGB_Data[9] = (Green_Calc_data & 0x00FF);            
123
-            RGB_Data[10] = ((Blue_Calc_data & 0xFF00) >> 8);
124
-            RGB_Data[11] = (Blue_Calc_data & 0x00FF);    
125
-            RGB_Data[12] = 0;//dst id(Blue_Calc_data & 0x00FF);    
126
-            RGB_Data[13] = STH30_CreateCrc(&RGB_Data[Bluecell_Type],RGB_Data[Bluecell_Length]);//crc 
127
-            RGB_Data[14] = 0xeb;
117
+            RGB_Data[Bluecell_DATA + 1] = ((Clear_Calc_data & 0xFF00) >> 8);
118
+            RGB_Data[Bluecell_DATA + 2] = (Clear_Calc_data & 0x00FF);            
119
+            RGB_Data[Bluecell_DATA + 3] = ((Red_Calc_data & 0xFF00) >> 8);
120
+            RGB_Data[Bluecell_DATA + 4] = (Red_Calc_data & 0x00FF);            
121
+            RGB_Data[Bluecell_DATA + 5] = ((Green_Calc_data & 0xFF00) >> 8);
122
+            RGB_Data[Bluecell_DATA + 6] = (Green_Calc_data & 0x00FF);            
123
+            RGB_Data[Bluecell_DATA + 7] = ((Blue_Calc_data & 0xFF00) >> 8);
124
+            RGB_Data[Bluecell_DATA + 8] = (Blue_Calc_data & 0x00FF);    
125
+            RGB_Data[Bluecell_DATA + 9] = 0;//dst id(Blue_Calc_data & 0x00FF);    
126
+            RGB_Data[Bluecell_DATA + 10] = STH30_CreateCrc(&RGB_Data[Bluecell_Type],RGB_Data[Bluecell_Length]);//crc 
127
+            RGB_Data[Bluecell_DATA + 11] = 0xeb;
128 128
 #if 0 // PYJ.2019.03.16_BEGIN -- 
129 129
             for(uint8_t i = Bluecell_STX; i < 15; i++)
130 130
                 printf("RGB_Data[%d] : %02x\n",i,RGB_Data[i]);

+ 74 - 0
insight/STM32F100_RGB_Sensor.si4project/Backup/RGB_Sensor(3801).c

@@ -0,0 +1,74 @@
1
+#include "RGB_Sensor.h"
2
+
3
+
4
+
5
+#define     RGB_ControllerID_SET_Length 10 
6
+#define     RGB_SensorID_SET_Length     10 
7
+#define     RGB_SensorDataRequest_Length 7
8
+#define     RGB_SensorIDAutoSetRequest_Length 7
9
+
10
+uint8_t My_RGB_ID = 0;
11
+uint8_t* RGB_Sensor_Func(uint8_t* data){
12
+	RGB_CMD_T type = data[Bluecell_Type];
13
+    
14
+    switch(type){
15
+        case RGB_Status_Data_Request:      
16
+            if(My_RGB_ID != 0 && data[bluecell_srcid + 1] == My_RGB_ID){
17
+                HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,GPIO_PIN_SET);
18
+                printf("MY RGB Status Send");
19
+                for(uint8_t i = 0; i<15; i++)
20
+                    printf("%02x ",RGB_Data[i]);
21
+                printf("\r\n");
22
+                Uart2_Data_Send(&RGB_Data[0],15);
23
+                HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,GPIO_PIN_RESET);
24
+            }else if(My_RGB_ID == 0 && data[bluecell_srcid + 1] == My_RGB_ID){
25
+                printf("MY ID IS NOT SET : %02x  \r\n",My_RGB_ID);
26
+                HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,GPIO_PIN_SET);
27
+                data[bluecell_stx]        = 0xBE; //0
28
+                data[bluecell_type]       = RGB_SensorID_SET;//1
29
+                data[bluecell_length]     = 4;//2 // 4 byte
30
+                data[bluecell_srcid + 1]  = data[bluecell_srcid + 0];
31
+                data[bluecell_srcid + 0]  = My_RGB_ID;
32
+                data[bluecell_srcid + 2]  = STH30_CreateCrc(&data[bluecell_type],data[bluecell_length]);
33
+                data[bluecell_srcid + 3]  = 0xEB;
34
+                Uart2_Data_Send(&data[bluecell_stx],data[bluecell_length] + 3);
35
+                HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,GPIO_PIN_RESET);
36
+            }else{
37
+                printf("NO MY ID IS %02x  \r\n",My_RGB_ID);
38
+            }
39
+            break;
40
+        case RGB_ControllerID_SET:                             break;
41
+        case RGB_SensorID_SET:    
42
+            if(My_RGB_ID == 0 || My_RGB_ID == data[bluecell_srcid + 1]){
43
+                 HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,GPIO_PIN_SET);
44
+                data[bluecell_type] = RGB_SensorID_SET_Success;
45
+                data[bluecell_srcid] = My_RGB_ID = data[bluecell_srcid + 1];
46
+                data[5]   = STH30_CreateCrc(&data[bluecell_type],data[bluecell_length]);
47
+                printf("My ID SET Success %02x \r\n",My_RGB_ID);
48
+                Uart2_Data_Send(&data[bluecell_stx],RGB_SensorIDAutoSetRequest_Length);
49
+                HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,GPIO_PIN_RESET);
50
+            }else{
51
+                printf("My ID aleady exist %02x \r\n",My_RGB_ID);
52
+            }
53
+            break;
54
+         case RGB_Sensor_Check:
55
+             if(My_RGB_ID == data[bluecell_srcid + 1]){
56
+                HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,GPIO_PIN_SET);
57
+                data[bluecell_stx]        = 0xBE; //0
58
+                data[bluecell_type]       = type + 1;//1
59
+                data[bluecell_length]     = 4;//2 // 4 byte
60
+                data[bluecell_srcid + 1]  = data[bluecell_srcid + 0];
61
+                data[bluecell_srcid + 0]  = My_RGB_ID;
62
+                data[bluecell_srcid + 2]  = STH30_CreateCrc(&data[bluecell_type],data[bluecell_length]);
63
+                data[bluecell_srcid + 3]  = 0xEB;
64
+                Uart2_Data_Send(&data[bluecell_stx],data[bluecell_length] + 3);
65
+                HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,GPIO_PIN_RESET);
66
+            }
67
+            break;
68
+        default:break;
69
+    }
70
+    return data;
71
+}
72
+void RGB_Value_Func(void){
73
+    
74
+}

+ 549 - 0
insight/STM32F100_RGB_Sensor.si4project/Backup/TCS34725(2483).c

@@ -0,0 +1,549 @@
1
+#include "TCS34725.h"
2
+
3
+tcs34725IntegrationTime_t _tcs34725IntegrationTime;
4
+tcs34725Gain_t _tcs34725Gain;
5
+
6
+uint8_t TCS34725_I2C_Read(uint8_t addr, uint8_t reg)
7
+{
8
+    uint8_t TCS34725_I2C[3]={0,};
9
+    uint16_t value = 0;
10
+    uint8_t data = 0;
11
+    data=HAL_I2C_Mem_Read(&hi2c1, addr, reg, 1, TCS34725_I2C, 1, 10);
12
+//    i2c_status(data);
13
+    value = TCS34725_I2C[0];
14
+
15
+    return value;
16
+}
17
+
18
+
19
+void TCS34725_I2C_Write(uint8_t addr, uint8_t reg, uint8_t data)
20
+{
21
+    uint8_t tmp_afe;
22
+    tmp_afe = data;
23
+
24
+    HAL_I2C_Mem_Write(&hi2c1, addr, reg, 1, &tmp_afe, 1, 10);
25
+}
26
+
27
+  /**************************************************************************/
28
+  /*!
29
+	  Adjusts the gain on the TCS34725 (adjusts the sensitivity to light)
30
+  */
31
+  /**************************************************************************/
32
+uint8_t RGB_Data[100] = {0,};
33
+typedef struct{
34
+    uint8_t Clear_H;
35
+    uint8_t Clear_L;
36
+    uint8_t Red_H;
37
+    uint8_t Red_L;
38
+    uint8_t Green_H;
39
+    uint8_t Green_L;
40
+    uint8_t Blue_H;
41
+    uint8_t Blue_L;
42
+}RGB_Bit_st;
43
+
44
+void RGB_data_arrage(uint8_t* rgbval){
45
+    static uint8_t Cnt = 0;
46
+    static uint16_t Clear_Calc_data ;
47
+    static uint16_t Red_Calc_data   ;
48
+    static uint16_t Green_Calc_data ;
49
+    static uint16_t Blue_Calc_data  ;
50
+    RGB_Bit_st data;
51
+    memcpy(&data.Clear_L,&rgbval[0],8);
52
+    uint16_t Clear = (data.Clear_H << 8) | data.Clear_L;
53
+    uint16_t Red   = (data.Red_H   << 8) | data.Red_L;
54
+    uint16_t Green = (data.Green_H << 8) | data.Green_L;
55
+    uint16_t Blue  = (data.Blue_H  << 8) | data.Blue_L;
56
+
57
+#if 1 // PYJ.2019.03.15_BEGIN -- 
58
+    switch(Cnt){
59
+        case 0:
60
+            Clear_Calc_data = Clear;
61
+            Red_Calc_data   = Red;
62
+            Green_Calc_data = Green;
63
+            Blue_Calc_data  = Blue;
64
+            Cnt = 1;
65
+#if 0 // PYJ.2019.03.16_BEGIN -- 
66
+            printf("=============CNT : 0================\r\n");
67
+            printf("Clear_Calc_data : %04x \r\n",Clear_Calc_data);
68
+            printf("Red_Calc_data : %04x \r\n",Red_Calc_data);
69
+            printf("Green_Calc_data : %04x \r\n",Green_Calc_data);
70
+            printf("Blue_Calc_data : %04x \r\n",Blue_Calc_data);            
71
+#endif // PYJ.2019.03.16_END -- 
72
+            break;
73
+        case 1:
74
+            Clear_Calc_data += Clear;
75
+            Red_Calc_data   += Red;
76
+            Green_Calc_data += Green;
77
+            Blue_Calc_data  += Blue;            
78
+            Cnt = 2;
79
+#if 0 // PYJ.2019.03.16_BEGIN -- 
80
+            printf("=============CNT : 1================\r\n");
81
+            printf("Clear_Calc_data : %04x \r\n",Clear_Calc_data);
82
+            printf("Red_Calc_data : %04x \r\n",Red_Calc_data);
83
+            printf("Green_Calc_data : %04x \r\n",Green_Calc_data);
84
+            printf("Blue_Calc_data : %04x \r\n",Blue_Calc_data);               
85
+#endif // PYJ.2019.03.16_END -- 
86
+            break;
87
+        case 2:
88
+            Clear_Calc_data += Clear;
89
+            Red_Calc_data   += Red;
90
+            Green_Calc_data += Green;
91
+            Blue_Calc_data  += Blue; 
92
+            Cnt = 3;
93
+#if 0 // PYJ.2019.03.16_BEGIN -- 
94
+            printf("=============CNT : 2================\r\n");
95
+            printf("Clear_Calc_data : %04x \r\n",Clear_Calc_data);
96
+            printf("Red_Calc_data : %04x \r\n",Red_Calc_data);
97
+            printf("Green_Calc_data : %04x \r\n",Green_Calc_data);
98
+            printf("Blue_Calc_data : %04x \r\n",Blue_Calc_data);               
99
+#endif // PYJ.2019.03.16_END -- 
100
+            break;
101
+        case 3:
102
+            Clear_Calc_data = (Clear_Calc_data + Clear)/4;
103
+            Red_Calc_data   = (Red_Calc_data + Red)/4;
104
+            Green_Calc_data = (Green_Calc_data + Green)/4;
105
+            Blue_Calc_data  = (Blue_Calc_data + Blue)/4; 
106
+#if 0 // PYJ.2019.03.16_BEGIN -- 
107
+            printf("=============CNT : 3================\r\n");
108
+            printf("Clear_Calc_data : %04x \r\n",Clear_Calc_data);
109
+            printf("Red_Calc_data : %04x \r\n",Red_Calc_data);
110
+            printf("Green_Calc_data : %04x \r\n",Green_Calc_data);
111
+            printf("Blue_Calc_data : %04x \r\n",Blue_Calc_data);  
112
+#endif // PYJ.2019.03.16_END -- 
113
+            RGB_Data[Bluecell_STX] = 0xbe;
114
+            RGB_Data[Bluecell_Type] = RGB_Status_Data_Response;//Type
115
+            RGB_Data[Bluecell_Length] = 12;//Length
116
+            RGB_Data[Bluecell_DATA] = My_RGB_ID;//Src ID            
117
+            RGB_Data[4] = ((Clear_Calc_data & 0xFF00) >> 8);
118
+            RGB_Data[5] = (Clear_Calc_data & 0x00FF);            
119
+            RGB_Data[6] = ((Red_Calc_data & 0xFF00) >> 8);
120
+            RGB_Data[7] = (Red_Calc_data & 0x00FF);            
121
+            RGB_Data[8] = ((Green_Calc_data & 0xFF00) >> 8);
122
+            RGB_Data[9] = (Green_Calc_data & 0x00FF);            
123
+            RGB_Data[10] = ((Blue_Calc_data & 0xFF00) >> 8);
124
+            RGB_Data[11] = (Blue_Calc_data & 0x00FF);    
125
+            RGB_Data[12] = 0;//dst id(Blue_Calc_data & 0x00FF);    
126
+            RGB_Data[13] = STH30_CreateCrc(&RGB_Data[Bluecell_Type],RGB_Data[Bluecell_Length]);//crc 
127
+            RGB_Data[14] = 0xeb;
128
+#if 0 // PYJ.2019.03.16_BEGIN -- 
129
+            for(uint8_t i = Bluecell_STX; i < 15; i++)
130
+                printf("RGB_Data[%d] : %02x\n",i,RGB_Data[i]);
131
+#endif // PYJ.2019.03.16_END -- 
132
+//            Uart2_Data_Send(&RGB_Data[0],15);
133
+            Cnt = 0;
134
+//            memset(&RGB_Data[0],0x00,100);
135
+            break;            
136
+    }
137
+#else 
138
+#if 1 // PYJ.2019.03.16_BEGIN -- 
139
+#if 0 // PYJ.2019.03.16_BEGIN -- 
140
+    RGB_Data[0] = ((Clear_Calc_data & 0xFF00) >> 8);
141
+    RGB_Data[1] = (Clear_Calc_data & 0x00FF);            
142
+
143
+    RGB_Data[2] = ((Red_Calc_data & 0xFF00) >> 8);
144
+    RGB_Data[3] = (Red_Calc_data & 0x00FF);            
145
+
146
+    RGB_Data[4] = ((Green_Calc_data & 0xFF00) >> 8);
147
+    RGB_Data[5] = (Green_Calc_data & 0x00FF);            
148
+
149
+    RGB_Data[6] = ((Blue_Calc_data & 0xFF00) >> 8);
150
+    RGB_Data[7] = (Blue_Calc_data & 0x00FF);    
151
+#endif // PYJ.2019.03.16_END -- 
152
+#if 0 // PYJ.2019.03.16_BEGIN -- 
153
+    temp_data.Clear_L     
154
+    temp_data.Clear_H     
155
+    temp_data.Red_L       
156
+    temp_data.Red_H       
157
+    temp_data.Green_L     
158
+    temp_data.Green_H     
159
+    temp_data.Blue_L      
160
+    temp_data.Blue_H      
161
+#endif // PYJ.2019.03.16_END -- 
162
+
163
+    
164
+#endif // PYJ.2019.03.16_END -- 
165
+//    memset(&temp[0],0xFF,8);
166
+    Uart2_Data_Send(&temp[0],8);
167
+
168
+#endif // PYJ.2019.03.15_END -- 
169
+    
170
+
171
+}
172
+
173
+void TCS34725_getrawdata(void)
174
+{
175
+   
176
+    RGB_Bit_st data;
177
+
178
+
179
+    uint8_t DEV_DATA = TCS34725_I2C_Read(TCS34725_ADDRESS, TCS34725_COMMAND_BIT |  TCS34725_ID);
180
+    data.Clear_L     = TCS34725_I2C_Read(TCS34725_ADDRESS, TCS34725_COMMAND_BIT |  TCS34725_CDATAL);
181
+    data.Clear_H     = TCS34725_I2C_Read(TCS34725_ADDRESS, TCS34725_COMMAND_BIT |  TCS34725_CDATAH);
182
+    data.Red_L       = TCS34725_I2C_Read(TCS34725_ADDRESS, TCS34725_COMMAND_BIT |  TCS34725_RDATAL);
183
+    data.Red_H       = TCS34725_I2C_Read(TCS34725_ADDRESS, TCS34725_COMMAND_BIT |  TCS34725_RDATAH);
184
+    data.Green_L     = TCS34725_I2C_Read(TCS34725_ADDRESS, TCS34725_COMMAND_BIT |  TCS34725_GDATAL);
185
+    data.Green_H     = TCS34725_I2C_Read(TCS34725_ADDRESS, TCS34725_COMMAND_BIT |  TCS34725_GDATAH);
186
+    data.Blue_L      = TCS34725_I2C_Read(TCS34725_ADDRESS, TCS34725_COMMAND_BIT |  TCS34725_BDATAL);
187
+    data.Blue_H      = TCS34725_I2C_Read(TCS34725_ADDRESS, TCS34725_COMMAND_BIT |  TCS34725_BDATAH);
188
+    
189
+#if 0 // PYJ.2019.03.15_BEGIN -- 
190
+    printf("C_DATA_L : %02x C_DATA_H %02x \r\n",data.Clear_L, data.Clear_H);
191
+
192
+    printf("R_DATA_L : %02x R_DATA_H %02x \r\n",data.Red_L,data.Red_H);
193
+
194
+    printf("G_DATA_L : %02x G_DATA_H %02x \r\n",data.Green_L,data.Green_H);
195
+
196
+    printf("B_DATA_L : %02x B_DATA_H %02x \r\n",data.Blue_L,data.Blue_L);
197
+#endif // PYJ.2019.03.15_END -- 
198
+#if 0
199
+    double CLEAR = 0;
200
+    double RED   = 0;
201
+    double GREEN = 0;
202
+    double BLUE  = 0;
203
+
204
+    printf("************************************\r\n");
205
+    printf("1. DEV ID\t:\t%x\r\n",	DEV_DATA);
206
+    CLEAR = (C_DATA_H << 8) | C_DATA_L;
207
+    data_ret_C = (CLEAR / 65535)*255;
208
+    printf("CLEAR : %d\r\n",data_ret_C);
209
+    RED   = (R_DATA_H << 8) | R_DATA_L;
210
+    data_ret_R = (RED / 65535)*255;
211
+
212
+    printf("RED : %d\r\n",data_ret_R);
213
+    GREEN = (G_DATA_H << 8) | G_DATA_L;
214
+    data_ret_G = (GREEN / 65535)*255;
215
+
216
+    printf("GREEN : %d\r\n",data_ret_G);
217
+    BLUE  = (B_DATA_H << 8) | B_DATA_L;
218
+    data_ret_B = (BLUE / 65535)*255;
219
+
220
+    printf("BLUE : %d\r\n",data_ret_B);
221
+#else
222
+#if 0 // PYJ.2019.03.16_BEGIN -- 
223
+    uint16_t CLEAR = 0;
224
+    uint16_t RED   = 0;
225
+    uint16_t GREEN = 0;
226
+    uint16_t BLUE  = 0;
227
+#endif // PYJ.2019.03.16_END -- 
228
+
229
+#if 0 // PYJ.2019.03.15_BEGIN -- 
230
+
231
+    CLEAR = (C_DATA_H << 8) | C_DATA_L;
232
+//    data_ret_C = (CLEAR / 65535)*255;
233
+    
234
+    RED   = (R_DATA_H << 8) | R_DATA_L;
235
+//    data_ret_R = (RED / 65535)*255;
236
+
237
+    GREEN = (G_DATA_H << 8) | G_DATA_L;
238
+//    data_ret_G = (GREEN / 65535)*255;
239
+
240
+    BLUE  = (B_DATA_H << 8) | B_DATA_L;
241
+//    data_ret_B = (BLUE / 65535)*255;
242
+#else
243
+#if 0 // PYJ.2019.03.16_BEGIN -- 
244
+        CLEAR = (C_DATA_H << 8) | C_DATA_L;
245
+        RED   = (R_DATA_H << 8) | R_DATA_L;
246
+        GREEN = (G_DATA_H << 8) | G_DATA_L;
247
+        BLUE  = (B_DATA_H << 8) | B_DATA_L;
248
+#endif // PYJ.2019.03.16_END -- 
249
+
250
+    RGB_data_arrage(&data.Clear_L);
251
+
252
+#endif // PYJ.2019.03.15_END -- 
253
+#if 0
254
+    printf("02%04x%05d%04x%05d%04x%05d%04x%05d03\r\n",data_ret_C,data_ret_C,data_ret_R,data_ret_R,data_ret_G,data_ret_G,data_ret_B,data_ret_B);
255
+#else
256
+//    printf("%04x,%05d,%04x,%05d,%04x,%05d,%04x,%05d,\r\n",data_ret_C,data_ret_C,data_ret_R,data_ret_R,data_ret_G,data_ret_G,data_ret_B,data_ret_B);
257
+//    printf("%x %d %d %d %d %d %d %d %d\r\n",DEV_DATA,(uint16_t)CLEAR,data_ret_C,(uint16_t)RED,data_ret_R,(uint16_t)GREEN,data_ret_G,(uint16_t)BLUE,data_ret_B);
258
+//    printf("Dev ID : (%x)  %d %d %d %d \r\n",DEV_DATA,(uint16_t)CLEAR,(uint16_t)RED,(uint16_t)GREEN,(uint16_t)BLUE);
259
+    
260
+
261
+#endif
262
+#endif
263
+#if 0
264
+    uint16_t CLEAR = 0;
265
+    uint16_t RED   = 0;
266
+    uint16_t GREEN = 0;
267
+    uint16_t BLUE  = 0;
268
+
269
+    CLEAR = (C_DATA_H << 8) | C_DATA_L;
270
+    RED   = (R_DATA_H << 8) | R_DATA_L;
271
+    GREEN = (G_DATA_H << 8) | G_DATA_L;
272
+    BLUE  = (B_DATA_H << 8) | B_DATA_L;
273
+
274
+    printf("1. DEV ID\t:\t%x\r\n",	DEV_DATA);
275
+    printf("3. C\t:\tHEX	: [%04x]\tDEC  : [%05d]\r\n",	CLEAR,CLEAR);
276
+    printf("4. R\t:\tHEX	: [%04x]\tDEC  : [%05d]\r\n",	RED,RED);
277
+    printf("5. G\t:\tHEX	: [%04x]\tDEC  : [%05d]\r\n",	GREEN,GREEN);
278
+    printf("6. B\t:\tHEX	: [%04x]\tDEC  : [%05d]\r\n",	BLUE,BLUE);
279
+#else
280
+    
281
+#endif
282
+
283
+}
284
+void TCS34725_disable(void){
285
+    /* Turn the device off to save power */
286
+    uint8_t reg = 0;
287
+    reg = TCS34725_I2C_Read(TCS34725_ADDRESS,TCS34725_ENABLE);
288
+    TCS34725_I2C_Write(TCS34725_ADDRESS,TCS34725_ENABLE, reg & ~(TCS34725_ENABLE_PON | TCS34725_ENABLE_AEN));
289
+}
290
+
291
+void TCS34725_enable(void)
292
+{
293
+    TCS34725_I2C_Write(TCS34725_ADDRESS, TCS34725_ENABLE, TCS34725_ENABLE_PON);
294
+    HAL_Delay(3);
295
+    TCS34725_I2C_Write(TCS34725_ADDRESS, TCS34725_ENABLE, TCS34725_ENABLE_PON | TCS34725_ENABLE_AEN);
296
+
297
+    switch (_tcs34725IntegrationTime)
298
+    {
299
+        case TCS34725_INTEGRATIONTIME_2_4MS:
300
+          HAL_Delay(3);
301
+          break;
302
+        case TCS34725_INTEGRATIONTIME_24MS:
303
+          HAL_Delay(24);
304
+          break;
305
+        case TCS34725_INTEGRATIONTIME_50MS:
306
+          HAL_Delay(50);
307
+          break;
308
+        case TCS34725_INTEGRATIONTIME_101MS:
309
+          HAL_Delay(101);
310
+          break;
311
+        case TCS34725_INTEGRATIONTIME_154MS:
312
+          HAL_Delay(154);
313
+          break;
314
+        case TCS34725_INTEGRATIONTIME_700MS:
315
+          HAL_Delay(700);
316
+          break;
317
+    }
318
+}
319
+
320
+void tcs34725SetIntegrationTime(tcs34725IntegrationTime_t it)
321
+{
322
+
323
+  TCS34725_I2C_Write(TCS34725_ADDRESS,TCS34725_ATIME, it);
324
+  _tcs34725IntegrationTime = it;
325
+}
326
+void getRawDataOneShot (void)
327
+{
328
+//    TCS34725_enable();
329
+    TCS34725_getrawdata();
330
+//    TCS34725_disable();
331
+}
332
+
333
+/**************************************************************************/
334
+/*!
335
+    @brief  Converts the raw R/G/B values to color temperature in degrees
336
+            Kelvin
337
+*/
338
+/**************************************************************************/
339
+uint16_t calculateColorTemperature(uint16_t r, uint16_t g, uint16_t b)
340
+{
341
+  float X, Y, Z;      /* RGB to XYZ correlation      */
342
+  float xc, yc;       /* Chromaticity co-ordinates   */
343
+  float n;            /* McCamy's formula            */
344
+  float cct;
345
+
346
+  /* 1. Map RGB values to their XYZ counterparts.    */
347
+  /* Based on 6500K fluorescent, 3000K fluorescent   */
348
+  /* and 60W incandescent values for a wide range.   */
349
+  /* Note: Y = Illuminance or lux                    */
350
+  X = (-0.14282F * r) + (1.54924F * g) + (-0.95641F * b);
351
+  Y = (-0.32466F * r) + (1.57837F * g) + (-0.73191F * b);
352
+  Z = (-0.68202F * r) + (0.77073F * g) + ( 0.56332F * b);
353
+
354
+  /* 2. Calculate the chromaticity co-ordinates      */
355
+  xc = (X) / (X + Y + Z);
356
+  yc = (Y) / (X + Y + Z);
357
+
358
+  /* 3. Use McCamy's formula to determine the CCT    */
359
+  n = (xc - 0.3320F) / (0.1858F - yc);
360
+
361
+  /* Calculate the final CCT */
362
+  cct = (449.0F * powf(n, 3)) + (3525.0F * powf(n, 2)) + (6823.3F * n) + 5520.33F;
363
+
364
+  /* Return the results in degrees Kelvin */
365
+  return (uint16_t)cct;
366
+}
367
+
368
+/**************************************************************************/
369
+/*!
370
+    @brief  Converts the raw R/G/B values to lux
371
+*/
372
+/**************************************************************************/
373
+uint16_t calculateLux(uint16_t r, uint16_t g, uint16_t b)
374
+{
375
+  float illuminance;
376
+
377
+  /* This only uses RGB ... how can we integrate clear or calculate lux */
378
+  /* based exclusively on clear since this might be more reliable?      */
379
+  illuminance = (-0.32466F * r) + (1.57837F * g) + (-0.73191F * b);
380
+
381
+  return (uint16_t)illuminance;
382
+}
383
+
384
+/**************************************************************************/
385
+/*!
386
+    @brief  Sets gain to the specified value
387
+*/
388
+/**************************************************************************/
389
+void tcs34725SetGain(tcs34725Gain_t gain)
390
+{
391
+    TCS34725_I2C_Write(TCS34725_ADDRESS,TCS34725_CONTROL, gain);
392
+
393
+     _tcs34725Gain = gain;
394
+}
395
+
396
+/**************************************************************************/
397
+/*!
398
+    @brief  Converts the raw R/G/B values to color temperature in degrees
399
+            Kelvin using the algorithm described in DN40 from Taos (now AMS).
400
+*/
401
+/**************************************************************************/
402
+uint16_t calculateColorTemperature_dn40(uint16_t r, uint16_t g, uint16_t b, uint16_t c)
403
+{
404
+    int rc;                     /* Error return code */
405
+    uint16_t r2, g2, b2;        /* RGB values minus IR component */
406
+    int gl;                     /* Results of the initial lux conversion */
407
+    uint8_t gain_int;           /* Gain multiplier as a normal integer */
408
+    uint16_t sat;               /* Digital saturation level */
409
+    uint16_t ir;                /* Inferred IR content */
410
+
411
+    /* Analog/Digital saturation:
412
+     *
413
+     * (a) As light becomes brighter, the clear channel will tend to
414
+     *     saturate first since R+G+B is approximately equal to C.
415
+     * (b) The TCS34725 accumulates 1024 counts per 2.4ms of integration
416
+     *     time, up to a maximum values of 65535. This means analog
417
+     *     saturation can occur up to an integration time of 153.6ms
418
+     *     (64*2.4ms=153.6ms).
419
+     * (c) If the integration time is > 153.6ms, digital saturation will
420
+     *     occur before analog saturation. Digital saturation occurs when
421
+     *     the count reaches 65535.
422
+     */
423
+    if ((256 - _tcs34725IntegrationTime) > 63) {
424
+        /* Track digital saturation */
425
+        sat = 65535;
426
+    } else {
427
+        /* Track analog saturation */
428
+        sat = 1024 * (256 - _tcs34725IntegrationTime);
429
+    }
430
+
431
+    /* Ripple rejection:
432
+     *
433
+     * (a) An integration time of 50ms or multiples of 50ms are required to
434
+     *     reject both 50Hz and 60Hz ripple.
435
+     * (b) If an integration time faster than 50ms is required, you may need
436
+     *     to average a number of samples over a 50ms period to reject ripple
437
+     *     from fluorescent and incandescent light sources.
438
+     *
439
+     * Ripple saturation notes:
440
+     *
441
+     * (a) If there is ripple in the received signal, the value read from C
442
+     *     will be less than the max, but still have some effects of being
443
+     *     saturated. This means that you can be below the 'sat' value, but
444
+     *     still be saturating. At integration times >150ms this can be
445
+     *     ignored, but <= 150ms you should calculate the 75% saturation
446
+     *     level to avoid this problem.
447
+     */
448
+    if ((256 - _tcs34725IntegrationTime) <= 63) {
449
+        /* Adjust sat to 75% to avoid analog saturation if atime < 153.6ms */
450
+        sat -= sat/4;
451
+    }
452
+
453
+    /* Check for saturation and mark the sample as invalid if true */
454
+    if (c >= sat) {
455
+        return 0;
456
+    }
457
+
458
+    /* AMS RGB sensors have no IR channel, so the IR content must be */
459
+    /* calculated indirectly. */
460
+    ir = (r + g + b > c) ? (r + g + b - c) / 2 : 0;
461
+
462
+    /* Remove the IR component from the raw RGB values */
463
+    r2 = r - ir;
464
+    g2 = g - ir;
465
+    b2 = b - ir;
466
+
467
+    /* Convert gain to a usable integer value */
468
+    switch(_tcs34725Gain) {
469
+        case TCS34725_GAIN_4X: /* GAIN 4X */
470
+            gain_int = 4;
471
+            break;
472
+        case TCS34725_GAIN_16X: /* GAIN 16X */
473
+            gain_int = 16;
474
+            break;
475
+        case TCS34725_GAIN_60X: /* GAIN 60X */
476
+            gain_int = 60;
477
+            break;
478
+        case TCS34725_GAIN_1X: /* GAIN 1X */
479
+        default:
480
+            gain_int = 1;
481
+            break;
482
+    }
483
+
484
+    /* Calculate the counts per lux (CPL), taking into account the optional
485
+     * arguments for Glass Attenuation (GA) and Device Factor (DF).
486
+     *
487
+     * GA = 1/T where T is glass transmissivity, meaning if glass is 50%
488
+     * transmissive, the GA is 2 (1/0.5=2), and if the glass attenuates light
489
+     * 95% the GA is 20 (1/0.05). A GA of 1.0 assumes perfect transmission.
490
+     *
491
+     * NOTE: It is recommended to have a CPL > 5 to have a lux accuracy
492
+     *       < +/- 0.5 lux, where the digitization error can be calculated via:
493
+     *       'DER = (+/-2) / CPL'.
494
+     */
495
+    float cpl = (((256-_tcs34725IntegrationTime)*2.4f) * gain_int) /
496
+        (1.0f * 310.0f);
497
+
498
+    /* Determine lux accuracy (+/- lux) */
499
+    float der = 2.0f / cpl;
500
+
501
+    /* Determine the maximum lux value */
502
+    float max_lux = 65535.0 / (cpl * 3);
503
+
504
+    /* Lux is a function of the IR-compensated RGB channels and the associated
505
+     * color coefficients, with G having a particularly heavy influence to
506
+     * match the nature of the human eye.
507
+     *
508
+     * NOTE: The green value should be > 10 to ensure the accuracy of the lux
509
+     *       conversions. If it is below 10, the gain should be increased, but
510
+     *       the clear<100 check earlier should cover this edge case.
511
+     */
512
+    gl =  0.136f * (float)r2 +                   /** Red coefficient. */
513
+          1.000f * (float)g2 +                   /** Green coefficient. */
514
+         -0.444f * (float)b2;                    /** Blue coefficient. */
515
+
516
+    float lux = gl / cpl;
517
+
518
+    /* A simple method of measuring color temp is to use the ratio of blue */
519
+    /* to red light, taking IR cancellation into account. */
520
+    uint16_t cct = (3810 * (uint32_t)b2) /      /** Color temp coefficient. */
521
+                   (uint32_t)r2 + 1391;         /** Color temp offset. */
522
+
523
+    return cct;
524
+}
525
+
526
+
527
+void i2c_status(HAL_StatusTypeDef data){
528
+    switch(data){
529
+        case HAL_OK	     :printf("HAL_OK     \r\n");break;
530
+        case HAL_ERROR   :printf("HAL_ERROR  \r\n");break;
531
+        case HAL_BUSY    :printf("HAL_BUSY   \r\n");break;
532
+        case HAL_TIMEOUT :printf("HAL_TIMEOUT\r\n");break;
533
+    }
534
+}
535
+
536
+
537
+void TCS34725_init(void){
538
+	uint8_t DEV_DATA = TCS34725_I2C_Read(TCS34725_ADDRESS, TCS34725_COMMAND_BIT |  TCS34725_ID);
539
+//    tcs34725SetIntegrationTime(TCS34725_INTEGRATIONTIME_700MS);
540
+//    tcs34725SetGain(TCS34725_GAIN_60X);
541
+    TCS34725_enable();
542
+	if(DEV_DATA == 0x44 || DEV_DATA == 0x4D){
543
+		printf("TCS34725_Success\r\n");
544
+	}else{
545
+		printf("TCS34725_Failed : %02x\r\n",DEV_DATA);
546
+	}
547
+
548
+}
549
+

+ 3 - 3
insight/STM32F100_RGB_Sensor.si4project/STM32F100_RGB_Sensor.SearchResults

@@ -1,3 +1,3 @@
1
----- NO MY ID Matches (2 in 1 files) ----
2
-RGB_Sensor_Func in RGB_Sensor.c (D:\workspace\STM32F100_RGB_Sensor\Src) :                 printf("NO MY ID : %02x \r\n",My_RGB_ID);
3
-RGB_Sensor_Func in RGB_Sensor.c (D:\workspace\STM32F100_RGB_Sensor\Src) :                 printf("NO MY ID : %02x  AutoSet Request : %d\r\n",My_RGB_ID,AutoSetRequestCnt);
1
+---- RGB_Data[Bluecell_Length] Matches (2 in 1 files) ----
2
+RGB_data_arrage in TCS34725.c (D:\workspace\STM32F100_RGB_Sensor\Src) :             RGB_Data[Bluecell_Length] = 12;//Length
3
+RGB_data_arrage in TCS34725.c (D:\workspace\STM32F100_RGB_Sensor\Src) :             RGB_Data[13] = STH30_CreateCrc(&RGB_Data[Bluecell_Type],RGB_Data[Bluecell_Length]);//crc 

BIN
insight/STM32F100_RGB_Sensor.si4project/STM32F100_RGB_Sensor.siwork


BIN
insight/STM32F100_RGB_Sensor.si4project/cache/parse/.._Src_RGB_Sensor.c.sisc


BIN
insight/STM32F100_RGB_Sensor.si4project/cache/parse/.._Src_TCS34725.c.sisc


BIN
insight/STM32F100_RGB_Sensor.si4project/cache/parse/.._Src_system_stm32f1xx.c.sisc