Commit Graph

338 Commits

Author SHA1 Message Date
Hierophect
352bd95f5a remove blackpill 2019-11-22 11:19:39 -05:00
Hierophect
0d8eb3cfb4 add correct VID/PID pairs 2019-11-22 10:54:35 -05:00
Hierophect
6a7c8d6341 minor fix 2019-11-21 20:56:05 -05:00
Hierophect
b5ff9684bb remove misplaced status LED definitions 2019-11-21 17:09:28 -05:00
Hierophect
4e4ecafd97 Add definitions for PYB Nano and blackpill 2019-11-21 16:53:06 -05:00
Hierophect
a96317d566 requested style changes 2019-11-21 14:30:07 -05:00
Hierophect
13d786b2ef added pin defs 2019-11-21 14:27:59 -05:00
Hierophect
006182f4e8 Remove meowbit for now 2019-11-20 15:56:00 -05:00
Hierophect
d8d95d9998 Minor meowbit changes 2019-11-20 15:55:13 -05:00
Hierophect
cf4a3237e7 Merge remote-tracking branch 'upstream/master' into stm32-meowbit-etc 2019-11-20 15:31:55 -05:00
Hierophect
9764006f81 add F401 pin definition 2019-11-20 15:30:31 -05:00
Hierophect
3d1b6d9fc8 fix typo 2019-11-20 12:07:12 -05:00
Hierophect
bd9893ab98 clean up SPI module readability 2019-11-20 12:00:45 -05:00
Hierophect
0b558e8714 fix error in SPI busclock selection 2019-11-20 11:34:49 -05:00
Dan Halbert
1a22d8a0f2
Merge pull request #2291 from hierophect/stm32-neopixel
STM32: Neopixel support
2019-11-18 23:45:09 -05:00
Hierophect
4a25c2344e implement os urandom 2019-11-18 18:27:25 -05:00
Hierophect
256abf5505 Add board folders 2019-11-18 16:13:27 -05:00
Hierophect
a4797327cd add microcontroller toggles for status LED 2019-11-18 13:51:59 -05:00
Jeff Epler
7f744a2369 Supervisor: move most of systick to the supervisor
This code is shared by most parts, except where not all the #ifdefs
inside the tick function were present in all ports.  This mostly would
have broken gamepad tick support on non-samd ports.

The "ms32" and "ms64" variants of the tick functions are introduced
because there is no 64-bit atomic read.  Disabling interrupts avoids
a low probability bug where milliseconds could be off by ~49.5 days
once every ~49.5 days (2^32 ms).

Avoiding disabling interrupts when only the low 32 bits are needed is a minor
optimization.

