<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Forum - Recent Threads</title><link>https://community.element14.com/products/manufacturers/st/f/forum</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><lastBuildDate>Wed, 06 Mar 2019 14:21:52 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://community.element14.com/products/manufacturers/st/f/forum" /><item><title>RE: HAL Libraries - Importing and Using</title><link>https://community.element14.com/thread/136810?ContentTypeID=1</link><pubDate>Wed, 06 Mar 2019 14:21:52 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:303ca322-b1b6-45c3-8381-b1650f2168db</guid><dc:creator>14rhb</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/136810?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/9613/hal-libraries---importing-and-using/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;After the success of getting my UART data sent and even changing the STM32F411RE-Nucleo to read and detect characters in that stream I decided to concentrate on getting the SensorTile to output its data onto the UART5 instead of by &amp;#39;U&amp;#39; character or &amp;#39;Thanks Kulky64&amp;#39; message. And this is where the thread comes in again - inspecting the new SimpleUART code (that did work) and combining with my existing SensorTile example code.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Just as before after days I still have the &lt;strong&gt;stm32l4xx_hal_uart.h code &lt;/strong&gt;greyed out after &lt;strong&gt;HAL_UART_MODULE_ENABLED &lt;/strong&gt;as if that define is not known.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;I then spent the last three days looking at my xxhal_uart.h and c and comparing to the example xxhal_uart.h and c and found they did differ. My files were made by STM32CubeMX but perhaps the example was built using different options or another version of CubeMX? I thought I might be able to smash together my xxhal_uart.h into the datalog version of hal_uart.h using something like &lt;a class="jive-link-external-small" href="http://www.scootersoftware.com/" rel="nofollow ugc noopener" target="_blank"&gt;Beyond Compare &lt;/a&gt;but I am currently now stuck looking at new undefined errors form other header files.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;../../../../../../../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:871:85: note: in definition of macro &amp;#39;__HAL_UART_CLEAR_FLAG&amp;#39;
 #define __HAL_UART_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)-&amp;gt;Instance-&amp;gt;ICR = (__FLAG__))
                                                                                     ^~~~~~~~
..\Drivers\STM32L4xx_HAL_Driver\stm32l4xx_hal_uart.c: In function &amp;#39;UART_DMARxOnlyAbortCallback&amp;#39;:
..\Drivers\STM32L4xx_HAL_Driver\stm32l4xx_hal_uart.c:3609:50: error: &amp;#39;UART_CLEAR_NEF&amp;#39; undeclared (first use in this function)
   __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
                                                  ^
