Commit Graph

689 Commits

Author SHA1 Message Date
Laurens Valk
6503cd47af docs/library/struct: Fix buffer argument description.
The buffer is the data in this case. There is no buffer argument.

Signed-off-by: Laurens Valk <laurens@pybricks.com>
2022-12-06 17:46:42 +11:00
yn386
a74e4fabeb stm32/i2c: Fix I2C frequency calc so it doesn't exceed requested rate.
Prior to this commit, the actual I2C frequency can be faster than specified
one and it may exceed the I2C's specification for Fast Mode.  The frequency
of SCL should be less than or equal to 400KHz in Fast Mode.

This commit fixes this issue for F4 MCUs by rounding up the division in the
frequency calculation.
2022-11-18 14:25:19 +11:00
TPReal
859d0e9529 docs/library/framebuf: Clarify docs for blit regarding palette.
Clarified the behaviour when both key and palette are specified.
2022-11-17 23:18:22 +11:00
robert-hh
3459a4fa3d mimxrt/network: Rename the argument clock_mode to ref_clk_mode.
The definitions for LAN.IN and LAN.OUT are kept, but in the code Pin.IN
and Pin.OUT can be used as well as values for the ref_clk_mode argument.
2022-11-17 08:55:16 +01:00
Peter Hinch
d1ed0f1610 docs/library/uasyncio: Describe restriction on ThreadSafeFlag.
As per Issue #7965, this class does not work on the Unix build.
2022-11-16 13:03:43 +11:00
Sky
c1ae7d7534 docs/library/pyb.CAN: Update the recv example to take a 5-tuple.
A supplement to commit 5cdf964571
2022-11-15 22:50:17 +11:00
Howard Lovatt
d2f8127258 docs/library/array: Add docs for dunder methods.
Signed-off-by: Damien George <damien@micropython.org>
2022-11-15 18:21:58 +11:00
Matt Trentini
e65b12a1b9 docs/library/machine: Add machine.memX to docs with brief example. 2022-11-08 23:12:34 +11:00
Jim Mussared
cacc96d98c extmod/modbluetooth: Replace def_handle with end_handle in char IRQ.
This is technically a breaking change, but:
a) We need the end handle to do descriptor discovery properly.
b) We have no possible use for the existing definition handle in the
characteristic result IRQ. None of the methods can use it, and therefore
no existing code should be using it in a way that changing it to a
different integer value should break.

Unfortunately NimBLE doesn't make it easy to get the end handle, so also
implement a mechanism to use the following characteristic to calculate
the previous characteristic's end handle.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-09 11:24:24 +10:00
robert-hh
b74eeee5e0 docs/library/machine.UART: Add docs for uart.flush() and uart.txdone(). 2022-08-31 00:20:44 +10:00
robert-hh
53ebbf10e5 docs/library/machine.I2C: Add a note about I2C pull-up resistors.
Quite regularly users complain about unexpected behavior of I2C, calling it
a bug, when in fact the trouble is caused by missing pull-up resistors.  So
this commit adds a note to the documentation, in the slim hope that people
will find and read it.
2022-08-31 00:07:23 +10:00
Laurens Valk
6dcfb25ae7 docs/library/micropython: Fix spelling of compiler.
Signed-off-by: Laurens Valk <laurens@pybricks.com>
2022-08-26 15:15:59 +10:00
Laurens Valk
da217e83d9 docs/library: Fix nested rst styles not rendering.
These can't be nested, so apply styling separately.

Signed-off-by: Laurens Valk <laurens@pybricks.com>
2022-08-26 15:15:59 +10:00
Tomasz 'CeDeROM' CEDRO
602f9db2f3 docs/library/machine.UART: Add notes about UART init and deinit.
* `init()` can be called multiple times to reconfigure UART.
* After `deinit()` it is impossible to call `init()` again.

Signed-off-by: Tomasz 'CeDeROM' CEDRO <tomek@cedro.info>
2022-08-26 15:13:45 +10:00
Damien George
7d3f4b23dc drivers/cc3000: Remove CC3000 WiFi driver files.
It's no longer used by any port.

Signed-off-by: Damien George <damien@micropython.org>
2022-08-26 12:51:37 +10:00
robert-hh
47c45d0e7f rp2/machine_wdt: Check for the maximum timeout value of watchdog.
The value will be checked for timeout <= 8388.  Notes were added to the
documentation.
2022-08-23 16:26:29 +10:00
Mat Booth
04a655c744 extmod/modframebuf: Add polygon drawing methods.
Add method for drawing polygons.

For non-filled polygons, uses the existing line-drawing code to render
arbitrary polygons using the given coords list, at the given x,y position,
in the given colour.

For filled polygons, arbitrary closed polygons are rendered using a fast
point-in-polygon algorithm to determine where the edges of the polygon lie
on each pixel row.

Tests and documentation updates are also included.

