Commit Graph

3380 Commits

Author SHA1 Message Date
Lucian Copeland
356b1a8d6d Finish common-hal pin API 2020-07-24 12:29:18 -04:00
hierophect
c735dceed5
Merge pull request #3099 from hierophect/stm32-timer-allocator
STM32: Add timer allocator, PulseIO adjustments
2020-07-24 11:16:39 -04:00
Scott Shawcroft
060ab8a1f0
Merge pull request #3194 from tannewt/gcc10
Prep for GCC10
2020-07-23 14:39:21 -07:00
Scott Shawcroft
6a46fd5b91
Merge pull request #3185 from hierophect/esp32-pulseio
ESP32-S2: PWMOut
2020-07-23 13:11:33 -07:00
Lucian Copeland
cf0a4d208e Fix unintended timer reset, style changes 2020-07-23 14:01:10 -04:00
Scott Shawcroft
2bd6d05663
Add externs. GCC10 complains about duplicate defines 2020-07-22 16:26:46 -07:00
Lucian Copeland
61a2e4f94b Add PWMOut 2020-07-22 16:34:18 -04:00
Lucian Copeland
c1f731d62e Claim USB pins at startup to prevent overwrites 2020-07-22 14:22:05 -04:00
hierophect
e232ec10ce
Merge branch 'main' into stm32-timer-allocator 2020-07-22 13:59:39 -04:00
Lucian Copeland
138189bad1 Free timers when modules de-init 2020-07-22 13:58:57 -04:00
Scott Shawcroft
8ff2846bb2
Disable countio on circuitbrains basic 2020-07-21 16:21:49 -07:00
Scott Shawcroft
cb7df2e1ed
Merge pull request #3160 from tannewt/enable_pystack
Enable PYSTACK to keep function state out of the heap
2020-07-21 13:38:52 -07:00
Scott Shawcroft
5e3a853db4
Turn off GC opt on uchip board 2020-07-21 12:51:59 -07:00
Scott Shawcroft
678faff464
Be more aggressive with uChip build 2020-07-21 11:02:23 -07:00
Scott Shawcroft
0c6935e336
Merge branch 'main' into disable_network 2020-07-20 16:28:22 -07:00
Scott Shawcroft
12edb57aac
Merge pull request #3166 from theacodes/bhb-adc
Add _bhb user module for Big Honking Button
2020-07-20 16:24:36 -07:00
Thea Flowers
7ba89f5330 Add _bhb user module for Big Honking Button
BHB needs better accuracy from the ADC readings. To avoid changing the ADC configuration for all boards or adding complexity to AnalogIn, I implemented a custom user module to allow the BHB to talk to the ADC in the way that it needs to. I'm open to other approaches here, but this seemed like the least invasive and complex option.
2020-07-18 22:45:08 -07:00
Radomir Dopieralski
11ef43b071 pewpew_m4: Disable USB_HID back
German translation fails to build, so I have to disabled USB_HID after
all.
2020-07-18 20:09:30 +02:00
Radomir Dopieralski
8d692f33a8 pewpew_m4: Enable analogio and usb_hid
The newest version for the Stage library for PewPewM4 no longer contains
embedded graphics, which frees enough space in flash to enabled back
AnalogIO and also add USB_HID. There is still ~192 bytes left free.

If new additions to CircuitPython make it grow further, we can disable
USB_HID again.
2020-07-18 19:30:40 +02:00
Scott Shawcroft
610e0171aa
Disable existing native networking.
We're moving towards a co-processor model and a Wiznet library is
already available.

New native APIs will replace these for chips with networking like the
ESP32S2 but they won't be these.
2020-07-17 17:43:02 -07:00
Lucian Copeland
207369ec09 Add boilerplate, create basic PWMOut test 2020-07-17 17:28:23 -04:00
Jeff Epler
9cdf5e148a
Merge pull request #2879 from jepler/background-callback
Use a linked list of background tasks to perform
2020-07-17 15:46:03 -05:00
Jeff Epler
6912d31560 uchip: reclaim some flash space 2020-07-17 14:32:05 -05:00
Lucian Copeland
dc6902a33e Exclude timers from H7 builds 2020-07-16 17:11:24 -04:00
Lucian Copeland
6a49766df0 Fix pulseIO reset and frequency issues, remove IRQ conflict 2020-07-16 15:45:18 -04:00
Scott Shawcroft
72f6d7ee21
Merge pull request #3155 from jepler/esp32s2-parallel-build
esp32s2: Take care to invoke the sub-build-system only once
2020-07-16 11:26:53 -07:00
Scott Shawcroft
7bb508bf43
Merge pull request #3157 from tinkeringtech/tinkeringtech-scoutmakes-azul
Addition of Tinkeringtech ScoutMakes Azul nRF52840 based platform to CircuitPython
2020-07-16 11:03:31 -07:00
TinkeringTech
49fcfd14d2 Added the TinkeringTech ScoutMakes Azul platform to CircuitPython 2020-07-15 21:49:34 -04:00
Jeff Epler
1df48176ce supervisor: factor supervisor_background_tasks from sundry ports 2020-07-15 11:49:44 -05:00
Jeff Epler
6160d11c5a supervisor: factor out, Handle USB via background callback 2020-07-15 11:49:44 -05:00
Jeff Epler
a2919a6fb2 esp32s2: Use the device's EUI-48 address as unique ID
On my hardware, esptool reports
    MAC: 7c:df:a1:02:6c:b8
