Commit Graph

8607 Commits

Author SHA1 Message Date
Paul Sokolovsky
11bc21dfa8 unix/main: Ignore SIGPIPE signal, instead make EPIPE arrive.
Do not raise SIGPIPE, instead return EPIPE. Otherwise, e.g. writing
to peer-closed socket will lead to sudden termination of MicroPython
process. SIGPIPE is particularly nasty, because unix shell doesn't
print anything for it, so the above looks like completely sudden and
silent termination for unknown reason. Ignoring SIGPIPE is also what
CPython does. Note that this may lead to problems using MicroPython
scripts as pipe filters, but again, that's what CPython does. So,
scripts which want to follow unix shell pipe semantics (where SIGPIPE
means "pipe was requested to terminate, it's not an error"), should
catch EPIPE themselves.
2017-05-01 18:47:26 +03:00
Paul Sokolovsky
5db55e63f3 extmod/modlwip: ioctl POLL: Fix handling of peer closed socket.
Peer-closed socket is both readable and writable: read will return EOF,
write - error. Without this poll will hang on such socket.

Note that we don't return POLLHUP, based on argumentation in
http://www.greenend.org.uk/rjk/tech/poll.html that it should apply to
deeper disconnects, for example for networking, that would be link layer
disconnect (e.g. WiFi went down).
2017-05-01 18:20:09 +03:00
stijn
c41fe70ef2 windows/README: Add a note about stack usage for msvc
Add information as discussed in #2927 to the readme to make the easier
to discover.
2017-05-01 12:06:43 +02:00
stijn
fa823ea893 windows/README: Fix some typos and grammar 2017-05-01 11:58:47 +02:00
Paul Sokolovsky
e81f46940e tools/upip: Upgrade to 1.1.6, supports commented lines in requirements.txt. 2017-05-01 00:03:45 +03:00
Paul Sokolovsky
473e85e2da tools/mpy-tool: Make work if run from another directory.
By making sure we don't add relative paths to sys.path.
2017-05-01 00:01:30 +03:00
Glenn Ruben Bakke
1c756af9a4 nrf5/modules/timer: Adding timer3 and timer4 to timer object in case of nrf52 target. 2017-04-30 20:18:46 +02:00
Glenn Ruben Bakke
a0638880b3 nrf5/modules/timer: Optimizing timer object structure and updating the module to use new hal_timer_init structures and parameters. 2017-04-30 20:15:03 +02:00
Glenn Ruben Bakke
0437fafaac nrf5/hal/timer: Adding empty IRQ handlers for all timers. 2017-04-30 19:42:54 +02:00
Glenn Ruben Bakke
7449f8d861 nrf5/hal/timer: Changing hardcoded hal timer instance base to a lookup, so that IRQ num can be detected automatically without the need of using struct param on it. Size of binary does not increase when using Os. 2017-04-30 19:42:19 +02:00
stijn
db9c2e310e msvc: Rebuild all qstrs when mpconfig headers are modified
Make qstr generation depend on modifications in mpconfigport.h, mpconfig.h
and makeqstrdata.py and if any of those change scan all source files for
qstrs again since they might have changed (for example typcially when
enabling new features in mpconfig.h).
This fixes #2982 for msvc builds.
2017-04-30 14:30:39 +03:00
stijn
8d865fa701 msvc: Do not define DEBUG for debug builds
It is not used anywhere and causes a warning about redefinition because
it is used in modutimeq.c
2017-04-30 14:28:37 +03:00
stijn
2f0ce2a6f5 py: Cleanup use of global DEBUG preprocessor definition
The standard preprocessor definition to differentiate debug and non-debug
builds is NDEBUG, not DEBUG, so don't rely on the latter:
- just delete the use of it in objint_longlong.c as it has been stale code
  for years anyway (since commit [c4029e5]): SUFFIX isn't used anywhere.
- replace DEBUG with MICROPY_DEBUG_NLR in nlr.h: it is rarely used anymore
  so can be off by default