Signed-off-by: Mat Booth <mat.booth@gmail.com>
2022-08-19 23:31:28 +10:00
Peter Hinch
42ec9703a0 extmod/modframebuf: Add ellipse drawing method. 2022-08-19 23:31:28 +10:00
Jim Mussared
127b340438 extmod/modframebuf: Add fill argument to rect().
We plan to add `ellipse` and `poly` methods, but rather than having to
implement a `fill_xyz` version of each, we can make them take an optional
fill argument. This commit add this to `rect` as a starting point.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-08-19 23:31:28 +10:00
Ned Konz
5543b2a9cc extmod/uasyncio: Add clear method to ThreadSafeFlag.
This is useful in situations where the ThreadSafeFlag is reused and needs
to be cleared of any previous, unwanted event.

For example, clear the flag at the start of an operation, trigger the
operation (eg an I2C write), then (a)wait for an external event to set the
flag (eg a pin IRQ).  Further events may trigger the flag again but these
are unwanted and should be cleared before the next cycle starts.
2022-08-12 17:06:28 +10:00
Nathan Hendler
9bcb2c0a20 docs/library/rp2: Fix pull_thresh docs to use pull instead of push. 2022-08-11 14:29:47 +10:00
chrismas9
c038ea0cc6 docs/library/pyb.Timer: Document how to use BKIN pin with example.
Document how to connect the Timer block BRK_IN to a physical Pin alternate
function.

Add an example of PWM Motor drive using complementary outputs with dead
time and break input to kill the PWM and generate a callback.

Signed-off-by: Chris Mason <c.mason@inchipdesign.com.au>
2022-07-29 12:22:23 +10:00
chrismas9
33ea400ce8 docs/library/pyb.Pin: Add Pin.ALT constant.
Some Pin alternate functions are inputs, for example, timer capture and
break inputs.  In Pyb.Pin the only way to set alt mode is with Pin.AF_PP or
Pin.AF_OD.  It is not intuitive to use an output mode to configure an
input.  Pin.ALT is used in the machine.Pin class and works in pyb.Pin.

The examples are changed to use Pin.ALT because TIM2_CH3 can be a capture
input or pulse output.

Signed-off-by: Chris Mason <c.mason@inchipdesign.com.au>
2022-07-29 12:16:32 +10:00
chrismas9
e168d47424 docs/library/pyb.Pin: Fix out-of-context paragraphs, and AF_PP typo.
Remove out of context callback paragraph, it was part of the wipy docs.
And move the paragraph about PULL_UP/PULL_DOWN resistor values to within
the init() method docs.  Also fix pull-pull -> push-pull.

Signed-off-by: Chris Mason <c.mason@inchipdesign.com.au>
2022-07-29 12:07:09 +10:00
Peter Hinch
fe5598452d docs/library/time: Provide more info about which epoch is used.
Some embedded targets use 1970 epoch.
2022-07-29 11:27:16 +10:00
Andrew Scheller
fa15aed0f7 docs/library/neopixel: Add note that neopixel is included in rp2 builds. 2022-07-23 23:27:04 +10:00
Carlosgg
b41cfea02a extmod/modussl_mbedtls: Implement cert_reqs and cadata arguments.
Add cert_reqs and cadata keyword-args to ssl.wrap_socket() and
ssl.CERT_NONE, ssl.CERT_OPTIONAL, ssl.CERT_REQUIRED constants to allow
certificate validation.

CPython doesn't accept cadata in ssl.wrap_socket(), but it does in
SSLContext.load_verify_locations(), so we use this name to at least match
the same name in load_verify_locations().

Add docs for these new arguments, as well as docs for the existing
server_hostname argument which is important for certificate validation.

Tests are added as well.

Signed-off-by: Carlos Gil <carlosgilglez@gmail.com>
2022-07-20 16:46:04 +10:00
IhorNehrutsa
1ea82b6dcc esp32,esp8266: Rename WLAN dhcp_hostname config to hostname.
But retain old name for backwards compatibility.
2022-07-05 23:40:32 +10:00
Jim Mussared
3ce21945b1 docs/library/bluetooth: Add link to aioble.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-06-24 18:05:39 +10:00
Damien George
db7682e02d extmod/uasyncio: Implement stream read(-1) to read all data up to EOF.
Fixes issue #6355.

Signed-off-by: Damien George <damien@micropython.org>
2022-06-24 17:04:57 +10:00
Christian Walther
ba21f76f89 esp32/modesp32: Add wake_on_ulp() so ULP can wake CPU from deepsleep.
Add esp32.wake_on_ulp() to give access to esp_sleep_enable_ulp_wakeup(),
which is needed to allow the ULP co-processor to wake the main CPU from
deep sleep.
2022-06-23 17:31:01 +10:00
Luiz Brandao
7861eddd0f docs/library/uasyncio: Consistently use "uasyncio" instead of "asyncio". 2022-06-21 17:28:48 +10:00
Patrick Joy
3d58bb23c2 docs/library/machine: Add note on interrupts being critical to system. 2022-06-21 17:25:11 +10:00
Damien George
9175482f29 docs/library: Remove unnecessary "pyb." prefix on class names.
Otherwise these classes are refered to with a double prefix, like
pyb.pyb.ADC.