after this change, the USB descriptor says SerialNumber: 7CDFA1026CB8
and microcontroller.cpu.id has
    >>> "".join("%02x" % byte for byte in microcontroller.cpu.uid)
    'c7fd1a20c68b'

Note that the nibble-swapping between USB and cpu.uid is typical.
For instance, an stm32 board has USB SerialNumber
24002500F005D42445632302 but hex-converted microcontroller.cpu.id
420052000f504d4254363220.
2020-07-15 11:45:13 -05:00
Jeff Epler
910f69c42b esp32s2: Take care to invoke the sub-build-system only once
This allows "make -j" in the outer build system to function properly,
with a potentially large decrease in build times on high end desktop
systems.
2020-07-15 10:30:07 -05:00
Jeff Epler
742aa740f6 samd: audio: Move to background callback
Testing performed: Played half of the Bartlebeats album :) :)
2020-07-15 09:26:47 -05:00
Jeff Epler
dc74ae83da nRF: Always use sd_nvic_critical_region calls
The motivation for doing this is so that we can allow
common_hal_mcu_disable_interrupts in IRQ context, something that works
on other ports, but not on nRF with SD enabled.  This is because
when SD is enabled, calling sd_softdevice_is_enabled in the context
of an interrupt with priority 2 or 3 causes a HardFault.  We have chosen
to give the USB interrupt priority 2 on nRF, the highest priority that
is compatible with SD.

Since at least SoftDevice s130 v2.0.1, sd_nvic_critical_region_enter/exit
have been implemented as inline functions and are safe to call even if
softdevice is not enabled.  Reference kindly provided by danh:
 https://devzone.nordicsemi.com/f/nordic-q-a/29553/sd_nvic_critical_region_enter-exit-missing-in-s130-v2

Switching to these as the default/only way to enable/disable interrupts
simplifies things, and fixes several problems and potential problems:
 * Interrupts at priority 2 or 3 could not call common_hal_mcu_disable_interrupts
   because the call to sd_softdevice_is_enabled would HardFault
 * Hypothetically, the state of sd_softdevice_is_enabled
   could change from the disable to the enable call, meaning the calls
   would not match (__disable_irq() could be balanced with
   sd_nvic_critical_region_exit).

This also fixes a problem I believe would exist if disable() were called
twice when SD is enabled.  There is a single "is_nested_critical_region"
flag, and the second call would set it to 1.  Both of the enable()
calls that followed would call critical_region_exit(1), and interrupts
would not properly be reenabled.  In the new version of the code,
we use our own nesting_count value to track the intended state, so
now nested disable()s only call critical_region_enter() once, only
updating is_nested_critical_region once; and only the second enable()
call will call critical_region_exit, with the right value of i_n_c_r.

Finally, in port_sleep_until_interrupt, if !sd_enabled, we really do
need to __disable_irq, rather than using the common_hal_mcu routines;
the reason why is documented in a comment.
2020-07-15 09:26:47 -05:00
Lucian Copeland
818b96ae61 Fix IRQ enum protections 2020-07-14 16:33:36 -04:00
Scott Shawcroft
90ad9beff5
Merge pull request #3136 from xiongyihui/master
Add 2 boards nRF52840 M.2 devkit and M60 Keyboard
2020-07-13 17:14:18 -07:00
Scott Shawcroft
51c888d4be
Merge pull request #3003 from Flameeyes/master
License tagging according to REUSE specifications.
2020-07-13 16:28:49 -07:00
Scott Shawcroft
d712d1281c
Merge branch 'main' into master 2020-07-13 15:53:44 -07:00
Dan Halbert
3fcd999130
Merge pull request #3130 from pewpew-game/brownout-level
SAMD: make the brownout detection level configurable per board
2020-07-13 16:26:11 -04:00
Lucian Copeland
b8910676db Add missing enum preprocessor protection 2020-07-13 11:52:30 -04:00
Yihui Xiong
c8752ff93e use RGB LEDs as status indicators 2020-07-11 21:25:32 +08:00
Yihui Xiong
8e26fdc0e9 add LED status, remove unused macros 2020-07-11 10:51:31 +08:00
Radomir Dopieralski
742f9cfdb0 Fluff M0: additional pins on version 1.3 of the board 2020-07-10 20:40:58 +02:00
Yihui Xiong
7ff499046b use VID & PIDs granted by Seeed 2020-07-11 00:37:45 +08:00
Lucian Copeland
eb86010176 Enable RGB Matrix 2020-07-10 11:06:12 -04:00
Scott Shawcroft
0068c76fa6
Merge pull request #3135 from arms22/bless_dev_board_multi_sensor
Add new board BLE-SS dev board Multi Sensor
2020-07-09 10:29:57 -07:00
Lucian Copeland
edc48a505f Complete F405 pin and periph definitions 2020-07-09 13:10:18 -04:00
Lucian Copeland
2bcc5c06c2 Fix advanced claimed pin/package timer search 2020-07-09 11:42:37 -04:00
Yihui Xiong
678f266394 fix pre-commit check 2020-07-09 10:25:46 +00:00
Radomir Dopieralski
e0733d153e SAMD: configurable brownout, separate the variables 2020-07-09 12:17:07 +02:00