| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
| |
This buffer is used to allocate objects temporarily, and such objects
require that their underlying memory be correctly aligned for their data
type. Aligning for mp_obj_t should be sufficient for emergency exceptions,
but in general the memory buffer should aligned to the maximum alignment of
the machine (eg on a 32-bit machine with mp_obj_t being 4 bytes, a double
may not be correctly aligned).
This patch fixes a bug for certain nan-boxing builds, where mp_obj_t is 8
bytes and must be aligned to 8 bytes (even though the machine is 32 bit).
|
|
|
|
|
| |
Notes on WiPy incompatibilities with the standard module API are
moved under "Known issues" to its documentation.
|
|
|
|
|
| |
Notes on WiPy incompatibilities with the standard socket module API are
moved under "Known issues" to its documentation.
|
| |
|
| |
|
|
|
|
| |
parity=0 means even parity, parity=1 - odd.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
For stream sockets, next exected operation is listen().
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Changes made are:
- Use the time module in place of the pyb module for delays.
- Use spi.read/spi.write instead of spi.send/spi.receive.
- Drop some non-portable parameters to spi and pin initialization.
Thanks to @deshipu for the original patch.
|
|
|
|
|
| |
When trying to execute a command via raw REPL and expected "OK" reply
not received, show what was received instead.
|
|
|
|
| |
In this case, we can mark socket as closed directly.
|
|
|
|
|
|
| |
Internal structure of k_fifo changed between 1.7 and 1.8, so we need
to abstract it away. This adds more functions than currently used, for
future work.
|
| |
|
|
|
|
|
| |
When working with a "virtual" port, like PTY. The issue described in
http://stackoverflow.com/questions/34831131/pyserial-does-not-play-well-with-virtual-port
|
| |
|
| |
|
| |
|
|
|
|
|
| |
It's a standard function, and it's already described (in the library
intro) that for any given port, any function may be missing.
|
|
|
|
| |
These are basic MicroPython API, and all ports should implement them.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Following CPython. Otherwise one gets either an infinite loop (if code is
optimised by the uPy compiler) or possibly a divide-by-zero CPU exception.
|
|
|
|
| |
Without this, Zephyr's port "make test" doesn't work.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows to execute a command and communicate with its stdin/stdout
via pipes ("exec") or with command-created pseudo-terminal ("execpty"),
to emulate serial access. Immediate usecase is controlling a QEMU process
which emulates board's serial via normal console, but it could be used
e.g. with helper binaries to access real board over other hadware
protocols, etc.
An example of device specification for these cases is:
--device exec:../zephyr/qemu.sh
--device execpty:../zephyr/qemu2.sh
Where qemu.sh contains long-long qemu startup line, or calls another
command. There's a special support in this patch for running the command
in a new terminal session, to support shell wrappers like that (without
new terminal session, only wrapper script would be terminated, but its
child processes would continue to run).
|
|
|
|
|
|
|
|
| |
Without this, if there's a large chunk of data coming from hardware (e.g.
clipboard paste, or fed programmatically from the other side of the console),
there's a behavior of initial mass fill-in of the buffer without any
consumption, which starts much later and doesn't catch up with further
filling, leading to buffer overflow.
|
|
|
|
|
|
|
|
| |
MONO_xxx is much easier to read if you're not familiar with the code.
MVLSB is deprecated but kept for backwards compatibility, for the time
being.
This patch also updates the associated docs and tests.
|
|
|
|
|
| |
This reduces code duplication and allows to make mp_classify_fp_as_int
static, which reduces code size.
|
|
|
|
|
|
|
|
| |
This should be a little more efficient (since we anyway scan the input
packet for the interrupt char), and it should also fix any non-atomic read
issues with the buffer state being changed during an interrupt.
Throughput tests show that RX rate is unchanged by this patch.
|
|
|
|
|
|
|
| |
The previous timeout value of 150ms could lead to data being lost (ie never
received by the host) in some rare cases, eg when the host is under load.
A value of 500ms is quite conservative and allows the host plenty of time
to read our data.
|
|
|
|
| |
It will be reused e.g. for accept() implementation.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Hashing of float and complex numbers that are exact (real) integers should
return the same integer hash value as hashing the corresponding integer
value. Eg hash(1), hash(1.0) and hash(1+0j) should all be the same (this
is how Python is specified: if x==y then hash(x)==hash(y)).
This patch implements the simplest way of doing float/complex hashing by
just converting the value to int and returning that value.
|
| |
|
|
|
|
| |
Disabled by default.
|
|
|
|
| |
Used e.g. by Zephyr port.
|
| |
|
| |
|
| |
|
|
|
|
| |
Should be skipped on missing uso, uerrno modules.
|
| |
|