../../../../../../../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:871:85: note: in definition of macro &amp;#39;__HAL_UART_CLEAR_FLAG&amp;#39;
 #define __HAL_UART_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)-&amp;gt;Instance-&amp;gt;ICR = (__FLAG__))&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;I&amp;#39;m carrying on trying to join the two examples but I am finding it really complex.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;My conclusion is that this approach is not simple or easy but if you don&amp;#39;t have access to the CubeMX code that generated the example then there is no other way.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Rod&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: HAL Libraries - Importing and Using</title><link>https://community.element14.com/thread/188256?ContentTypeID=1</link><pubDate>Mon, 04 Mar 2019 16:20:25 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e6c4252a-6730-4412-97e6-d1a78dfa2cc2</guid><dc:creator>14rhb</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/188256?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/9613/hal-libraries---importing-and-using/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;Thank you. I might try this out after the Sixth Sense Challenge has finished, just in case I damage the board - it would be a shame to do that after getting this far !&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Rod&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>HAL Libraries - Importing and Using</title><link>https://community.element14.com/thread/9613?ContentTypeID=0</link><pubDate>Sat, 02 Mar 2019 11:33:45 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e6fe3272-7721-425c-9478-8fee288f4294</guid><dc:creator>14rhb</dc:creator><slash:comments>15</slash:comments><comments>https://community.element14.com/thread/9613?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/9613/hal-libraries---importing-and-using/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;I&amp;#39;m after some advice on how to do the following, the discussion will likely be useful to others, so I have broken out to this &amp;#39;fresh area&amp;#39;. Happy to move if there is a more suitable place.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;I&amp;#39;m participating in &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="https://community.element14.com/challengesprojects/design-challenges/sixth-sense-design-challenge/"&gt;Sixth Sense Design Challenge&lt;/a&gt; and anyone following that will likely see a few posts from me stating that I&amp;#39;m struggling to understand the STM32 development cycle more than the actual range of IDEs. My initial discussion is &lt;a class="jive-link-blog-small" href="https://www.element14.com/community/community/design-challenges/sixth-sense-design-challenge/blog/2019/02/25/r2b4-6-sensortile-outputs#comment-150717" title="https://www.element14.com/community/community/design-challenges/sixth-sense-design-challenge/blog/2019/02/25/r2b4-6-sensortile-outputs#comment-150717"&gt;https://www.element14.com/community/community/design-challenges/sixth-sense-design-challenge/blog/2019/02/25/r2b4-6-sens…&lt;/a&gt; &lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;I&amp;#39;m currently using True Studio and STM32L476 although the question could easily relate to the other IDE&amp;nbsp; and/or other devices and boards. I can, with some effort and luck, manage to install and download the examples that are provided in the relevant STM32xx_Cube downloads, I can use STM32xxCubeMX to make a skeleton framework but I seem lost when it comes to adding into an existing project.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;For example, I am currently trying to activate the UART5 for that challenge. I have managed to track down the HAL_drivers for the UART in the initial download and add those into my existing project. Partly comparing a simple UART example I made to see what is required. All the &lt;strong&gt;HAL_UART&lt;/strong&gt; functions are greyed out because &lt;strong&gt;HAL_UART_MODULE_ENABLED&lt;/strong&gt; is not defined. When I look at the simple example I see these are defined in &lt;strong&gt;STM32xx_HAL_conf.h &lt;/strong&gt;but in my example from the STM32xxCube package there doesn&amp;#39;t appear to be such a file.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;If I manage to find a solution I will post it here - current thinking is to (1) simply define the above and see what happens (2) copy the whole header file from another project and adjust for my current one&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Any simple tips, explanation of the basics or links to concise articles would be really appreciated. I really want to crack my understanding of these ARM based boards - I have several now and really want to make something useful with them.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Rod&lt;/p&gt;</description></item><item><title>RE: HAL Libraries - Importing and Using</title><link>https://community.element14.com/thread/188255?ContentTypeID=1</link><pubDate>Sun, 03 Mar 2019 21:40:44 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:464b2c68-cc8d-45ca-917f-0d9824308116</guid><dc:creator>kulky64</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/188255?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/9613/hal-libraries---importing-and-using/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;If you want you can try another direction, connect anothwer wire from CN3 pin TX to CN10 pin 35 (maybe you already done that). You have to be careful now and ensure that the MCU on the Nucleo board does not drive the TX line too (because you have now SB63 shorted) -&amp;gt; potential of conflict here. Modify the firmware on the SensorTile so that it sends back every character received or one character higher or something. Type some characters in terminal a watch if they come back. If you are not sure, maybe don&amp;#39;t do this exercise.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: HAL Libraries - Importing and Using</title><link>https://community.element14.com/thread/188254?ContentTypeID=1</link><pubDate>Sun, 03 Mar 2019 20:11:28 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:5a3db581-bb35-424d-b550-ea6dea22092a</guid><dc:creator>14rhb</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/188254?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/9613/hal-libraries---importing-and-using/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;Just like before I read what you said and followed it on the schematics to see if it made sense which it does. A bit of trial-and-error with PuTTY and my SensorTile boards would like to say:&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/620x392/__key/communityserver-discussions-components-files/60/8623.contentimage_5F00_190275.jpg"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/8623.contentimage_190275.jpg-620x392.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=9P6nSHiWNa9MKihj%2BTPww0JzNZMtZMjZPtk%2F9KGGaz0%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=xdFQUAJ7XG1KAZC/nIRBWQ==" style="max-height: 392px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;Rod&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: HAL Libraries - Importing and Using</title><link>https://community.element14.com/thread/188253?ContentTypeID=1</link><pubDate>Sun, 03 Mar 2019 19:01:21 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:6dff83d2-1ccb-4605-a056-8dbd0b59303c</guid><dc:creator>kulky64</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/188253?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/9613/hal-libraries---importing-and-using/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;Glad it is working. Now you can utilize virtual serial port on ST-LINK and check if you receive characters sent by SensorTile in terminal program on your PC. Connect some female to female jumper cable from ST morpho connector CN10 pin 37 (also connected to CN9 pin 1) to connector CN3 pin RX (provided you already opened SB13). Set baudrate and other parameters in your terminal program to match what you set in firmware on your SensorTile and watch if you receive something in terminal.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: HAL Libraries - Importing and Using</title><link>https://community.element14.com/thread/188252?ContentTypeID=1</link><pubDate>Sun, 03 Mar 2019 18:13:13 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:4408e0fe-526b-4471-9a66-35ce5d5bd44b</guid><dc:creator>14rhb</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/188252?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/9613/hal-libraries---importing-and-using/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/16x16/__key/communityserver-discussions-components-files/60/7853.contentimage_5F00_1.png"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/7853.contentimage_1.png-16x16.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=vxpe%2Ba3FIaZNNRJm%2BiyZYj7Kp5cVAAy%2BMwWVO9CN5zo%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=zGEM7pHL10Vt71gae75OdA==" style="max-height: 16px;max-width: 16px;" /&gt;&lt;/a&gt;&lt;/span&gt; I&amp;#39;ve got 100%&amp;nbsp; UART data now on CN9-pin1, thank you so much &lt;span&gt;&lt;a href="https://community.element14.com/members/kulky64"&gt;kulky64&lt;/a&gt;&lt;/span&gt; for all your time taking me through this.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Point-by-point:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;I was looking at CN9-pin2 for the very reason you mention, that is was detailed as the UART_TX but now I see what you mean about being careful. There was nothing on the CN9-pin 1 at this time.&lt;/li&gt;&lt;li&gt;The USB was still connected to my PC and the J2 jumper was incorrectly set to USB.&lt;/li&gt;&lt;li&gt;I changed CubeMX back to provide UART5 as asynchronous rather than half-duplex which I changed whilst trying to mend it earlier.&lt;/li&gt;&lt;li&gt;A few attempts at building, stopping the existing debug etc (just me getting used to the process still) and wow - the oscilloscope trace went wild...zooming in I can easily see my bytes due to the &amp;#39;0101&amp;#39; nature of the &amp;#39;U&amp;#39; character.&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Thanks again for all the time you have spent helping me here. What a great way to finish off Sunday &lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/16x16/__key/communityserver-discussions-components-files/60/7853.contentimage_5F00_1.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/7853.contentimage_1.png-16x16.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=vxpe%2Ba3FIaZNNRJm%2BiyZYj7Kp5cVAAy%2BMwWVO9CN5zo%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=zGEM7pHL10Vt71gae75OdA==" style="max-height: 16px;max-width: 16px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Rod&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: HAL Libraries - Importing and Using</title><link>https://community.element14.com/thread/188251?ContentTypeID=1</link><pubDate>Sun, 03 Mar 2019 17:28:19 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:187149fb-67e0-4496-a8ef-f69a0a0aa854</guid><dc:creator>kulky64</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/188251?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/9613/hal-libraries---importing-and-using/rss?ContentTypeId=0</wfw:commentRss><description>&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;span&gt;&lt;a href="https://community.element14.com/members/14rhb"&gt;14rhb&lt;/a&gt;&lt;/span&gt;&amp;nbsp; wrote:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;... I added some code to output a few bytes on UART5 and LP_UART. I&amp;#39;m seeing bytes on my simple oscilloscope directly from pin 6 of the SensorTile and on CN9-pin2 ...&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;"&gt;Whoa. Why do you expecting to see anything on pin 6 of the SensorTile and CN9 pin 2? If you trasmit something from UART5 on SensorTile you should see it on pin 7 of the SensorTile and pin 1 of CN9. So the flow of the signal is like this:&lt;/p&gt;&lt;p style="margin:0;"&gt;STM32L476JG (PC12, ball B3, UART5_TX) -&amp;gt; SensorTile (pin 7, signal TXD-USB_DM) -&amp;gt; solder bridge SB20 -&amp;gt; level converter ST2378ETTR -&amp;gt; CN9 pin 1 (signal now named UART_RX because this is from MCU on Nucleo point of view).&lt;/p&gt;&lt;p style="margin:0;"&gt;When you are dealing with RXD and TXD nomenclature you should pay attention from standpoint of which device this is taken. Also just to verify: you have not connected any USB cable to USB connector on the Cradle Expansion Board and jumper on J2 header is placed between 1 and 2 (VIN from Nucleo 5V Output). Right?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: HAL Libraries - Importing and Using</title><link>https://community.element14.com/thread/188250?ContentTypeID=1</link><pubDate>Sun, 03 Mar 2019 15:24:43 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:3d5e8286-f0bc-4bf3-80b8-2e2c9d529c7a</guid><dc:creator>14rhb</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/188250?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/9613/hal-libraries---importing-and-using/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;Hi &lt;span&gt;&lt;a href="https://community.element14.com/members/kulky64"&gt;kulky64&lt;/a&gt;&lt;/span&gt;, Good point, I compiled the code for reference reading but never actually tried building it or debugging on the SensorTile board. I made a new version in CubeMX (which is a really great tool) and activated both the UART5 and LP_UART. I added some code to output a few bytes on UART5 and LP_UART. I&amp;#39;m seeing bytes on my simple oscilloscope directly from pin 6 of the SensorTile and on CN9-pin2 (having made the SB changes you helpfully suggested). However I wasn&amp;#39;t convinced it was actually my bytes (I used the &amp;#39;U&amp;#39; as it is 0x55 and easy to spot). Commenting out those lines and I could still see data on the CN9-pin2 , which is strange. I&amp;#39;m carrying on looking around. Although I also initialise LP_UART and send bytes to that I cannot see anything on the correct pins of the SensorTile (pins 12 and 13 which are F8 and F9 of the STM32L476JG device). Of course, there is every possibility I have damaged those pins with my clumsy eyesight and shorting pins whilst testing! The data on UART5 also appears whilst single stepping in debug mode, which backs my theory up.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Anyway, the investigation continues, and although I am now a long way from the actual &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="https://community.element14.com/challengesprojects/design-challenges/sixth-sense-design-challenge/"&gt;Sixth Sense Design Challenge&lt;/a&gt; I feel I am really learning a lot. I even almost successfully imported the BSP for the SensorTile into my project which didn&amp;#39;t seem to be an option from CubeMX (I say almost because it fell over compiling).&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Apart from these issues I&amp;#39;ve found it enjoyable looking around the CubeMX to see what can get added, selecting the pins, comparing to the datasheets, testing the pins etc. Thanks for all the help and I&amp;#39;ll post when I get another breakthrough (the first breakthrough being my simple code actually compiled and downloaded today).&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Rod&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: HAL Libraries - Importing and Using</title><link>https://community.element14.com/thread/188249?ContentTypeID=1</link><pubDate>Sat, 02 Mar 2019 22:51:16 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:1c707e8e-6e3d-4de9-9634-d4c40a2e8d09</guid><dc:creator>kulky64</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/188249?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/9613/hal-libraries---importing-and-using/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;Hi, is your basic UART example working? As a starting point try something simple, like sending back every received character. Verify with PuTTY or some other terminal program that it works.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: HAL Libraries - Importing and Using</title><link>https://community.element14.com/thread/184282?ContentTypeID=1</link><pubDate>Sat, 02 Mar 2019 14:57:51 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:b3080723-27f5-4926-9d07-39dcd96ea1b8</guid><dc:creator>14rhb</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/184282?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/9613/hal-libraries---importing-and-using/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;Good advice, thank you again Avner.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The more I browse around and try stuff the better I&amp;#39;m getting. I have been in the ...hal_conf.h file and enabled the UART (as in photo below) although that definition never seemed to get recognised in the HAL_UART.c and so I changed the #ifdef to #ifndef to get the code to be included....probably a bad approach as there is something obviously not quite right still. I suspect my includes or where the IDE is looking is incorrect although strangely I can trace through from one declaration to the next (so the IDE knows where everything is even if the compiler doesn&amp;#39;t).&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;I&amp;#39;ll likely be giving this a break for now as I think my brain is getting confused - a nice fresh start again tomorrow might help along with all these great comments. A screenshot from my IDE looks like this:&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/995x534/__key/communityserver-discussions-components-files/60/contentimage_5F00_190274.jpg"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/contentimage_190274.jpg-995x534.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=w13B1vKjdr2134RriVHu2ZslFP8IliW6Bdc0RUlYJlY%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=j6Hw8BezrLgfYVoFzZv4Zg==" style="max-height: 534px;max-width: 995px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;I have two projects open - the SensorTile example and my own, very basic, UART5.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Rod&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: HAL Libraries - Importing and Using</title><link>https://community.element14.com/thread/175406?ContentTypeID=1</link><pubDate>Sat, 02 Mar 2019 14:24:46 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:fe20952d-776b-4139-84fb-cab4957a7722</guid><dc:creator>avnrdf</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/175406?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/9613/hal-libraries---importing-and-using/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;This is what my project looks like:&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/855x610/__key/communityserver-discussions-components-files/60/contentimage_5F00_190273.png"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/contentimage_190273.png-855x610.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=QABjFBOjdhvrCgmgWJFxHco%2BKETNnZJDuRwSSCzE22A%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=krUuv38jnQNoNznkv6ezyg==" style="max-height: 610px;max-width: 855px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;CubeMX generated the hal_conf.h file, and automatically defined the macros.&lt;/p&gt;&lt;p style="margin:0;"&gt;Since you&amp;#39;re working with an example project, you could try importing the drivers manually.&lt;/p&gt;&lt;p style="margin:0;"&gt;The hal_conf.h file also contains a bunch of other defines, and does a:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#ifdef HAL_UART_MODULE_ENABLED
 #include &amp;quot;stm32f1xx_hal_uart.h&amp;quot;