Testing performed: on metro m4 express, USB still works and
time.monotonic_ns() still counts up
2019-11-18 11:01:23 -06:00
Hierophect
51078cc38f timing tweaks with testing 2019-11-15 17:17:05 -05:00
Hierophect
98fd372d5b Add missing define 2019-11-15 13:19:37 -05:00
Hierophect
e1579a1cc5 Merge branch 'pin-commonhal-additions' into stm32-neopixel 2019-11-15 12:47:23 -05:00
Hierophect
de5691acf5 Add never_reset and reset to pin common hal, adjust files 2019-11-15 12:47:00 -05:00
Hierophect
6cce2d6d14 Implement Neopixel write, add defaults to f405 2019-11-15 12:28:16 -05:00
Hierophect
6e96b1945e Raise clock speed, adjust divisors 2019-11-13 13:18:43 -05:00
Dan Halbert
166518fc9b
Merge pull request #2272 from hierophect/stm32-microcontroller-fillout
STM32: add us delay
2019-11-12 18:03:55 -05:00
Hierophect
e40bd07fcf fix conflicting definitions on discovery boards 2019-11-12 13:03:13 -05:00
Hierophect
bbc366b85b Style overhaul, extra error checks 2019-11-12 11:26:14 -05:00
Hierophect
ed3e377390 Merge remote-tracking branch 'upstream/master' into stm32-uart 2019-11-12 09:49:17 -05:00
Hierophect
14b70806a5 de-init check 2019-11-11 15:47:47 -05:00
Hierophect
e076f14ea3 text fixes 2019-11-11 15:32:47 -05:00
Hierophect
c38086fc4a fix typo 2019-11-11 15:04:22 -05:00
Hierophect
3f8b4727f5 Revise us delay to include interrupt/non-interrupt versions 2019-11-11 14:58:45 -05:00
Hierophect
d42c4b082d revert sublime being a dumb 2019-11-06 14:55:16 -05:00
Hierophect
39dbcb529a revert git being a dumb 2019-11-06 14:54:07 -05:00
Hierophect
adfef8b520 Merge remote-tracking branch 'upstream/master' into stm32-dac-deinit 2019-11-06 14:46:56 -05:00
Dan Halbert
b8373aca0c
Merge pull request #2266 from hierophect/stm32-defaults
STM32: Add board defaults
2019-11-06 14:29:29 -05:00
Hierophect
e66fcb5e1f add missing newline 2019-11-05 16:32:34 -05:00
Hierophect
8a098c154d Fix unsaved file 2019-11-05 16:25:30 -05:00
Hierophect
1a7060af25 Add us delay 2019-11-05 16:23:59 -05:00
Hierophect
0b85c4bb20 Merge remote-tracking branch 'upstream/master' into stm32-uart 2019-11-05 10:56:57 -05:00
Hierophect
dfe73a063d Fix error that would carry past python exception 2019-11-05 10:50:57 -05:00
Dan Halbert
f185b30d71
Update PWMOut.h 2019-11-04 20:41:54 -05:00
Hierophect
38e38b9f8d remove redundant comment 2019-11-04 17:20:10 -05:00
Hierophect
632b3267dc Add auto-shutoff of DAC when channels de-inited 2019-11-04 17:08:00 -05:00
Hierophect
9d4c95deeb Revert "Add default defines"
This reverts commit 15d8d88950.
2019-11-04 16:45:19 -05:00
Hierophect
40f920fbdf complete attribution edits 2019-11-04 14:39:41 -05:00
Hierophect
ca1eb4def1 Add other board globals 2019-11-04 14:35:23 -05:00
Hierophect
2111a7c4cf Merge branch 'master' into stm32-defaults 2019-11-04 14:32:00 -05:00
Hierophect
3526fed611 add board global 2019-11-04 14:31:57 -05:00
Hierophect
15d8d88950 Add default defines 2019-11-04 14:15:26 -05:00
Hierophect
ccff7e70ca Style changes and refactors 2019-11-04 11:30:49 -05:00
Hierophect
1c4f49bb83 attribution changes 2019-11-03 16:33:01 -05:00
Hierophect
8d0cc71aee Add write protections, fix edge case read halt 2019-11-01 17:00:01 -04:00
Hierophect
e605ce6317 Debugging additions 2019-11-01 14:30:28 -04:00
Hierophect
0a1a12b867 Revise PWM period generation algorithm to match other ports 2019-10-31 16:59:44 -04:00
Hierophect
c78d79938d remove debug output 2019-10-30 17:07:16 -04:00
Hierophect
a8070a4185 Revise IRQ managment, add restart on failure 2019-10-30 16:59:53 -04:00
Hierophect
bb8046dbb3 remove debug messages 2019-10-30 10:00:50 -04:00
Hierophect
6b0cb87cbf Dynamic prescaler adjustment, adjust pulse resolution 2019-10-29 17:17:26 -04:00
Hierophect
4de5a33a43 Style changes 2019-10-29 10:24:26 -04:00
Hierophect
33deb6752b Add harder resets to UART 2019-10-29 09:41:52 -04:00
Hierophect
3034cfc82f Merge remote-tracking branch 'upstream/master' into stm32-uart 2019-10-28 12:16:01 -04:00
Hierophect
c0f1ce590e Add support across dev boards 2019-10-27 20:17:10 -04:00
Hierophect
7fd5e9b867 Fix issue with changing frequency 2019-10-27 19:41:01 -04:00
Hierophect
0cd8c3d5a8 Add all basic functions, never reset, dynamic pulse changes 2019-10-27 19:17:01 -04:00
Hierophect
cb491e855c WIP 2019-10-27 14:31:25 -04:00
Hierophect
cf7efee0d3 Add f405 pindefs 2019-10-24 18:00:50 -04:00
Hierophect
7f769580bd Merge remote-tracking branch 'upstream/master' into stm32-PWM 2019-10-24 14:11:51 -04:00
Hierophect
511071e1ba Rename feather across folders and config, fix makefile def issue 2019-10-24 12:51:40 -04:00
Hierophect
64337775f8 PWM Base functionality testing for F405 2019-10-24 12:43:34 -04:00
Hierophect
1d8a75fa3f minor WIP 2019-10-22 13:11:45 -04:00
Hierophect
ca4b7f81e5 Initial template setup 2019-10-22 11:09:46 -04:00
Hierophect
a596213526 non-functional WIP 2019-10-21 17:06:40 -04:00
Dan Halbert
7b79ac3739 Parameterize linker script 2019-10-20 23:50:12 -04:00
Hierophect
af28474b06 IRQ priority and port clearing scratchwork 2019-10-18 14:10:41 -04:00
Kamil Tomaszewski
96756b3945 Add functions to get top and limit stack 2019-10-18 11:04:45 +02:00
Hierophect
14c64159c8 Implement requested changes, refactors 2019-10-16 13:50:54 -04:00
Hierophect
323fe418f7 Add support for other F4 MCUs 2019-10-16 13:14:57 -04:00
Hierophect
552900f18e Merge remote-tracking branch 'upstream/master' into stm32-uart 2019-10-16 12:33:31 -04:00
Hierophect
b4a6246e30 Cleanup 2019-10-16 12:32:34 -04:00
Hierophect
14eefaafee Hack in interrupt support 2019-10-16 11:33:55 -04:00
Dan Halbert
c1ab2486f9 return chip vcc value 2019-10-12 15:42:15 -04:00
Hierophect
1140ff5cd5 WIP 2019-10-11 15:47:55 -04:00
Hierophect
bfebbaee32 Merge remote-tracking branch 'upstream/master' into stm32-uart 2019-10-10 14:28:19 -04:00
Hierophect
06b2fed518 improve macro readability 2019-10-09 16:06:23 -04:00
hierophect
4ce7a4cfdb
Merge branch 'master' into stm32-DAC 2019-10-09 15:47:43 -04:00
Hierophect
5f33c542b4 Fix include issues 2019-10-09 14:52:30 -04:00
Hierophect
8a94f25181 Text fixes 2019-10-09 13:54:40 -04:00
Hierophect
cb0ed264c4 Implement DAC 2019-10-09 13:34:20 -04:00
Hierophect
f58d54cd22 Preliminary read system, not buffered 2019-10-08 16:03:51 -04:00
Hierophect
cc3a17845c Fix USB issues, frequency macro, F412 tests 2019-10-07 14:22:12 -04:00
hierophect
59ed879c8f
Merge pull request #2197 from hierophect/always-build-modules
Sort some modules into ALWAYS-BUILD in mpconfig
2019-10-07 09:09:28 -04:00
Hierophect
0b85172ba6 WIP 2019-10-04 14:37:18 -04:00
Hierophect
51901f7de0 Add peripheral definitions 2019-10-04 11:42:38 -04:00
Hierophect
dc4abb922b Revert accidental OS delete 2019-10-03 15:40:46 -04:00
hierophect
f4922a530a
Merge pull request #2186 from hierophect/stm32-spi-flash
STM32: SPI Flash
2019-10-03 15:32:56 -04:00
Hierophect
7a2f60c43d Add Always Build flag, remove redundancy 2019-10-03 15:23:45 -04:00
Hierophect
eacdb1da6e Disable timeout, remove redundancy 2019-10-03 14:43:25 -04:00
Dan Halbert
463415a7ef update stm32f4 port to use tinyusb synopsys tree 2019-10-03 13:26:03 -04:00
Hierophect
83c49a5c80 Increase SPI timeout duration 2019-10-03 09:14:54 -04:00
Hierophect
5a6194839b Timeout fix for I2C device testing 2019-10-02 17:59:42 -04:00
Hierophect
86305bfdfe Make all errors value errors 2019-10-02 17:32:54 -04:00
Hierophect
9aa6d215fd Add some definitions for when F412 can be implemented 2019-10-02 16:03:22 -04:00
Hierophect
5a2f82095a Implement SPI flash settings, bugfix for SPI pin assignment 2019-10-02 15:17:49 -04:00
Hierophect
b66700720b improve error readability 2019-09-30 18:05:07 -04:00
Hierophect
1f90cffc89 protect against edge case 2019-09-30 13:33:20 -04:00
Hierophect
56eb9666ea Implement never-reset, fix F412 2019-09-30 11:35:40 -04:00
Hierophect
a475b667b5 Clean up debugging messages, remove shortcuts 2019-09-30 11:04:09 -04:00
Hierophect
492bc3eedc Expand pin definitions for all boards 2019-09-30 10:45:02 -04:00
Hierophect
e2d0ad6adc Add settings reconfiguration 2019-09-29 15:01:32 -04:00
Hierophect
bf7b841020 Further reversion 2019-09-29 13:22:12 -04:00
Hierophect
89315999e2 Fix bad returns, revert flash changes 2019-09-29 13:18:43 -04:00
Hierophect
270396a882 Refine SPI settings for testing 2019-09-29 13:01:27 -04:00
Hierophect
d7443fce54 First implementation of read write 2019-09-27 17:59:55 -04:00
Hierophect
ad33950966 Flash memory changes - non functional 2019-09-27 11:00:09 -04:00
Hierophect
51df8d18b4 Merge remote-tracking branch 'upstream/master' into stm32-spi 2019-09-26 13:44:24 -04:00
hierophect
f4a31a7843
Update PID to suggestion
USB_PID = 0x805C (Pyboard

Co-Authored-By: Scott Shawcroft <scott@tannewt.org>
2019-09-26 11:38:08 -04:00
Hierophect
f08127bfcc WIP 2019-09-26 11:35:08 -04:00
Hierophect
a926d01509 reorganize pins 2019-09-25 11:53:49 -04:00
Hierophect
f286737868 add peripheral definitions 2019-09-25 11:37:27 -04:00
Hierophect
6058677979 whitespace fix 2019-09-24 16:10:43 -04:00
Hierophect
742e747609 Implement another USB ID 2019-09-24 14:53:56 -04:00
Hierophect
c3baf286c1 Implement correct USB IDs 2019-09-24 14:51:57 -04:00
Hierophect
d597410330 implement suggested changes 2019-09-24 14:15:04 -04:00
Hierophect
dc1109dba7 add feather support 2019-09-24 14:07:03 -04:00
Hierophect
61a45cdaed clock fixes 2019-09-24 13:17:46 -04:00
Hierophect
31a22858d5 text fixes 2019-09-24 10:05:40 -04:00
Hierophect
2b65a0e95f WIP 2019-09-23 17:40:28 -04:00
Hierophect
f1cd1c5d4d minor edits 2019-09-23 13:30:37 -04:00
Hierophect
19cf716461 Fix missing items 2019-09-23 12:14:27 -04:00
Hierophect
60bb6acf38 Add F405 support 2019-09-23 11:59:14 -04:00
Hierophect
fd1a257df3 Merge branch 'master' into stm32-f405-support 2019-09-23 09:36:03 -04:00
Limor "Ladyada" Fried
7f1bc48a88
Merge pull request #2173 from hierophect/stm32-os
STM32: Add OS and Struct support
2019-09-20 16:42:31 -04:00
Hierophect
200c474a13 correct typo 2019-09-20 15:55:11 -04:00
Hierophect
00f1e4f1ad WIP 2019-09-20 15:54:34 -04:00
Limor "Ladyada" Fried
8d16379634
Merge pull request #2151 from hierophect/stm32-peripherals
STM32: peripheral management
2019-09-20 15:40:25 -04:00
Hierophect
9af5f3a7a7 Add OS and struct support 2019-09-20 14:51:23 -04:00
Hierophect
ef15ebe8c7 Repeated initialization protection, cleanup 2019-09-20 14:33:37 -04:00
Hierophect
7cea078494 Added existance check 2019-09-20 12:39:48 -04:00
Hierophect
18c5be8835 QOL pin adds 2019-09-19 17:01:25 -04:00
Hierophect
9da5723c59 F412 support, cleanup 2019-09-19 16:32:38 -04:00
Hierophect
c12860ff7d the code equivalent of smacking something really hard with a wrench 2019-09-19 16:10:26 -04:00
Hierophect
b325eadc33 various failed attempts to get I2C to reset 2019-09-19 16:02:52 -04:00
Hierophect
d56b62e44c Fix crash related to improper instance assignment 2019-09-19 14:15:12 -04:00
Hierophect
c85873e4e6 index fix 2019-09-19 12:45:47 -04:00
Hierophect
60985968a8 Reorganize storage to per-pin 2019-09-19 12:18:18 -04:00
Hierophect
12cd009bb9 WIP 2019-09-18 16:49:15 -04:00
Hierophect
bf62477ff9 Merge branch 'stm32-analogio' into stm32-peripherals 2019-09-18 13:45:22 -04:00
Hierophect
cd5ec365d3 Cleanup 2019-09-18 13:44:08 -04:00