Josh Lloyd
59c1b7d4b8
esp32/boards: Split out CPU frequency config, make 160MHz the default.
...
Remove the 240MHz CPU config option from sdkconfig.base and create a new
sdkconfig.240mhz file for those boards that want to use 240MHz on boot.
The default CPU frequency is now 160MHz (was 240MHz), to align with the ESP
IDF and support more boards (eg those with D2WD chips).
Fixes issue #5169 .
2019-10-18 13:42:24 +11:00
Jim Mussared
25a228af7e
examples/bluetooth: Add basic BLE peripheral examples.
...
Consisting of:
- ble_advertising.py -- helper to generate advertising payload.
- ble_temperature.py -- simple temperature device.
- ble_uart_periperhal.py -- BLE UART wrapper.
- ble_uart_repl.py -- dupterm-compatible uart.
2019-10-18 13:36:51 +11:00
Jim Mussared
ebf8332104
extmod/re1.5: Support escaping within RE classes.
...
Fixes issues #3178 and #5220 .
Tests are added, including all the cases mentioned in both bugs.
2019-10-18 12:20:32 +11:00
Jeremy Herbert
7a7ee16ccf
esp32/machine_uart: Add ability to invert UART pins.
2019-10-18 12:05:16 +11:00
Damien George
69b238ec63
stm32/accel: Fix Accel.read() method so it does read a byte.
...
This bug was introduced in a0f7b4c678
2019-10-18 11:53:34 +11:00
Frederic.Pierson
925f244ab3
stm32/boards: Add NADHAT_PYB405 board.
2019-10-18 11:41:22 +11:00
Frederic.Pierson
28062b5108
stm32/accel: Add support for KXTJ3.
2019-10-18 11:41:22 +11:00
Damien George
3105207aff
stm32/accel: Rename MMA I2C macro constants to make it generic.
2019-10-18 11:35:32 +11:00
Damien George
4f2c737b0c
stm32/mpu: Save and restore the IRQ state when configuring MPU.
...
In case IRQs are already disabled during the MPU configuration.
Fixes issue #5152 .
2019-10-16 23:12:06 +11:00
Damien George
5954387858
drivers/onewire/ds18x20.py: Add support for DS1822 sensor.
...
DS1822P sensors behave just like the DS18B20 except for the following:
- it has a different family code: 0x22
- it has only the GND and DQ pins connected, it uses parasitic power from
the data line
Contributed by @nebelgrau77.
2019-10-16 14:28:13 +11:00
Volodymyr Shymanskyy
615d6b3c66
docs/wipy/tutorial: Link Blynk examples to the official library.
2019-10-16 14:20:31 +11:00
Mike Causer
a2c4cb484d
docs: Fix spelling in various parts of the docs.
2019-10-16 14:08:28 +11:00
Mike Causer
5a8f392f09
docs/esp8266: Add ntptime usage to esp8266 quickref.
2019-10-16 14:08:13 +11:00
Peter Hinch
c0b3419261
docs/library: Clarify relation between machine and port-specific mods.
2019-10-16 14:03:44 +11:00
Thiago Paes
5463ab6df6
docs/esp8266/tutorial: Make http_get sample function self contained.
2019-10-16 13:52:04 +11:00
Damien George
d1ed73ca8f
docs/library/bluetooth.rst: Fix typo in HR/UART services example.
2019-10-16 11:23:54 +11:00
iabdalkader
6e4468a2ab
stm32/adc: Fix sampling for internal channels on H7 MCUs.
...
Set to 810 cycles following HAL examples.
2019-10-15 22:08:45 +11:00
iabdalkader
4cee42d864
stm32/adc: Use IS_CHANNEL_INTERNAL macro to check for internal channels.
2019-10-15 22:08:36 +11:00
iabdalkader
d523a377d1
stm32/adc: Remove unused macro and channel check, and fix spacing.
...
The call to is_adcx_channel is redundant because the channel is already
checked just before calling adc_init_single in adc_make_new.
2019-10-15 22:04:19 +11:00
iabdalkader
cb2b210d45
stm32/adc: Update ADC driver to work with the new H7 HAL.
...
Use NB_TO_CHANNEL to map decimal numbers to channel numbers. And use the
correct rank to initialize channels (ADC_REGULAR_RANK_1).
2019-10-15 22:03:54 +11:00
Damien George
ce1de1faf0
esp32: Convert to use FROZEN_MANIFEST to specify frozen code.
...
All symlinks are removed. boards/manifest.py is used as a default, and can
optionally use boards/manifest_release.py for more scripts.
2019-10-15 21:37:02 +11:00
Damien George
2e90ff7fa8
qemu-arm: Convert to use FROZEN_MANIFEST to specify frozen code.
2019-10-15 21:36:55 +11:00
Damien George
287800d6e1
stm32: Convert to use FROZEN_MANIFEST to specify frozen code.
...
All symlinks are removed, frozen files are now referenced via
boards/manifest.py.
2019-10-15 21:36:24 +11:00
Damien George
2fd3f2520d
esp8266: Convert to use FROZEN_MANIFEST to specify frozen code.
...
Removes symlinks in modules directory, all frozen code is now specified by
manifest.py.
2019-10-15 21:36:02 +11:00
Damien George
b1c0355b93
unix: Convert to use FROZEN_MANIFEST to specify frozen code.
...
Removes symlinks in modules directory, all frozen code is now specified by
manifest.py.
2019-10-15 21:35:27 +11:00
Damien George
e81f538e25
tools: Add mechanism to provide a manifest of frozen files.
...
This introduces a new build variable FROZEN_MANIFEST which can be set to a
manifest listing (written in Python) that describes the set of files to be
frozen in to the firmware.
2019-10-15 21:34:23 +11:00
Damien George
8e8cfa6f53
tools/make-frozen.py: Allow to run with no directory passed in.
...
In which case it will just emit empty frozen C definitions.
2019-10-15 21:33:49 +11:00
Damien George
8f7f671236
extmod/modbluetooth: In gap_advertise only accept None to stop adv.
...
To match the docs, and interval=0 may be used in the future to indicate
something else.
2019-10-15 17:29:27 +11:00
Jim Mussared
36502bdfdc
extmod/modbluetooth: Make gap_disconnect not raise when disconnected.
...
Previously it raised OSError(MP_ENOTCONN) if the conn_handle was already
disconnected. Now it returns True/False.
2019-10-15 17:22:53 +11:00
Jim Mussared
ea315d7d58
docs/library/bluetooth.rst: Explain how to increase char buffer size.
2019-10-15 17:22:45 +11:00
Jim Mussared
4b2b05718a
esp32: Run NimBLE on the app core.
...
This prevents issues with concurrent access to the ringbuf.
MICROPY_BEGIN_ATOMIC_SECTION is only atomic to the same core. We could
address this with a mutex, but it's also not safe to call mp_sched_schedule
across cores.
2019-10-15 17:22:15 +11:00
Jim Mussared
423e67d0a0
extmod/modbluetooth: Improve ringbuf handling.
...
No need to share the irq_data buffer with addresses. Split them into two
separate buffers and manage their max length independently.
2019-10-15 17:22:07 +11:00
Jim Mussared
cb73103f57
extmod/modbluetooth: Fix order of params to IRQ_GATTS_WRITE event.
2019-10-15 17:22:01 +11:00
Jim Mussared
62e3a966fb
docs/library/bluetooth.rst: Clarify gap_advertise adv_data behavior.
...
Make it clear that the previous adv_data will be reused if it's not set.
And some minor other improvements.
2019-10-15 17:21:32 +11:00
Jim Mussared
ba16a22991
extmod/modbluetooth: Clear gap_advertise payload when data is empty.
...
Also fix default adv interval to 500ms.
2019-10-15 17:21:17 +11:00
Jim Mussared
418f12c5f5
extmod/modbluetooth: Increase maximum connections from 1 to 4.
...
This avoids a confusing ENOMEM raised from gap_advertise if there is
currently an active connection. This refers to the static connection
buffer pre-allocated by Nimble (nothing to do with MicroPython heap
memory).
2019-10-15 17:20:25 +11:00
Damien George
f562f94e1c
travis: Use "make submodules" to init required modules for each port.
2019-10-15 17:14:41 +11:00
Damien George
d7a9388fe0
ports: Add new make target "submodules" which inits required modules.
2019-10-15 17:14:41 +11:00
Damien George
3ee71ff314
minimal/frozentest.mpy: Recompile now that mpy format changed.
2019-10-15 16:58:58 +11:00
Damien George
23f0691fdd
py/persistentcode: Make .mpy more compact with qstr directly in prelude.
...
Instead of encoding 4 zero bytes as placeholders for the simple_name and
source_file qstrs, and storing the qstrs after the bytecode, store the
qstrs at the location of these 4 bytes. This saves 4 bytes per bytecode
function stored in a .mpy file (for example lcd160cr.mpy drops by 232
bytes, 4x 58 functions). And resulting code size is slightly reduced on
ports that use this feature.
2019-10-15 16:56:27 +11:00
Damien George
858e992d2e
tests/run-perfbench.py: Skip complex tests if target doesn't enable it.
2019-10-15 16:46:06 +11:00
Jim Mussared
f1882636c0
tests/run-perfbench.py: Show error when truth check fails.
2019-10-15 16:38:11 +11:00
Jim Mussared
cfd17f4ebe
tests/perf_bench: Add bm_fft test.
...
This is mostly a test of complex number performance.
The FFT implementation is from Project Nayuki and is MIT licensed.
2019-10-15 16:38:11 +11:00
Jim Mussared
a93495b66d
docs/reference/glossary.rst: Add new terms and reduce complexity of old.
2019-10-15 16:36:02 +11:00
Damien George
e0befd9e04
top: Add CODEOFCONDUCT.md document based on the PSF code of conduct.
2019-10-15 16:18:46 +11:00
Jim Mussared
d5cbee3cfb
esp32: Add 4.x version of IDLE WDT config.
2019-10-11 14:30:47 +11:00
Jim Mussared
dc82bee298
docs/library/bluetooth: Add initial BLE documentation.
2019-10-11 14:03:01 +11:00
Jim Mussared
76f474129e
extmod/modbluetooth: Use us instead of ms for advertising interval.
...
This is to more accurately match the BLE spec, where intervals are
configured in units of channel hop time (625us). When it was
specified in ms, not all "valid" intervals were able to be
specified.
Now that we're also allowing configuration of scan interval, this
commit updates advertising to match.
2019-10-11 13:51:07 +11:00
Jim Mussared
b65cc387cd
extmod/modbluetooth: Allow config of scan interval/window.
...
This adds two additional optional kwargs to `gap_scan()`:
- `interval_us`: How long between scans.
- `window_us`: How long to scan for during a scan.
The default with NimBLE is a 11.25ms window with a 1.28s interval.
Changing these parameters is important for detecting low-frequency
advertisements (e.g. beacons).
Note: these params are in microseconds, not milliseconds in order
to allow the 625us granularity offered by the spec.
2019-10-11 13:51:07 +11:00
ladyada
06ae818f93
stm32/boards: Add new board ADAFRUIT_F405_EXPRESS.
2019-10-11 11:50:36 +11:00