Jim Mussared
2c1f269918
extmod/modbluetooth_nimble: Use data_alloc
length to truncate writes.
...
This allows the maximum size of a characteristic/descriptor to be
increased by locally writing to it first.
2019-10-22 14:30:23 +11:00
Jim Mussared
f34e16dbc6
extmod/modbluetooth: Persist reference to NimBLE service instances.
...
NimBLE doesn't actually copy this data, it requires it to stay live.
Only dereference when we register a new set of services.
Fixes #5226
This will allow incrementally adding services in the future, so
rename `reset` to `append` to make it clearer.
2019-10-22 14:30:23 +11:00
Jim Mussared
c7ae8c5a99
py/objstr: Size-optimise failure path for mp_obj_str_get_buffer.
...
These fields are never looked at if the function returns non-zero.
2019-10-22 13:54:09 +11:00
Jim Mussared
3e1af5b36f
examples/bluetooth: Use UUIDs directly to add services to adv payload.
2019-10-22 13:54:09 +11:00
Jim Mussared
56fc3edf98
extmod/modbluetooth: Make UUID support the buffer protocol.
...
Internally change the representation of UUIDs to LE uint8* to simplify this.
This allows UUIDs to be easily used in BLE payloads (such as advertising).
Ref: #5186
2019-10-22 13:54:05 +11:00
Damien George
f1d91908fa
esp8266/boards: Add manifest_release.py with files for a release.
...
A release also sets: UART_OS = -1
2019-10-22 00:23:22 +11:00
Jim Mussared
912892b209
esp32: Add missing and necessary newline at EOF for sdkconfig.240mhz.
...
When these files get concatenated the newline-at-EOF is necessary so that
the start of the next file doesn't join with the end of the previous.
2019-10-21 23:54:59 +11:00
clach04
ffd11486d4
tests/cpydiff: Fix typo in types_bytes_keywords.py doc comments.
2019-10-21 23:25:09 +11:00
Jim Mussared
93bd61ca91
unix: Allow building without a manifest.
2019-10-21 23:21:18 +11:00
Jim Mussared
df7f632fd7
esp8266: Allow building without a manifest.
2019-10-21 23:21:14 +11:00
Jim Mussared
7662501d5b
py/mkrules.mk: Add warning/error for invalid frozen config.
2019-10-21 23:21:04 +11:00
Jim Mussared
8ba963cfa3
tools/makemanifest.py: Eval relative paths w.r.t. current manifest file.
...
When loading a manifest file, e.g. by include(), it will chdir first to the
directory of that manifest. This means that all file operations within a
manifest are relative to that manifest's location.
As a consequence of this, additional environment variables are needed to
find absolute paths, so the following are added: $(MPY_LIB_DIR),
$(PORT_DIR), $(BOARD_DIR). And rename $(MPY) to $(MPY_DIR) to be
consistent.
Existing manifests are updated to match.
2019-10-21 23:01:41 +11:00
Damien George
12413e92a3
stm32/powerctrlboot: Fix config of systick IRQ priority on F0/L0/WB MCU.
...
Prior to this commit the systick IRQ priority was set at lowest priority on
F0/L0/WB MCUs, because it was left at the default and never configured.
This commit ensures the priority is configured and sets it to the highest
priority.
2019-10-21 12:23:41 +11:00
Josh Lloyd
8f9e2e325a
py/objtype: Add type.__bases__ attribute.
...
Enabled as part of MICROPY_CPYTHON_COMPAT.
2019-10-18 15:20:56 +11:00
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