Signed-off-by: Damien George <damien@micropython.org>
2022-06-21 14:33:23 +10:00
Howard Lovatt
89e1e67748 docs/library/pyb.Timer: Document brk argument and its constants. 2022-06-21 14:22:50 +10:00
David Lechner
a565811f23 extmod/modbtree: Use buffer protocol for keys/values.
This changes the btree implementation to use the buffer protocol for
reading key/values in all methods.  `str` and `bytes` objects are not the
only bytes-like objects that could be used.

Documentation and tests are also updated.

Addresses issue #8748.

Signed-off-by: David Lechner <david@pybricks.com>
2022-06-21 00:44:49 +10:00
iabdalkader
6e868d47dc docs: Update to use new WLAN argument names for ssid/security/key.
Addresses issue #8083.
2022-06-17 21:43:44 +10:00
Andrew Scheller
cedb93c179 docs: Update Raspberry Pi URLs from .org to .com. 2022-06-14 11:41:13 +10:00
Damien George
9670a156da all: Rename MICROPY_PY_WIZNET5K to MICROPY_PY_NETWORK_WIZNET5K.
To match MICROPY_PY_NETWORK_CYW43 and MICROPY_PY_NETWORK_NINAW10.

Signed-off-by: Damien George <damien@micropython.org>
2022-06-07 16:55:18 +10:00
Damien George
402df833fe py/modsys: Introduce sys.implementation._machine constant.
This contains a string useful for identifying the underlying machine.  This
string is kept consistent with the second part of the REPL banner via the
new config option MICROPY_BANNER_MACHINE.

This makes os.uname() more or less redundant, as all the information in
os.uname() is now available in the sys module.

Signed-off-by: Damien George <damien@micropython.org>
2022-04-28 17:23:03 +10:00
Damien George
59c5d41611 py/modsys: Rename sys.implementation.mpy to sys.implementation._mpy.
Per CPython docs, non-standard attributes must begin with an underscore.

Signed-off-by: Damien George <damien@micropython.org>
2022-04-28 17:23:03 +10:00
Damien George
2a08e38c60 docs/library/network.WLAN: Add "txpower" to list of known WLAN configs.
Signed-off-by: Damien George <damien@micropython.org>
2022-04-22 21:51:29 +10:00
robert-hh
56b331ace6 drivers/codec: Add driver for the WM8960 codec.
This codec is assembled for the MIMXRT1xxx_DEV boards and available for
WM8960 breakout boards as well.

The driver itself has been tested as working with the MIMXRT boards and a
Sparkfun WM6890 breakout board.  It implements the initialization, basic
methods and some enhanced methods like 3D, ALC, soft-mute and deemphasis.
2022-04-04 16:31:17 +10:00
robert-hh
7a447e08b2 docs: Add quickref and docs for mimxrt, including network.LAN docs. 2022-04-04 14:11:31 +10:00
iabdalkader
5cdf964571 docs/library/pyb.CAN: Update CAN docs to match revised API. 2022-04-02 22:46:07 +11:00
MikeTeachman
1f6cb8f047 mixmrt/machine_i2s: Add I2S protocol support.
This commit adds support for machine.I2S on the mimxrt port.  The I2S API
is consistent with the existing stm32, esp32, and rp2 implementations.

I2S features:
- controller transmit and controller receive
- 16-bit and 32-bit sample sizes
- mono and stereo formats
- sampling frequencies from 8kHz to 48kHz
- 3 modes of operation:
  - blocking
  - non-blocking with callback
  - uasyncio
- configurable internal buffer
- optional MCK

Tested with the following development boards:
- MIMXRT1010_EVK, MIMXRT1015_EVK, MIMXRT1020_EVK, MIMXRT1050_EVK
- Teensy 4.0, Teensy 4.1
- Olimex RT1010
- Seeed ARCH MIX

Tested with the following I2S hardware peripherals:
- UDA1334
- GY-SPH0645LM4H
- WM8960 codec on board the MIMXRT boards and separate breakout board
- INMP441
- PCM5102
- SGTL5000 on the Teensy audio shield

Signed-off-by: Mike Teachman <mike.teachman@gmail.com>
2022-03-30 14:12:40 +11:00
Damien George
5e685a9c6f docs/library/machine.I2S: Clarify what rate refers to.
Signed-off-by: Damien George <damien@micropython.org>
2022-03-29 11:44:08 +11:00
Jonathan Hogg
21d0599bd1 esp32/modesp32: Add new gpio_deep_sleep_hold function.
Add a new function to control whether held pins will retain their function
through deep-sleep.

Also document this function and explain how to use this in quickref to
retain pin configuration during deep-sleep.
2022-03-21 23:59:07 +11:00
Damien George
ac2293161e py/modsys: Add optional mutable attributes sys.ps1/ps2 and use them.
This allows customising the REPL prompt strings.

Signed-off-by: Damien George <damien@micropython.org>
2022-03-10 10:58:33 +11:00
Damien George
cac939ddc3 py/modsys: Add optional sys.tracebacklimit attribute.
With behaviour as per CPython.

Signed-off-by: Damien George <damien@micropython.org>
2022-03-10 10:43:21 +11:00