Damien George
4ec803a42a
all: Make static dicts use mp_rom_map_elem_t type and MP_ROM_xxx macros.
2017-08-21 21:34:23 +10:00
Alexander Steffen
55f33240f3
all: Use the name MicroPython consistently in comments
...
There were several different spellings of MicroPython present in comments,
when there should be only one.
2017-07-31 18:35:40 +10:00
Damien George
4d55d8805a
cc3200/modusocket: Fix connect() when in non-blocking or timeout mode.
...
Non-blocking connect on the CC3100 has non-POSIX behaviour and needs to be
modified to match standard semantics.
2017-07-11 16:16:14 +10:00
Damien George
e6782428be
cc3200: Initialise variable to zero to prevent compiler warnings.
2017-06-20 17:14:48 +10:00
Damien George
1686346d53
cc3200: Make non-zero socket timeout work with connect/accept/send.
...
The CC3100 only allows to set a timeout for receiving data, not for accept,
connect or send. But it can set non-blocking for all these operations and
this patch uses that feature to implement socket timeout in terms of non-
blocking behaviour combined with a loop.
2017-06-20 16:52:39 +10:00
Damien George
696fcde800
cc3200/modusocket: Simplify socket.makefile() function.
...
Following how extmod/modlwip.c does it.
2017-06-14 17:40:02 +10:00
Damien George
b6c7e4b143
all: Use full path name when including mp-readline/timeutils/netutils.
...
This follows the pattern of how all other headers are now included, and
makes it explicit where the header file comes from. This patch also
removes -I options from Makefile's that specify the mp-readline/timeutils/
netutils directories, which are no longer needed.
2017-03-31 22:29:39 +11:00
Damien George
3a77342719
cc3200: Update for changes to mp_obj_str_get_data.
2017-03-29 12:56:45 +11:00
Damien George
047af9b10b
cc3200: Remove socket.timeout class, use OSError(ETIMEDOUT) instead.
...
socket.timeout is a subclass of OSError, and using the latter is more
efficient than having a dedicated class. The argument of OSError is
ETIMEDOUT so the error can be distinguished from other kinds of
OSErrors. This follows how the esp8266 port does it.
2017-02-22 15:08:32 +11:00
Damien George
d03f089baa
cc3200/mods/modusocket: Init vars to 0 to silence compiler warnings.
...
Some compilers can't analyse the code to determine that these variables
are always set before being used.
2017-02-22 14:58:37 +11:00
Damien George
8bb8e97dfe
cc3200: Convert to using uPy internal errno numbers.
2017-02-22 12:58:11 +11:00
Damien George
85ab469c64
cc3200: Move wlan socket glue functions from modwlan to modusocket.
...
It saves about 400 bytes of code space because the functions can now be
inlined.
2017-02-22 11:29:19 +11:00
Damien George
d9f7120af1
cc3200: Use simplelink API instead of emulated BSD API.
...
Most of cc3200 uses explicit simplelink calls anyway, and this means there
are no longer any clashes with macros from the C stdlib.
2017-02-21 17:24:12 +11:00
Paul Sokolovsky
3a3543251f
cc3200/modusocket: Remove deprecated socket.error.
...
socket.error is deprecated even in upstream:
https://docs.python.org/3/library/socket.html#socket.error ,
and never was a part of MicroPython socket API.
2017-01-29 02:47:26 +03:00
Paul Sokolovsky
eac22e29a5
all: Consistently update signatures of .make_new and .call methods.
...
Otherwise, they serve reoccurring source of copy-paste mistakes and
breaking nanbox build.
2017-01-04 16:10:42 +03:00
Paul Sokolovsky
59a1201da9
all: Remove readall() method, which is equivalent to read() w/o args.
...
Its addition was due to an early exploration on how to add CPython-like
stream interface. It's clear that it's not needed and just takes up
bytes in all ports.
2016-11-14 00:24:22 +03:00
Damien George
50ddaafa6a
cc3200: Use mp_raise_XXX helper functions to reduce code size.
...
Reduces code size by 632 bytes.
2016-10-18 09:53:43 +11:00
Damien George
93c4a6a3f7
all: Remove 'name' member from mp_obj_module_t struct.
...
One can instead lookup __name__ in the modules dict to get the value.
2016-09-22 00:23:16 +10:00
Paul Sokolovsky
07209f8592
all: Rename mp_obj_type_t::stream_p to protocol.
...
It's now used for more than just stream protocol (e.g. pin protocol), so
don't use false names.
2016-06-18 18:44:57 +03:00
danicampora
495e7cfebc
cc3200: Improve robustness of WLAN during sleep modes.
2016-02-21 22:01:18 +01:00
Damien George
5b3f0b7f39
py: Change first arg of type.make_new from mp_obj_t to mp_obj_type_t*.
...
The first argument to the type.make_new method is naturally a uPy type,
and all uses of this argument cast it directly to a pointer to a type
structure. So it makes sense to just have it a pointer to a type from
the very beginning (and a const pointer at that). This patch makes
such a change, and removes all unnecessary casting to/from mp_obj_t.
2016-01-11 00:49:27 +00:00
Damien George
731f359292
all: Add py/mphal.h and use it in all ports.
...
py/mphal.h contains declarations for generic mp_hal_XXX functions, such
as stdio and delay/ticks, which ports should provide definitions for. A
port will also provide mphalport.h with further HAL declarations.
2015-10-31 19:14:30 +03:00
danicampora
0212dc65b7
cc3200: Add created sockets to the registry.
2015-10-22 16:35:04 +02:00
danicampora
04db848dc7
docs: Add usocket and ussl modules' documentation.
2015-10-21 15:30:56 +02:00
danicampora
4b630c452d
cc3200: Make socket.listen([backlog]) compliant with Python 3.5.
2015-10-21 15:30:56 +02:00
danicampora
719dca2515
cc3200: Clean-up socket constants.
2015-10-21 15:30:56 +02:00
Daniel Campora
b56634e691
cc3200: On ssl.read() or ssl.readall() ignore ssl layer closed error.
2015-07-30 00:43:14 +02:00
Daniel Campora
9a348fc840
cc3200: Add socket.makefile()
2015-07-30 00:43:10 +02:00
Daniel Campora
f22b35e4e5
cc3200: Add socket.sendall() (aliases to send()).
...
Simplelink's socket send checks for the size of the packet and sends
it in chunks if the size is too large.
2015-07-17 11:38:01 +02:00
Daniel Campora
a243d6b057
cc3200: Make socket stream methods return POSIX error codes.
2015-07-16 22:39:35 +02:00
Daniel Campora
cf814b2d34
cc3200: Refactor and clean-up socket closing code.
2015-07-10 11:37:50 +02:00
Daniel Campora
a0a3de60be
cc3200: Translate simplelink's socket error numbers to POSIX values.
2015-07-07 16:13:54 +02:00
Daniel Campora
31b40eebe8
cc3200: Fix socket recv and recvfrom return value type.
2015-07-02 23:17:22 +02:00
Daniel Campora
9a65fa304c
cc3200: Add modussl, ssl sockets subclassed from normal sockets.
...
Stream methods were added to normal sockets as in the unix port.
2015-07-02 16:30:00 +02:00
Daniel Campora
f522849a4d
cc3200: Add socket.timeout and socket.error exceptions.
2015-07-02 11:53:15 +02:00
Daniel Campora
5ebf39784a
cc3200: Correct socket settimeout time format.
2015-06-29 11:01:11 +02:00
Daniel Campora
3cb804de26
cc3200: Remove NIC abstraction layer.
...
That layer is nice, but the CC3200 doesn't need it and getting rid of
it saves ~200 bytes, which are more than welcome.
2015-05-24 11:44:08 +02:00
Daniel Campora
9f8c5456be
cc3200: Reset the servers and close user sockets on WLAN disconection.
...
This is needed to avoid half-open connections.
2015-05-24 11:44:06 +02:00
Daniel Campora
ed56b0baba
cc3200: Finally unlock the full wake on WLAN feature set.
2015-05-22 19:53:33 +02:00
Damien George
c50772d19f
py: Add mp_obj_get_int_truncated and use it where appropriate.
...
mp_obj_get_int_truncated will raise a TypeError if the argument is not
an integral type. Use mp_obj_int_get_truncated only when you know the
argument is a small or big int.
2015-05-12 23:05:53 +01:00
Josef Gajdusek
04ee5983fe
lib: Move some common mod_network_* functions to lib/netutils.
2015-05-04 11:48:40 +01:00
Daniel Campora
d34c4784a5
cc3200: Select NIC when the socket is created.
...
This makes sense since only WLAN is supported here.
2015-04-28 15:14:36 +02:00
Damien George
259eaab9a9
cc3200: Clean up and reduce use/include of std.h.
2015-04-18 14:29:28 +01:00
Daniel Campora
f7a26472af
cc3200: Add IPPROTO_SEC to be able to create secure sockets.
2015-04-14 01:57:27 +02:00
Damien George
4a23a01945
cc3200: Add explicit py/ path-prefix for py includes.
...
This is how it should be, so one knows exactly where the includes are
coming from.
2015-02-21 18:58:43 +00:00
danicampora
8785645a95
cc3200: Add cc3200 port of MicroPython.
...
The port currently implements support for GPIO, RTC, ExtInt and the WiFi
subsystem. A small file system is available in the serial flash. A
bootloader which makes OTA updates possible, is also part of this initial
implementation.
2015-02-06 22:10:11 +00:00