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
daniel
a0d97fe408
cc3200: Add ssl_version argument to ssl.wrap_socket().
...
This resolves issue #2343 .
2016-10-01 21:35:09 +02: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
Damien George
f3b5480be7
stmhal,cc3200,esp8266: Consistently use PWRON_RESET constant.
...
machine.POWER_ON is renamed to machine.PWRON_RESET to match other
reset-cause constants that all end in _RESET. The cc3200 port keeps a
legacy definition of POWER_ON for backwards compatibility.
2016-09-08 12:50:38 +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
Damien George
70ff7350e7
stmhal, cc3200: Change i2c.scan() method to scan addresses 0x08-0x77.
...
A standard I2C address is 7 bits but addresses 0b0000xxx and 0b1111xxx
are reserved. The scan() method is changed to reflect this, along with
the docs.
2016-05-02 11:15:36 +01:00
Paul Sokolovsky
4e51a3038c
cc3200/mods/modwlan: Include stream.h after recent refactor.
2016-04-06 01:18:39 +03:00
danicampora
add930c4b5
cc3200: Rename 'server' class to 'Server' for consistency.
2016-02-22 22:54:34 +01:00
danicampora
495e7cfebc
cc3200: Improve robustness of WLAN during sleep modes.
2016-02-21 22:01:18 +01:00
danicampora
fe9620a2bd
test/wipy: Add Timer class tests.
2016-02-21 21:53:20 +01:00
danicampora
73c9f85b4c
cc3200: Simplify the Timer API and correct the documents.
...
Make the PWM duty cycle configurable from 0.00 to 100.00 by
accepting values from 0 to 10000.
Add automatic Pin assignment when operating in PWM mode.
2016-02-21 21:53:16 +01:00
danicampora
562bcffd3a
cc3200: Improve robustness of the I2C driver.
...
When scanning for devices, try reading then writing. Increase the
timeout of the transactions from 10 to 20 ms.
2016-02-21 21:41:06 +01:00
danicampora
ed8db2e371
cc3200: Finally fix the Timer class API.
...
Properly calculate the period and the prescaler, this now allows to
set the PWM frequency down to 5Hz. Make Timer IDs go from 0 to 3.
Add the trigger definitions for the channel IRQ.
2016-02-21 21:41:06 +01:00
Paul Sokolovsky
4cd45f48b1
cc3200: Fix breakage after VfsFat refactor.
2016-02-15 10:39:56 +02: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
Paul Sokolovsky
2eb844e0b4
ports: Rename "machine" module to "umachine".
...
To let unix port implement "machine" functionality on Python level, and
keep consistent naming in other ports (baremetal ports will use magic
module "symlinking" to still load it on "import machine").
Fixes #1701 .
2015-12-18 02:39:52 +02:00
Noah
00960133c2
docs: Update docs for WiPy wlan.connect().
...
- The link establishment timeout is infinite by default
- Fix typo in notes about the auth kwarg
2015-11-18 19:47:40 +01:00
danicampora
e4404fbef0
cc3200: Unmount all user file systems after a soft reset.
2015-11-16 23:43:47 +01:00
Damien George
40274fec9c
lib/pyexec: Move header pyexec.h from stmhal directory.
2015-11-09 13:13:09 +00:00
danicampora
8cee03b118
cc3200: Force SSL method to be TLSV1.
...
The default setting of using the "highest" method available doesn't
work with some servers like Microsoft Azure. TLSV1 seems to work with
pretty much any server.
2015-11-06 00:12:13 +01: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
Paul Sokolovsky
9b12bc788f
cc3200: Switch from HAL_GetTick() to mp_hal_ticks_ms().
2015-10-29 20:43:11 +03:00
Paul Sokolovsky
f4decdc4a3
cc3200: Switch from HAL_Delay() to mp_hal_delay_ms().
2015-10-29 20:38:44 +03:00
danicampora
1950295735
cc3200: Set pin direction first, then value. Fixes #1542 .
2015-10-26 23:26:43 +01:00
danicampora
a654914de4
cc3200: Allow to read pin value when in OPEN_DRAIN mode.
2015-10-25 21:31:43 +01:00
danicampora
a3a33db409
cc3200: Enable WLAN irq on creation.
2015-10-25 21:31:42 +01:00
danicampora
0212dc65b7
cc3200: Add created sockets to the registry.
2015-10-22 16:35:04 +02:00
danicampora
075ca64521
cc3200: Fix UART tests after correcting uart.read() behaviour.
2015-10-21 15:30:57 +02:00
danicampora
1f2daf4304
cc3200: Correct ticks_cpu and ticks_us functions in time module.
2015-10-21 15:30:57 +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
danicampora
d67ea6b29f
cc3200: Add comment about micropython extensions to standard modules.
2015-10-21 15:30:56 +02:00
danicampora
7ff585333e
cc3200: uart.read() returns EGAIN if no chars available.
2015-10-21 15:30:56 +02:00
danicampora
9c72c71c05
cc3200: WLAN class can retrieve the existing instance.
2015-10-19 21:17:15 +02:00
danicampora
ae70e98ed4
cc3200: Fix time.ticks_* functions.
2015-10-19 21:17:15 +02:00
danicampora
36ae417c9f
docs: Add wipy and network.server documentation.
2015-10-19 21:17:15 +02:00
danicampora
2e0cd20a1d
cc3200: Refactor network module to make the server a propper object.
2015-10-19 21:17:15 +02:00
danicampora
d8137178bb
cc3200: Create wipy module, remove HeartBeat class.
...
The heartbeat is now controllable via a single function within the
wipy module.
2015-10-19 21:17:15 +02:00
danicampora
4542643025
docs: Update all WiPy docs to reflect the new API.
2015-10-17 23:29:04 +02:00
danicampora
fca3308cc3
cc3200: Improvements to terminal duplication.
2015-10-17 23:21:44 +02:00
danicampora
e19dfe1c32
cc3200: In scan results rename 'auth' field to 'sec'.
...
As defined by the new API, since 'auth' is actually a tuple
composed by the security type and the key.
2015-10-17 23:21:44 +02:00
Paul Sokolovsky
1b586f3a73
py: Rename MP_BOOL() to mp_obj_new_bool() for consistency in naming.
2015-10-11 15:18:15 +03:00
Daniel Campora
b6bdb0dbda
cc3200: Always reset WLAN after setting the mode.
2015-09-27 20:12:42 +02:00
Daniel Campora
ed6a5b78ad
cc3200: Make auth param positional in wlan.connect.
2015-09-27 19:10:09 +02:00
Daniel Campora
eb9a3ec654
cc3200: Disable uheapq and uhashlib.
...
Those two are rarely used features and better to have the extra heap.
2015-09-27 18:04:11 +02:00
Daniel Campora
37a2015cc5
tests/wipy: Add machine module tests.
2015-09-27 17:35:58 +02:00
Daniel Campora
c92e6a45eb
cc3200: Rename pyb module to machine.
2015-09-27 16:50:27 +02:00
Daniel Campora
ef369249cb
cc3200: Implement support for os.dupterm().
2015-09-27 11:27:24 +02:00
Daniel Campora
a7261ae059
cc3200/mods: Use mp_obj_get_array_fixed_n() where applicable.
2015-09-27 09:28:27 +02:00
Daniel Campora
57fa14b5be
cc3200: New WLAN API including test.
2015-09-27 01:50:52 +02:00
Daniel Campora
dbdcb58d64
cc3200: New irq API, affects all classes that provide the irq method.
2015-09-27 01:48:20 +02:00
Daniel Campora
dffa9f6da6
cc3200: New SD and RTC API plus os and time modules' extensions.
2015-09-21 22:30:32 +02:00
Daniel Campora
22b4c28f85
cc3200: New ADC API.
2015-09-16 10:10:38 +02:00
Daniel Campora
0e52d9860a
tests/wipy: Improve I2C tests.
2015-09-16 10:10:35 +02:00
Daniel Campora
aba75e1233
cc3200: New SPI API.
2015-09-16 10:10:33 +02:00
Daniel Campora
624cdeacc4
docs/wipy: Add pins to the I2C constructor.
2015-09-16 10:10:31 +02:00
Daniel Campora
41f6948545
cc3200: New WDT API.
2015-09-16 10:10:29 +02:00
Daniel Campora
8332044f75
cc3200: Add UART.ODD and UART.EVEN to select parity.
2015-09-16 10:10:26 +02:00
Daniel Campora
d5ec336eef
cc3200: Replace Pin.PULL_NONE with None.
2015-09-16 10:10:24 +02:00
Daniel Campora
e77abc261b
cc3200: Default peripheral ID support on I2C.
2015-09-16 10:10:19 +02:00
Daniel Campora
7d6b6f6681
cc3200: Make UART choose default id when not given.
2015-09-16 10:10:13 +02:00
Daniel Campora
f352fe82a5
tests/wipy: Add I2C tests.
2015-09-10 08:00:59 +02:00
Daniel Campora
d936317143
cc3200: New I2C API.
2015-09-10 08:00:30 +02:00
Daniel Campora
359b4e9ed9
cc3200: Refactor pin af assigment functions.
2015-09-10 08:00:24 +02:00
Daniel Campora
4d7fa05b43
cc3200: Improve Pin and UART implementation.
...
Deassign pins af before assigning. Make uart.any() return the
correct value everytime, this requires interrupts to be always
enabled.
2015-09-10 08:00:12 +02:00
Daniel Campora
4054c4eadd
cc3200: Remove I2C inline documentation (sphinx is on the lead).
2015-09-10 08:00:05 +02:00
Daniel Campora
f91f212d9f
cc3200: New UART API plus related test.
2015-09-10 07:59:47 +02:00
Daniel Campora
36821d095a
cc3200: Add alternate functions list to Pin object.
...
Also remove pin.high() and pin.low() methods.
2015-09-10 07:59:41 +02:00
Daniel Campora
d5e256486e
cc3200: Re-work Pin class according to the new API.
...
Also add relevant test.
2015-09-10 07:59:35 +02:00
Daniel Campora
598aad2140
cc3200: Fix bug in pybsleep remove.
2015-09-10 07:59:23 +02:00
Daniel Campora
475c60eefc
cc3200: Add alt param to Pin constructor.
2015-09-10 07:59:16 +02:00
Daniel Campora
e3f8777ee8
cc3200: Implement new Pin API.
2015-09-10 07:59:03 +02:00
Daniel Campora
e9fa7625f4
cc3200: Correct WLAN constructor argument checking.
2015-08-16 20:18:13 +02:00
Daniel Campora
f837d166e5
cc3200: Fix typo in modpyb.
2015-08-16 20:18:07 +02:00
Daniel Campora
641a3d39e1
cc3200: Make sure to update sleep objects when registered.
2015-08-16 20:18:02 +02:00
Daniel Campora
6ff2d54347
cc3200: Small renaming in wdt functions for the sake of consistency.
2015-08-16 20:18:00 +02:00
Daniel Campora
11d21081b4
cc3200: Rework SD API. Increase heap to avoid malloc failures.
2015-08-16 20:17:58 +02:00
Daniel Campora
34c290b678
cc3200: Rename SPI nss param to cs.
...
The nss param in the pyboard has a different meaning that doesn't
apply to the WiPy.
2015-08-16 20:17:55 +02:00
Daniel Campora
ea5061e409
cc3200: Improve callback API.
...
Rename "wakes" param to "wake_from" and make "value" an object
instead of an integer.
2015-08-16 20:17:52 +02:00
Daniel Campora
4c5bfe2d10
cc3200: Server side SSL socket requires both certfile and keyfile.
2015-08-16 20:17:49 +02:00
Daniel Campora
7027fd5343
cc3200: Make ADC API compatible with the pyboard.
2015-08-10 23:42:05 +02:00
Daniel Campora
2673374d18
cc3200: Refactor PRCM special user bits implementation.
2015-08-09 22:15:18 +02:00
Daniel Campora
e54a4f1f48
cc3200: Improve support for WEP security.
...
Key is always entered as a string, but if security is WEP, the key
is converted automatically to hex before connecting or configuring
the device as an AP.
2015-08-09 19:22:16 +02:00
Daniel Campora
00c4d6562e
cc3200: Add nic.iwconfig() to set/get WLAN configuration.
...
Changes are based on this post:
https://github.com/micropython/micropython/issues/876#issuecomment-115255551
The constructor can optionally take the same params of iwconfig in
order to configure WiFi when creating the object. Params are
keyworkd only. The WiPy accepts:
- mode (int -> WLAN.AP or WLAN.STA)
- ssdi (string)
- security (int -> WLAN.OPEN, WLAN.WEP, WLAN.WPA, WLAN.WPA2)
- key (string)
- channel (int (1-11))
- antenna (int -> WLAN.INTERNAL, WLAN.EXTERNAL)
2015-08-09 19:22:12 +02:00
Daniel Campora
c6926c374d
cc3200: Make I2C and SPI API the same as in stmhal.
2015-08-02 20:22:15 +02:00
Daniel Campora
aa58c7ec74
cc3200: Append last 2 bytes of the MAC address to the default SSID.
2015-07-30 00:43:16 +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
007878781c
cc3200: Rename pins from GPIO to just GP.
...
This is how the names will be printed on the sticker that goes on top
of the EMI shield. The shorter names also help saving a few bytes of
RAM and ROM.
2015-07-30 00:43:08 +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
ecb7f9fe58
cc3200: Set simplelink time and date when enabling WLAN.
2015-07-10 11:37:48 +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
fa655ce196
cc3200: Improve interrupt handling and fix bug in HAL_Delay().
2015-07-07 16:11:05 +02:00
Daniel Campora
c030e77861
cc3200: Enable base64 methods from modubinascii.
2015-07-04 16:33: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
5161239c9f
cc3200: time.sleep() now receives seconds, like CPython.
2015-07-02 17:23: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