#endif /* HAL_UART_MODULE_ENABLED */&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Try generating a new CubeMX project, and look at how the whole thing is structured. I think that you should be able to copy over files from the CubeMX project to your example, and with a little fixing, it should work.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: HAL Libraries - Importing and Using</title><link>https://community.element14.com/thread/175403?ContentTypeID=1</link><pubDate>Sat, 02 Mar 2019 14:00:31 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:461b155d-0db0-4e38-b073-436224bf11c9</guid><dc:creator>14rhb</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/175403?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/9613/hal-libraries---importing-and-using/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;Hi Avner,&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;I wanted to click &amp;#39;helpful&amp;#39; twice to reflect the amount of great detail you&amp;#39;ve given me - so thank you.&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;CubeMX will not modify anything within the /*User Code*/ braces.&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;"&gt;I wondered how that bit worked following on from &lt;span&gt;&lt;a href="https://community.element14.com/members/koudelad"&gt;koudelad&lt;/a&gt;&lt;/span&gt; comments, so will remember that as I start to work my own projects from scratch.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;I have managed to do a CubeMX project from scratch, albeit just generating some basic code. The problem I have is that I already have the example from the STM32 board&amp;#39;s Cube package, it does 99% of what I want, and now I wish to modify it slightly.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Rod&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: HAL Libraries - Importing and Using</title><link>https://community.element14.com/thread/136731?ContentTypeID=1</link><pubDate>Sat, 02 Mar 2019 13:28:11 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:2d5cf077-72e6-4a5d-8a99-3d63871edd0c</guid><dc:creator>avnrdf</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/136731?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/9613/hal-libraries---importing-and-using/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;Rod,&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;I&amp;#39;ve been using CubeMX + Atollic Studio to program a STM32F103. I&amp;#39;m using the STM32 HAL, and it seems to be working fine for me.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;First setup CubeMX by downloading the MCU Package:&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/786x376/__key/communityserver-discussions-components-files/60/contentimage_5F00_190264.png"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/contentimage_190264.png-786x376.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=VecVh06wd7AnlgD%2B8U8vyzkZayZ3X0gwXyYoua7UtzY%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=AZ6V8HPhdv9d4mqGCHHQCw==" style="max-height: 376px;max-width: 786px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;Create a new CubeMX project, and enable the peripherals you want (let&amp;#39;s go with the GPIO &amp;amp; UART):&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/706x379/__key/communityserver-discussions-components-files/60/contentimage_5F00_190265.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/contentimage_190265.png-706x379.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=eExyPfojc5t3cKHfZqkx2HqRDH1o39wN6ofnQdSkBuc%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=BVQhUToFgFXuyqSyPH7q1Q==" style="max-height: 379px;max-width: 706px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;Go to the &amp;#39;Configuration&amp;#39; tab and configure the settings:&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/905x364/__key/communityserver-discussions-components-files/60/contentimage_5F00_190266.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/contentimage_190266.png-905x364.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=wuAFZ8cRJsox4mytphN5yYh797kXlhRB9fi12d0Oxwo%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=lWhqBC69gNmivfSXCr5IZg==" style="max-height: 364px;max-width: 905px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;This is how my project settings look:&lt;/p&gt;&lt;p style="margin:0;"&gt; &lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/188x226/__key/communityserver-discussions-components-files/60/contentimage_5F00_190267.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/contentimage_190267.png-188x226.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=zRVZdKRrCsQmE8qKQL1wOXk5a9fCZV8w1vkxjeeJAG0%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=Xm24w08C53LUUJNUa7RFUQ==" style="max-height: 226px;max-width: 188px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/358x224/__key/communityserver-discussions-components-files/60/contentimage_5F00_190268.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/contentimage_190268.png-358x224.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=zxz9LvJf8f5utQeUqkOAny2YeYlf6tyGJCstDeafBLU%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=LiTkOgPneKSX/Wvr0eDrzA==" style="max-height: 224px;max-width: 358px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;Note that you can select between the &amp;#39;LL&amp;#39; &amp;amp; &amp;#39;HAL&amp;#39;. The HAL is easier to work with due to the higher level of abstraction:&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/442x328/__key/communityserver-discussions-components-files/60/contentimage_5F00_190269.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/contentimage_190269.png-442x328.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=ZQjV4NhNJ9NQy1YiMC0zkkTTWQuOSUlogqd99OyX9eY%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=oBuzNR9s6NDFeBRhbG4oOw==" style="max-height: 328px;max-width: 442px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;Now click on &amp;#39;Generate&amp;#39; source code. It should automatically create/update the Atollic TrueStudio Project, add the initialization code (so that you don&amp;#39;t need to manually configure the baud rate, and set the GPIOs to the alternate function i.e. UART) &amp;amp; import the required drivers.&lt;/p&gt;&lt;p style="margin:0;"&gt;Launch TrueStudio, and you will see something like this:&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/577x316/__key/communityserver-discussions-components-files/60/contentimage_5F00_190270.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/contentimage_190270.png-577x316.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=iSKQTQ0aqKytaVEff7wpbmERHXzYmIiFz1VJrrhDMVI%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=ndTcBPHPO7UzCXOWIgzCLA==" style="max-height: 316px;max-width: 577px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;If you open up the those functions, you&amp;#39;ll see that CubeMX has already implemented the code required to setup the peripheral.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;To transmit you can try adding this after the peripheral initialization:&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;  char mword [] = &amp;quot;Boot!\n&amp;quot;;
  HAL_UART_Transmit(&amp;amp;huart1, &amp;amp;mword, sizeof(mword), 300);&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;To toggle the GPIO, try:&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);
