<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/ports/stm32/timer.c, branch main</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=main</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2019-10-13T15:08:52+00:00</updated>
<entry>
<title>remove ports/stm32</title>
<updated>2019-10-13T15:08:52+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2019-10-13T15:08:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=fc033bd954a46156d6902392f8ae21ac2872bb1c'/>
<id>urn:sha1:fc033bd954a46156d6902392f8ae21ac2872bb1c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>stm32/timer: Support TIM1 on F0 MCUs.</title>
<updated>2018-06-15T00:50:08+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-06-15T00:50:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=37a7257affa5e1ad449d911797dfc4b9e46677b3'/>
<id>urn:sha1:37a7257affa5e1ad449d911797dfc4b9e46677b3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>stm32: Add support for STM32F0 MCUs.</title>
<updated>2018-05-28T11:49:49+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-05-28T08:10:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=ea7e747979c2f27eb90f9a6ba292c500eb288dd4'/>
<id>urn:sha1:ea7e747979c2f27eb90f9a6ba292c500eb288dd4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>stm32/timer: Make timer_get_source_freq more efficient by using regs.</title>
<updated>2018-05-28T11:46:20+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-05-28T01:57:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=5c0685912f8efc4e8345999aab647662a5875759'/>
<id>urn:sha1:5c0685912f8efc4e8345999aab647662a5875759</id>
<content type='text'>
Use direct register access to get the APB clock divider.  This reduces code
size and makes the code more efficient.
</content>
</entry>
<entry>
<title>stm32: Don't use %lu or %lx for formatting, use just %u or %x.</title>
<updated>2018-05-04T05:52:03+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-05-04T05:52:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=cb3456ddfe330c562b7d7dde64df933ab7d987f1'/>
<id>urn:sha1:cb3456ddfe330c562b7d7dde64df933ab7d987f1</id>
<content type='text'>
On this 32-bit arch there's no need to use the long version of the format
specifier.  It's only there to appease the compiler which checks the type
of the args passed to printf.  Removing the "l" saves a bit of code space.
</content>
</entry>
<entry>
<title>stm32/irq: Define IRQ priorities directly as encoded hardware values.</title>
<updated>2018-05-02T04:41:02+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-05-02T04:41:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a03e6c1e05203bb71ebee50af2a41de404b05078'/>
<id>urn:sha1:a03e6c1e05203bb71ebee50af2a41de404b05078</id>
<content type='text'>
For a given IRQn (eg UART) there's no need to carry around both a PRI and
SUBPRI value (eg IRQ_PRI_UART, IRQ_SUBPRI_UART).  Instead, the IRQ_PRI_UART
value has been changed in this patch to be the encoded hardware value,
using NVIC_EncodePriority.  This way the NVIC_SetPriority function can be
used directly, instead of going through HAL_NVIC_SetPriority which must do
extra processing to encode the PRI+SUBPRI.

For a priority grouping of 4 (4 bits for preempt priority, 0 bits for the
sub-priority), which is used in the stm32 port, the IRQ_PRI_xxx constants
remain unchanged in their value.

This patch also "fixes" the use of raise_irq_pri() which should be passed
the encoded value (but as mentioned above the unencoded value is the same
as the encoded value for priority grouping 4, so there was no bug from this
error).
</content>
</entry>
<entry>
<title>stm32: Use STM32xx macros instead of MCU_SERIES_xx to select MCU type.</title>
<updated>2018-03-16T23:42:50+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-03-16T23:42:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=e37b8ba5a55c99dbd1e69eb1c99651307b22fd3e'/>
<id>urn:sha1:e37b8ba5a55c99dbd1e69eb1c99651307b22fd3e</id>
<content type='text'>
The CMSIS files for the STM32 range provide macros to distinguish between
the different MCU series: STM32F4, STM32F7, STM32H7, STM32L4, etc.  Prefer
to use these instead of custom ones.
</content>
</entry>
<entry>
<title>stm32/timer: Add Timer support for H7 MCUs.</title>
<updated>2018-03-09T04:10:46+00:00</updated>
<author>
<name>iabdalkader</name>
<email>i.abdalkader@gmail.com</email>
</author>
<published>2018-02-23T16:53:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0989e0cdffb527527dcf89d835afbde82bf4bdbb'/>
<id>urn:sha1:0989e0cdffb527527dcf89d835afbde82bf4bdbb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>stm32/timer: Support MCUs that don't have TIM4 and/or TIM5.</title>
<updated>2018-02-13T04:53:39+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-02-13T04:53:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=8aad22fdca757fd7135fb2f68ff8023a1f5bebc3'/>
<id>urn:sha1:8aad22fdca757fd7135fb2f68ff8023a1f5bebc3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>stm32: Update HAL macro and constant names to use newer versions.</title>
<updated>2018-02-13T04:37:35+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-02-13T04:37:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=3eb0694b97c6a8f0e93b874549aac40d8b78b0e5'/>
<id>urn:sha1:3eb0694b97c6a8f0e93b874549aac40d8b78b0e5</id>
<content type='text'>
Newer versions of the HAL use names which are cleaner and more
self-consistent amongst the HAL itself.  This patch switches to use those
names in most places so it is easier to update the HAL in the future.
</content>
</entry>
</feed>
