Damien George
df95f52583
py/modthread: Allow to properly set the stack limit of a thread.
...
We rely on the port setting and adjusting the stack size so there is
enough room to recover from hitting the stack limit.
2016-06-28 11:28:51 +01:00
Damien George
eef4f13a33
cc3200: Add basic threading capabilities.
...
Can create a new thread and run it. Does not use the GIL at this point.
2016-06-28 11:28:51 +01:00
Damien George
9b1c1262dc
cc3200: Define our own FreeRTOS heap so it can go in a special segment.
2016-06-28 11:28:50 +01:00
Damien George
5c0fc73f33
cc3200: Update FreeRTOS to v9.0.0.
...
This is a pristine copy (actually a subset of files) of upstream FreeRTOS
v9.0.0.
Modifications to the previous version of FreeRTOS (v8.1.2) included
addition of __attribute__ ((section (".boot"))) to the following
functions:
pxPortInitialiseStack
prvTaskExitError
prvPortStartFirstTask
xPortStartScheduler
vPortSetupTimerInterrupt
xTaskGenericCreate
vTaskStartScheduler
prvInitialiseTCBVariables
prvInitialiseTaskLists
prvAllocateTCBAndStack
This attribute will need to be reinstated on a case-by-case basis
because some of the above functions are now removed/changed.
2016-06-28 11:28:50 +01: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
Colin Hogben
104aa26271
cc3200, stmhal, teensy: Use pyhelp_print_obj function.
...
Update the help() implementations in the cc3200, stmhal and teensy
ports to use the pyhelp_print_obj function.
2016-04-25 18:54:59 +03:00
Jan Čapek
d76c65f599
py: Add rules for automated extraction of qstrs from sources.
...
- add template rule that converts a specified source file into a qstring file
- add special rule for generating a central header that contains all
extracted/autogenerated strings - defined by QSTR_DEFS_COLLECTED
variable. Each platform appends a list of sources that may contain
qstrings into a new build variable: SRC_QSTR. Any autogenerated
prerequisities are should be appened to SRC_QSTR_AUTO_DEPS variable.
- remove most qstrings from py/qstrdefs, keep only qstrings that
contain special characters - these cannot be easily detected in the
sources without additional annotations
- remove most manual qstrdefs, use qstrdef autogen for: py, cc3200,
stmhal, teensy, unix, windows, pic16bit:
- remove all micropython generic qstrdefs except for the special strings that contain special characters (e.g. /,+,<,> etc.)
- remove all port specific qstrdefs except for special strings
- append sources for qstr generation in platform makefiles (SRC_QSTR)
2016-04-16 13:18:09 +01:00
Paul Sokolovsky
9b0714b24c
py: Declare help, input, open builtins in core.
...
These are *defined* per-port, but why redeclare them again and again.
2016-04-15 00:07:56 +03:00
Damien George
6eb17c31a9
ports: Disable async/await on bare-arm, minimal, pic16bit, cc3200.
...
It costs 1188 bytes of code on Thumb 2 archs.
2016-04-13 15:31:30 +01:00
Paul Sokolovsky
4e51a3038c
cc3200/mods/modwlan: Include stream.h after recent refactor.
2016-04-06 01:18:39 +03:00
danicampora
8a18084571
cc3200: Update WiPy software version to 1.2.0
2016-02-27 00:19:53 +01: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
f5248a087a
cc3200: Fix "debug" build.
2016-02-21 21:53:21 +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
Paul Sokolovsky
96688de601
cc3200: Add stmhal/builtin_open.c to build.
2016-02-07 01:26:01 +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
0e1b5faad5
stmhal, cc3200: Actually implement machine -> umachine module weak link.
2015-12-18 22:22:43 +02: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
Damien George
9aaf888b42
cc3200: Add __get_BASEPRI and __set_BASEPRI inline function definitions.
2015-12-04 12:13:57 +00:00
danicampora
5d8164167e
cc3200: Correct buffer offset in serial flash diskio module.
2015-11-29 18:34:51 +01:00
Damien George
c3f64d9799
py: Change qstr_* functions to use size_t as the type for str len arg.
2015-11-29 14:25:04 +00:00
danicampora
db0a5aed39
cc3200: Bump version to 1.1.1.
2015-11-18 23:45:24 +01:00
danicampora
efc4da4be9
cc3200/README.md: Correct cc3200's update file name.
2015-11-18 20:10:19 +01:00
Gary Ashton-Jones
7080e9632c
cc3200/appsign.sh: Use md5 if running under Darwin.
2015-11-18 19:50:28 +01: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
Paul Sokolovsky
73ff0687f2
lib/utils/printf: Move from stmhal/ .
...
This file contains various MicroPython-specific helper functions, so isn't
good fit for lib/libc/.
2015-11-10 18:58:58 +02:00
Paul Sokolovsky
746b752b8e
stmhal/moduselect: Expose POLLIN/OUT/ERR/HUP constants.
...
This makes select.poll() interface fully compatible with CpYthon. Also, make
their numeric values of these options compatible with Linux (and by extension,
with iBCS2 standard, which jopefully means compatibility with other Unices too).
2015-11-09 22:10:31 +02:00
Damien George
40274fec9c
lib/pyexec: Move header pyexec.h from stmhal directory.
2015-11-09 13:13:09 +00:00
Alex March
c27e5c4b0b
cc3200: FatFS configuration moved to the library folder.
...
Port specific settinigs defined in mpconfigport. FreeRTOS and semphr
headers added to define SemaphoreHandle_t for the SYNC_T.
2015-11-08 22:21:17 +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
danicampora
1673e19cb9
cc3200: Make telnet server ignore NULL characters.
...
This fixes paste mode (Ctrl-E) which was not working for the
telnet REPL.
2015-11-05 21:42:58 +01:00
danicampora
056cb288d9
cc3200: Remove includes of rom.h (must be included via rom_map.h).
2015-11-01 23:33:12 +01:00
danicampora
f67d06194f
cc3200: Fix SPI clock divider calculation.
2015-11-01 23:33:12 +01:00
Paul Sokolovsky
000a12783c
cc3200: Use common pyexec.c .
2015-10-31 20:20:04 +03: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
f3b1a933fc
cc3200: Actually allow to specify a custom build directory.
2015-10-28 11:09:45 +01:00
danicampora
a0fb7a76cd
cc3200: Fix bug in FTP command buffer, and set listening backlog to 0.
2015-10-28 00:08:53 +01:00
danicampora
1950295735
cc3200: Set pin direction first, then value. Fixes #1542 .
2015-10-26 23:26:43 +01:00
Martijn Koster
8e8aac89a5
cc3200: Update README to change pyb to machine.
2015-10-25 21:36:01 +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
8fd8bb36b3
cc3200: Bump version to 1.1.0
...
Incluides several improvements and a few API changes to comply
with the new hardware API.
2015-10-21 16:42:14 +02:00
danicampora
075ca64521
cc3200: Fix UART tests after correcting uart.read() behaviour.
2015-10-21 15:30:57 +02:00
danicampora
be2879ce89
cc3200: Enable "all special methods" configuration option.
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
1c7f9b16f0
cc3200: Remove UART info on README.md.
...
The UART REPL it's not enabled by default anymore.
2015-10-21 15:30:56 +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
9a507c67ad
cc3200: Enable REPL autoindent.
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
65f6324573
cc3200: Increase stack sizes a bit.
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
Damien George
0334058fa4
Rename "Micro Python" to "MicroPython" in REPL, help, readme's and misc.
2015-10-12 00:06:25 +01: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
ff736d6f6f
cc3200: WiPy SW v1.0.0 release.
2015-09-28 00:14:25 +02: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
635ef16432
cc3200/tools: Improve update script robustness.
2015-09-27 02:00:46 +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
06d93b36f9
cc3200: Correct safe boot level 1 blinking period.
2015-09-21 22:30:04 +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
c69642a460
cc3200: Increase error led blynk period to 100ms
2015-09-16 10:10:17 +02:00
Daniel Campora
3c4b78e166
cc3200: Keep overwriting the same image on sequential updates.
2015-09-16 10:10:15 +02:00
Daniel Campora
7d6b6f6681
cc3200: Make UART choose default id when not given.
2015-09-16 10:10:13 +02:00
Daniel Campora
4ba9b34012
cc3200: Reduce servers cycle time to improve FTP transfer rate.
2015-09-16 10:10:11 +02:00
Daniel Campora
f352fe82a5
tests/wipy: Add I2C tests.
2015-09-10 08:00:59 +02:00
Daniel Campora
7c87747db0
cc3200: Disable some uPy features in debug mode to help code fit.
2015-09-10 08:00:47 +02:00