HAL_Delay(1000);&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Have a look at the documentation for the HAL &amp;amp; LL drivers if you want a list of all the driver functions, how to use them or what they do. For the STM32F1, I use this:&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/518x150/__key/communityserver-discussions-components-files/60/contentimage_5F00_190271.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/contentimage_190271.png-518x150.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=EypHa3WD0hLPNARE7ElzBSwvIHPsGJqVISPXJrSpbyY%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=zK5mKWNcNTHU+PCmJscv6g==" style="max-height: 150px;max-width: 518px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Regarding the preprocessor macros/symbols,&lt;/p&gt;&lt;p style="margin:0;"&gt;TrueStudio &amp;gt; Project &amp;gt; Build Settings &amp;gt; C/C++ Build &amp;gt; Settings &amp;gt; Tool Settings &amp;gt; Symbols (under C Compiler)&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/821x731/__key/communityserver-discussions-components-files/60/contentimage_5F00_190272.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/contentimage_190272.png-821x731.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=y1uOgxgv9ZvXhuli61rjmLghcednuXWF8IjfmK%2FyHjs%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=DP1xSLrW4y1g53jlmthlkg==" style="max-height: 731px;max-width: 821px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;I wouldn&amp;#39;t bother with copying files over manually - CubeMX does all of that for you!&lt;/p&gt;&lt;p style="margin:0;"&gt;Create a CubeMX project, and add you code between the /*User Code*/ comments. When you want to modify pinmuxing, enable peripherals, or even change peripheral configuration, open CubeMX, make your changes and regenerate the project. CubeMX will not modify anything within the /*User Code*/ braces.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;It&amp;#39;s probably easier to start with the CubeMx project, and import whatever code you have rather than the other way around.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: HAL Libraries - Importing and Using</title><link>https://community.element14.com/thread/136729?ContentTypeID=1</link><pubDate>Sat, 02 Mar 2019 13:11:24 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:7d1e7961-b05b-4498-acb7-a2c9694897c0</guid><dc:creator>14rhb</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/136729?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/9613/hal-libraries---importing-and-using/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;Hi David,&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Thank you for your valuable replies:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;If you follow their rules, you can even open the project in CubeMX later and add/remove features later, generate the project again, and your own code stays where it was.&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;"&gt;That sounds useful when I am more proficient and then need to expand on my existing projects or change something. Sounds logical as well, like the Microchip Code Configurator (MCC) in PIC program IDE.&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;I would look for the CubeMX project file&lt;/blockquote&gt;&lt;p style="margin:0;"&gt;I never thought of doing that - if I can find that file to open directly in CubeMX it would be so much &amp;#39;easier&amp;#39; ....I&amp;#39;ll do some searching around.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Rod&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: HAL Libraries - Importing and Using</title><link>https://community.element14.com/thread/136728?ContentTypeID=1</link><pubDate>Sat, 02 Mar 2019 12:22:33 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:56a45149-d5c9-4037-aa11-4f3886309325</guid><dc:creator>koudelad</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/136728?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/9613/hal-libraries---importing-and-using/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;Hello Rod,&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;I don&amp;#39;t program STM32s profesionally, but here are a few hints I got at some of ST&amp;#39;s seminars:&lt;/p&gt;&lt;p style="margin:0;"&gt;1) If you have no existing code and want to use CubeMX to generate your code, do it at the beginning and save the CubeMX project file. CubeMX generates a code that contains a lot of blocks of comments that suggest where to put your own code and what not to touch. If you follow their rules, you can even open the project in CubeMX later and add/remove features later, generate the project again, and your own code stays where it was.&lt;/p&gt;&lt;p style="margin:0;"&gt;2) If ST provided some example you wish to modify, I would look for the CubeMX project file, which leads to the previous step.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;David&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is This Situation Repairable</title><link>https://community.element14.com/thread/171356?ContentTypeID=1</link><pubDate>Mon, 04 Sep 2017 01:15:37 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:13ce3c76-ef3f-4465-93a8-41b3a876b800</guid><dc:creator>jw0752</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/171356?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/31723/is-this-situation-repairable/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;Thanks Doug,&lt;/p&gt;&lt;p style="margin:0;"&gt;It means a lot to me coming from one of the best inventors / builders / engineers that I know.&lt;/p&gt;&lt;p style="margin:0;"&gt;John&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is This Situation Repairable</title><link>https://community.element14.com/thread/112724?ContentTypeID=1</link><pubDate>Mon, 04 Sep 2017 00:35:02 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:5f2719d0-96fc-4211-a4fc-fa43f0ec911e</guid><dc:creator>dougw</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/112724?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/31723/is-this-situation-repairable/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;Outstanding!&lt;/p&gt;&lt;p style="margin:0;"&gt;Great intuition and curiosity, good sleuthing of the root cause, good research on potential solutions, including very healthy interaction with members, critical confidence to try your solution, and perfect success.&lt;/p&gt;&lt;p style="margin:0;"&gt;It seems simple enough when reading about it, but how many would actually get it working?&lt;/p&gt;&lt;p style="margin:0;"&gt;Great work.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is This Situation Repairable</title><link>https://community.element14.com/thread/183447?ContentTypeID=1</link><pubDate>Sat, 02 Sep 2017 17:44:38 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:445d6b0b-a2af-4b91-b90e-4fcdff26032d</guid><dc:creator>jw0752</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/183447?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/31723/is-this-situation-repairable/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;Thanks Fabio for the assurance. I want to understand things from the foundations but often the foundations are trivial, assumed and not properly covered.&lt;/p&gt;&lt;p style="margin:0;"&gt;John&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Is This Situation Repairable</title><link>https://community.element14.com/thread/31723?ContentTypeID=0</link><pubDate>Sat, 19 Aug 2017 03:37:20 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:b5ea8060-4380-4002-8858-0ef689ec0c6a</guid><dc:creator>jw0752</dc:creator><slash:comments>21</slash:comments><comments>https://community.element14.com/thread/31723?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/31723/is-this-situation-repairable/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;&lt;span style="font-size:14pt;"&gt;A while back I posted a blog about building a DSO Shell 15001K Oscilloscope Kit.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:14pt;"&gt;&lt;a class="jive-link-blog-small" href="https://www.element14.com/community/people/jw0752/blog/2017/04/25/building-the-dso-shell-15001k-oscilloscope"&gt;https://www.element14.com/community/people/jw0752/blog/2017/04/25/building-the-dso-shell-15001k-oscilloscope&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:14pt;"&gt;&lt;span&gt;I gave one of these kits to an old friend and he called me a few days later to say that the preliminary test of the Main Board which is done before one starts assembly showed it to be failed We tried a number of diagnostics over the phone and finally I had him send the board to me My tests revealed that there was a low resistance short on the 3.3 volt rail I traced the circuit and removed smd components and cut traces to try to isolate the branch of the 3.3 volt circuit and the component that might be causing the problem Ultimately the fault was in the&amp;nbsp; &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-a07M3PFJ-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=1447637&amp;amp;nsku=59M2182&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=1447637&amp;amp;nsku=59M2182&amp;amp;COM=noscript" target="_blank"&gt;STM32F103C8T6&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-a07M3PFJ-unlinked"&gt;STM32F103C8T6&lt;/span&gt;&lt;/span&gt; microprocessor I removed the microprocessor and decided that the unit was going to be just parts While I can technically replace the uP I have no way to reprogram it As I studied the schematic I noticed that there was in addition to the uP an 8 pin 24LC32A EPROM tied to the SOA and SCL pins of the uP Here is a link to the main board schematic &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:14pt;"&gt;&lt;a class="jive-link-external-small" href="http://www.jyetech.com/Products/LcdScope/Schematic_150main.pdf" rel="nofollow ugc noopener" target="_blank"&gt;http://www.jyetech.com/Products/LcdScope/Schematic_150main.pdf&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:14pt;"&gt;My question is whether there is a possibility that the program for the unit is on the EPROM and not on the uP. Would I be able to replace the fried uP with a raw one and expect it to automatically boot up from the EPROM.&amp;nbsp; At this point it is all just a learning experience but I will probably not waste my money on a uP or my time replacing it if it is impossible for the program to be on the EPROM.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:14pt;"&gt;Any insights will be appreciated.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:14pt;"&gt;John &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>RE: Is This Situation Repairable</title><link>https://community.element14.com/thread/171348?ContentTypeID=1</link><pubDate>Sat, 02 Sep 2017 16:34:19 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:edeb6999-5a52-4c93-9b2a-0c0beafaeec7</guid><dc:creator>gecoz</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/171348?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/31723/is-this-situation-repairable/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;Hi John,&lt;/p&gt;&lt;p style="margin:0;"&gt;Your statement is absolutely right. UART devices can use different voltages for their logic levels, while still implementing the same communication protocol. In your case, the logic levels of the STM32 UART are 0V low, 3.3V high, so your USB to UART converter was OK. But if you were to use it to interface USB with a TTL UART&amp;nbsp; device (like the Arduino UNO UART for instance), you would have needed a &lt;a class="jive-link-external-small" href="https://www.sparkfun.com/products/12009" rel="nofollow ugc noopener" target="_blank" title="https://www.sparkfun.com/products/12009"&gt;logic level converter&lt;/a&gt;, as TTL logic works with 0V low and 5V high levels.&lt;/p&gt;&lt;p style="margin:0;"&gt;Fabio.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is This Situation Repairable</title><link>https://community.element14.com/thread/171347?ContentTypeID=1</link><pubDate>Sat, 02 Sep 2017 14:42:41 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e103d7b0-8f04-4754-b6a2-71e717323ec8</guid><dc:creator>jw0752</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/171347?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/31723/is-this-situation-repairable/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;Hi Jan,&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;As I was searching the internet for the shortest easier solution last night I remembered that I had a UART that I used a couple years ago to program an Arduino Mini Pro. Here are pictures of it:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/620x465/__key/communityserver-discussions-components-files/60/3225.contentimage_5F00_185122.jpg"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/3225.contentimage_185122.jpg-620x465.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=nnamUXhFYujpZNdHKPq0%2BtPwtg7n53gjGx%2BoZiHtAQg%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=eO4sXu4dnIbN17A+x52b4Q==" style="max-height: 465px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/620x465/__key/communityserver-discussions-components-files/60/1172.contentimage_5F00_185123.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/1172.contentimage_185123.jpg-620x465.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=wvMdNEbem77FfKvAsJxTT05kwujUyQfxKNFuia34TSE%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=oCr5pWpwdmxObxpSrQM2fQ==" style="max-height: 465px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/620x465/__key/communityserver-discussions-components-files/60/5314.contentimage_5F00_185124.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/5314.contentimage_185124.jpg-620x465.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=b5ZnjL3Q0Jtuaj77fJm3ZWd85r1vbSsC%2FYlF0E7KVwE%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=mQvvzvbRquLC/cqQ89DVkg==" style="max-height: 465px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;As you can see it is just like the one you recommended without the cord. It is based on the Silabs CP2102.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;NOTE: I have need of a clarification:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;As long as we are talking I have a clarification question on these UARTs. Most of them have a way of choosing 5V or 3.3V. I am assuming that this is strictly for supplying power to the unit that is being programmed and has nothing to do with logic levels that the UART supplies. This one has 3.3V logic levels and it worked well with my 3.3 V STM 32 microprocessor. If however I was trying to use it on a chip that used 5V logic levels I might have a problem and would have to use a 3.3V to 5V logic converter. I have written this as statements but I need reassurance that I have the right idea about what I have said.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Thanks&lt;/p&gt;&lt;p style="margin:0;"&gt;John&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is This Situation Repairable</title><link>https://community.element14.com/thread/171342?ContentTypeID=1</link><pubDate>Sat, 02 Sep 2017 08:31:42 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:82df476b-2ef0-4400-a583-62671f624145</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/171342?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/31723/is-this-situation-repairable/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;Which USB to UART did you end up using, John?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is This Situation Repairable</title><link>https://community.element14.com/thread/112686?ContentTypeID=1</link><pubDate>Sat, 02 Sep 2017 07:10:11 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:7f7aaa91-d4d7-466e-b054-ee8aa9c11a4b</guid><dc:creator>jw0752</dc:creator><slash:comments>2</slash:comments><comments>https://community.element14.com/thread/112686?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/31723/is-this-situation-repairable/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;This is just an update. The STM 32 microprocessor arrived today and I installed it on the board as well as all the parts I had removed to trace the original short. The chip comes with a pre-installed bootloader. I down loaded an updated firmware from JYE and then I started searching the web for how to upgrade firmware. After a bit (about 2 hours ) of searching and down loading I had my USB UART atached to the computer with the proper driver. I had a USB Flash program from STM up and running and thanks to a you-tube video I knew what to do on the Flash Program to get it to work. To my amazement it all worked as it should and I was able to boot the board to a normal screen.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/620x465/__key/communityserver-discussions-components-files/60/5488.contentimage_5F00_185120.jpg"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/5488.contentimage_185120.jpg-620x465.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=aLDZSrf5FHwwEanzSWJO2DcOAGbW3%2FAMNTJInj%2FQKc0%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=TOtZpMdQxSqwfOLCAhho2g==" style="max-height: 465px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/620x465/__key/communityserver-discussions-components-files/60/8831.contentimage_5F00_185121.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/8831.contentimage_185121.jpg-620x465.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=YuuVhnTQpubH88YExnYEnbqeg2KoQwpPPzwamO0H2CQ%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=fxcmHyCNXYIh0MGLkw3ENg==" style="max-height: 465px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Thank you for all your suggestions and encouragement.&amp;nbsp; This was a lot of fun.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;John&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is This Situation Repairable</title><link>https://community.element14.com/thread/171205?ContentTypeID=1</link><pubDate>Sat, 19 Aug 2017 17:30:32 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:5d858f8c-c7db-4696-a12d-e2bcd4817d3c</guid><dc:creator>jc2048</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/171205?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/products/manufacturers/st/f/forum/31723/is-this-situation-repairable/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="margin:0;"&gt;Here&amp;#39;s another one that doesn&amp;#39;t cost much - you even get a free, snap-off, PSoC 4 processor board with it!&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/620x465/__key/communityserver-discussions-components-files/60/2072.contentimage_5F00_185119.jpg"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/discussions/components/files/60/2072.contentimage_185119.jpg-620x465.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=PuuGH4yEZj%2B53UVHHD7LsI2XAZIV4Rof2siuEc6M6NE%3D&amp;amp;se=2026-04-26T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=rOli0RdutoezQCePd84rZQ==" style="max-height: 465px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;It&amp;#39;s a CY8CKIT-049-42xx but the I/O is all 5V so it would need level conversion and some of the other suggestions are probably better &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>