calling sys.exit directly is so so ruuude.
I'm not testing every path right now, but this is vastly better already.
Signed-off-by: Karl Palsson <karlp@tweak.au>
Other families used fdcanX_itY already, and that matches the terminology
of the reference manual, so move to that style for consistency.
Signed-off-by: Karl Palsson <karlp@tweak.au>
The swapped lines generated the wrong nvic.h, then jumping into the wrong ISR.
See data sheet RM0440rev7 (page442, table 97).
Reviewed-by: Karl Palsson <karlp@tweak.au>
Fixes issue #1482: Incorrect interpretation of disconnected parameter in st_usbfs_v2_disconnect
The `disconnected` parameter was interpreted incorrectly: When set to true it connected but should disconnect.
Reviewed-by: Karl Palsson <karlp@tweak.au>
In addition to stdint.h, MSC directly relies on the usbd_device type
definition existing. Ensure it has included it's own dependencies.
Fixes: https://github.com/libopencm3/libopencm3/issues/1471
Signed-off-by: Karl Palsson <karlp@tweak.au>
Some class headers were not including stdint.h themselves, despite
relying on those types, and relying on them already being included
earlier elsewhere. Consistently include stdint.h where it's used.
Fixes: https://github.com/libopencm3/libopencm3/issues/1471
Signed-off-by: Karl Palsson <karlp@tweak.au>
Removed newline between the comment block and function definition
It enables vscode intellisense to display documentation about functions
Reviewed-by: Karl Palsson <karlp@tweak.au>
Now that all families have support for calculating the clock of the
uart, use that layer. Slightly slower for "old" families, but the only
way to be correct for newer families.
Reviewed-by: Karl Palsson <karlp@tweak.au>
Required so that the common uart infrastructure can be updated. This was
the last family to receive this implementation.
Signed-off-by: Karl Palsson <karlp@tweak.au>
Follow HACKING specifications, be consistent with all other parts.
Yes, the SEL suffix is kinda superfluous, but it's _consistent_ which is
why we do it.
Signed-off-by: Karl Palsson <karlp@tweak.au>
Cleanup one function at a time. Use the correct doxygen references, use
unshifted forms in user facing apis. Yes, only the trigger at the
moment, as the polarity is shared.
Signed-off-by: Karl Palsson <karlp@tweak.au>
Add definitions for all the specific options, as is done for other
families.
Reviewed-by: Karl Palsson <karlp@tweak.au>
(Added extra g0 definitions that were missed)
CCR register definitions were completely wrong, both decimal/hex mixups,
and straightup transcriptions from the reference manual errors.
Unify the styles for both g0 and g4, using the same (duplicated)
function for both implmentations.
Reviewed-by: Karl Palsson <karlp@tweak.au>
Adds handling for missing cases. While i2c only has 3 cases, uarts have
all 4, so make sure they're handled properly.
Removes duplicated/redundant definitions.
Adds doxygen wrappers, even if only for internal use.
Fixes: e41ac6ea71 stm32: added peripheral clock get helpers for all stm32
Signed-of-by: Karl Palsson <karlp@tweak.au>
It's simply a wrapper around rcc_reset_pulse already.
Just drop it. See 034dbf20ff for the same deletion for timers.
Signed-off-by: Karl Palsson <karlp@tweak.au>
It's simply a wrapper around rcc_reset_pulse already.
Just drop it. See 034dbf20ff for the same deletion for timers.
Signed-off-by: Karl Palsson <karlp@tweak.au>
A bunch of periphs on newer parts weren't defined. Add their
enable/reset bit definitions so they can be used.
Signed-off-by: Karl Palsson <karlp@tweak.au>
Updated to RM0444_rev5
Breaking: renames some irqs to be more specific and better match with
refman. We're still in the "between" tags, so break all the toys!
Signed-off-by: Karl Palsson <karlp@tweak.au>
Filed via: https://github.com/libopencm3/libopencm3/pull/1451
We've decided that the 1 based numbering is saner, and should be the new
norm going forwards, even though SAM3 and LPC both use zero based
numbering.
Reviewed-by: Karl Palsson <karlp@tweak.au>
Fixes: https://github.com/libopencm3/libopencm3/issues/1446
Fixes: 18f4d7c1b7 stm32f3: rtc: include correct shared header
No testing on real hardware, but the docs imply that this should have
always had the "basic" rtc-v2 peripheral.
Signed-off-by: Karl Palsson <karlp@tweak.net.au>