2017-04-30 14:28:37 +03:00
Paul Sokolovsky
a7f5022591 windows/README: Convert to Markdown. 2017-04-30 00:41:24 +03:00
Glenn Ruben Bakke
7aa7bad78a nrf5: Updating example in main.c on how to execute string before REPL is set up, to allow for boards with two leds. Todo for later is to update this code such that it will skip this LED toggle when there are no leds defined. Or use an example not depending on LEDs. 2017-04-29 19:50:50 +02:00
Paul Sokolovsky
4c2402e41e extmod/modlwip: getaddrinfo: Allow to accept all 6 standard params.
But warn if anything else but host/port is passed.
2017-04-29 18:56:39 +03:00
Paul Sokolovsky
de3a96ba17 extmod/moduselect: Implement ipoll() method for alloc-free polling.
Similar to the implementation added to unix port module previously.
2017-04-29 13:05:44 +03:00
Paul Sokolovsky
edc0dcb55c extmod/moduselect: Refactor towards introduction of poll.ipoll().
This follows previous refactor made to unix/moduselect.
2017-04-29 13:05:20 +03:00
Paul Sokolovsky
b08286948a extmod/moduselect: Convert to MP_ROM_QSTR and friends. 2017-04-29 11:06:05 +03:00
Damien George
49de9b68d2 qemu-arm, stmhal: Remove dummy memory.h since it's no longer needed.
extmod/crypto-algorithms/sha256.c was recently fixed so that it didn't
include this header.
2017-04-28 22:07:14 +10:00
Paul Sokolovsky
11a962099e examples/hwapi: Add config for Zephyr port of 96Boards Carbon. 2017-04-27 18:08:05 +03:00
Paul Sokolovsky
8109cd5f23 extmod/crypto-algorithms/sha256: Remove non-standard memory.h header. 2017-04-27 15:01:01 +03:00
Paul Sokolovsky
31bbcd448c zephyr/modusocket: Add dummy makefile() implementation. 2017-04-27 14:57:49 +03:00
Glenn Ruben Bakke
976785e1d5 nrf5/bluetooth: Updating Bluetooth LE stack download script to allow to be invoked from any parent folder. No need to change directory to bluetooth/ in order to get the correct download target folder position. Using the script location to determine the target folder. 2017-04-26 19:18:27 +02:00
Paul Sokolovsky
868453d3d8 zephyr/modusocket: sock_read: Check socket status only at the start of packet.
Otherwise, if we already have a packet in progress, finish it first, before
check "peer closed" status.
2017-04-26 09:14:41 +03:00
Paul Sokolovsky
1fe0f678f8 zephyr/modusocket: Add read/readline/readinto stream methods. 2017-04-26 08:43:07 +03:00
Paul Sokolovsky
ef55be159c zephyr/modusocket: Refactor recv() into stream read() method. 2017-04-26 08:43:07 +03:00
Damien George
7743b1523e unix: Remove obsolete MICROPY_FATFS macro.
It doesn't do anything.  The VFS feature is controlled by MICROPY_VFS and
the FatFS driver, by MICROPY_VFS_FAT (which are set in mpconfigport.h).
2017-04-26 11:16:52 +10:00
Glenn Ruben Bakke
7bcc61b0c1 nrf5/boards: Adding board target for feather52 using s132 v.2.0.1 application offset even if the device is not using softdevice. To be worked on later. 2017-04-26 00:18:10 +02:00
Glenn Ruben Bakke
97d46bae6a nrf5/boards: decrease size of ISR region from 4k to 1k in custom feather52 linker script to get some more flash space. 2017-04-26 00:16:19 +02:00
Glenn Ruben Bakke
3286d81a48 nrf5/boards: Updating feather52 mpconfigboard.h to use correct uart pins, flow control disabled. Also adjusting leds down to two leds. 2017-04-26 00:15:14 +02:00
Paul Sokolovsky
63068875c5 zephyr/modusocket: Enable stream write() method. 2017-04-26 01:06:42 +03:00
Paul Sokolovsky
0e177e0649 zephyr/modusocket: Refactor send() into stream write() method. 2017-04-26 01:05:54 +03:00
Kushal Das
083cd21a74 zephyr: Add 96b_carbon configuration.
As there's no networking support in mainline yet, networking is disabled,
because otherwise the board hangs on startup.
2017-04-26 00:22:48 +03:00
Glenn Ruben Bakke
5f4798b0f2 nrf5/boards: Updating path to custom linker script for feather52 board. 2017-04-25 21:55:50 +02:00
Glenn Ruben Bakke
50bb18015a nrf5/boards: Renaming bluefruit_nrf52_feather to feather52 to shorten down the name quite drastically. 2017-04-25 21:54:35 +02:00
Glenn Ruben Bakke
6f6c5d30e8 nrf5/boards: Updating path to custom bluefruit feather linker script after renaming board folder. 2017-04-25 21:51:10 +02:00
Glenn Ruben Bakke
4ae600be8a nrf5/boards: Renaming bluefruit_feather to bluefruit_nrf52_feather as it also exist a m0 variant of the board name. 2017-04-25 21:49:17 +02:00
Glenn Ruben Bakke
8aa6e0388e nrf5/boards: Updating mpconfigboard.h for bluefruit nrf52 feather with correct board, mcu and platform name. 2017-04-25 21:48:01 +02:00
Glenn Ruben Bakke
195c492419 nrf5/boards: Updating adafruit bluefruit nrf52 feather linker script to use 0x1c000 application offset. 2017-04-25 21:44:01 +02:00
Glenn Ruben Bakke
8429d022e1 nrf5/boards: Renaming custom linker script for bluefruit feather to reflect that the purpose of the custom linker script is DFU. The script is diverging from the generic s132 v2 linker script in the offset of the application. 2017-04-25 08:53:52 +02:00
Glenn Ruben Bakke
7043680f1f nrf5/boards: Adding custom linker script for adafruit nrf52 bluefruit feather to be able to detect application upper boundry in flash. Pointing s132 mk file to use this new custom linker script instead of the generic s132 v2 linker script. 2017-04-25 08:49:18 +02:00
Damien George
f85fd79c6c py/mpz: In mpn_sub, use existing function to remove trailing zeros. 2017-04-25 12:22:04 +10:00
Damien George
810133d97d tests/basics: Add tests for int.from_bytes when src has trailing zeros.
The trailing zeros should be truncated from the converted value.
2017-04-25 12:07:02 +10:00
Damien George
c7aa86ce6f py/mpz: Strip trailing zeros from mpz value when set from bytes. 2017-04-25 12:06:10 +10:00
Glenn Ruben Bakke
ec6502c1ea nrf5/boards: Adding linker script for nrf52832 s132 v.2.0.1. 2017-04-24 23:29:05 +02:00
Glenn Ruben Bakke
0ba9c62940 nrf5/boards: Adding template board makefiles and configs for bluefruit nrf52 feather. Copied from pca10040 target board. Linker script reference updated to use s132 v2.0.1. Non-BLE enable build disabled for now. Board configuration for leds, uart etc has not been updated yet from pca10040 layout. 2017-04-24 23:25:25 +02:00
Glenn Ruben Bakke
44fc96c8a9 nrf5/bluetooth: Correcting typo in test where s132 API version is settled. 2017-04-24 23:14:04 +02:00
Glenn Ruben Bakke
f68fb8499d nrf5/bluetooth: Updating bluetooth le driver to compile with s132 v.2.0.1 stack. 2017-04-24 23:05:08 +02:00
Glenn Ruben Bakke
2adad5f2a6 nrf5/bluetooth: Add new compiler flag to signal API variants of the s132 bluetooth le stack. The version is derived from the major number of the stack name. 2017-04-24 23:03:54 +02:00