Damien George
af20c2ead3
py: Add global default_emit_opt variable to make emit kind persistent.
...
mp_compile no longer takes an emit_opt argument, rather this setting is now
provided by the global default_emit_opt variable.
Now, when -X emit=native is passed as a command-line option, the emitter
will be set for all compiled modules (included imports), not just the
top-level script.
In the future there could be a way to also set this variable from a script.
Fixes issue #4267 .
2019-08-28 12:47:58 +10:00
Paul Sokolovsky
af5b509c75
examples/unix/ffi_example: Clean up and update the ffi example.
...
1. Use uctypes.bytearray_at().
Implementation of the "ffi" module predates that of "uctypes", so
initially some convenience functions to access memory were added
to ffi. Later, they landed in uctypes (which follows CPython's
ctype module).
So, replace undocumented experimental functions from ffi to
documented ones from uctypes.
2. Use more suitable type codes for arguments (e.g. "P" (const void*)
instead of "p" (void*).
3. Some better var naming.
4. Clarify some messages printed by the example.
2018-10-23 11:50:39 +11:00
Damien George
0f4d595beb
examples/embedding: Fix hard-coded MP_QSTR_ value.
2018-09-14 13:33:08 +10:00
Dave Hylands
1a2c511e5d
examples/embedding: Fix reference to freed memory, lexer src name.
...
This issue was brought up by BramPeters in the forum:
https://forum.micropython.org/viewtopic.php?p=30066
2018-09-14 13:27:43 +10:00
Damien George
31cf49c672
examples/embedding: Add code markup and fix typo in README.md.
2018-06-18 12:29:22 +10:00
Damien George
6b40a06057
examples/embedding: Don't prefix $(MPTOP) to ports/unix source files.
...
Otherwise the build process puts the corresponding output object files in
two directories lower, not in build/ports/unix.
2018-02-23 13:15:01 +11:00
talljosh
c2f4f36010
examples/embedding: Update broken paths to use correct $(MPTOP).
...
Some ".." need to be changed to $(MPTOP), and in some places "ports/" needs
to be inserted to get to the "ports/unix/" subdir.
2018-02-22 14:50:45 +11:00
Damien George
24c513cbc3
unix/Makefile,embedding/Makefile: Remove obsolete use of STMHAL_SRC_C.
2018-02-14 15:24:21 +11:00
Paul Sokolovsky
53966fd9a8
examples: hwconfig_console: Add .on()/.off() methods.
...
Add these methods to this "GPIO output emulated with console prints"
config.
2017-10-09 00:22:30 +03:00
Damien George
4a93801c12
all: Update Makefiles and others to build with new ports/ dir layout.
...
Also renames "stmhal" to "stm32" in documentation and everywhere else.
2017-09-06 14:09:13 +10:00
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
761e4c7ff6
all: Remove trailing spaces, per coding conventions.
2017-07-19 13:12:10 +10:00
Damien George
4d2778c9fb
examples/embedding: Use core-provided KeyboardInterrupt object.
2017-06-07 20:28:18 +10:00
Ville Skyttä
ca16c38210
various: Spelling fixes
2017-05-29 11:36:05 +03:00
Paul Sokolovsky
0af974b777
examples/hwapi/soft_pwm2_uasyncio: Update for call_later_ms().
...
Following finalized naming in uasyncio.
2017-05-17 00:44:00 +03:00
Paul Sokolovsky
5feeba8897
examples/hwapi/hwconfig*: Use inline Signal() args where possible.
2017-05-12 01:19:13 +03:00
Paul Sokolovsky
11a962099e
examples/hwapi: Add config for Zephyr port of 96Boards Carbon.
2017-04-27 18:08:05 +03:00
Damien George
61616e84ce
extmod/machine_signal: Rename "inverted" arg to "invert", it's shorter.
...
A shorter name takes less code size, less room in scripts and is faster to
type at the REPL.
Tests and HW-API examples are updated to reflect the change.
2017-04-15 21:01:47 +03:00
Damien George
4c307bfba1
all: Move BYTES_PER_WORD definition from ports to py/mpconfig.h
...
It can still be overwritten by a port in mpconfigport.h but for almost
all cases one can use the provided default.
2017-04-01 11:39:38 +11: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
Krzysztof Blazewicz
75589272ef
all/Makefile: Remove -ansi from GCC flags, its ignored anyway.
...
The -ansi flag is used for C dialect selection and it is equivalent to -std=c90.
Because it goes right before -std=gnu99 it is ignored as for conflicting flags
GCC always uses the last one.
2017-03-23 15:32:12 +11:00
Damien George
21420b13c0
examples/embedding: Place lexer constructor within NLR handler block.
...
The lexer constructor may now raise an exception and it needs to be caught.
2017-03-14 11:52:05 +11:00
Paul Sokolovsky
eb101a2701
examples/embedding/README: Convert to markdown, grammar and clarity fixes.
2017-02-15 13:27:24 +03:00
Paul Sokolovsky
dd00d0134b
examples/hwapi/soft_pwm: Use Signal on()/off() methods.
...
Just one sample is updated with on()/off() for now, there should be
remaining sample(s) showing .value() use (but more can be converted later,
as long as 1 or so good samples of .value() remains).
2017-02-14 13:13:41 +03:00
Damien George
c66c393130
examples/hwapi: Be sure to import Signal when it's used.
2017-02-09 15:21:57 +11:00
Kai Fricke
c8febe631a
examples/hwapi: Add hwconfig_pyboard.py for pyboard.
2017-02-09 15:19:28 +11:00
Paul Sokolovsky
a4a439caa3
examples/button_reaction: Update for time_pulse_us() no longer raising exc.
2017-02-05 18:01:42 +03:00
Paul Sokolovsky
a5bed53738
examples/hwapi: Consistently use Signal class to define LEDs.
2017-01-29 19:09:33 +03:00
Paul Sokolovsky
297af6036e
examples/hwapi: Use Signal for inverted LED on ESP-12.
2017-01-29 18:57:37 +03:00
Paul Sokolovsky
1e9093f8cb
examples/hwapi/hwconfig_console: Don't alloc memory in value().
2016-12-23 17:24:24 +03:00
Damien George
c28fed6b64
examples/accellog.py: Change 1: to /sd/, and update comment about FS.
2016-11-18 17:00:54 +11:00
Paul Sokolovsky
00d6f99cf1
examples/hwapi: Add hwconfig for console tracing of LED operations.
2016-11-18 07:20:26 +03:00
Paul Sokolovsky
b188d6e9db
examples/hwapi: Add example for machine.time_pulse_us().
2016-11-17 01:10:00 +03:00
Damien George
6b239c271c
py: Factor out persistent-code reader into separate files.
...
Implementations of persistent-code reader are provided for POSIX systems
and systems using FatFS. Macros to use these are MICROPY_READER_POSIX and
MICROPY_READER_FATFS respectively. If an alternative implementation is
needed then a port can define the function mp_reader_new_file.
2016-11-16 18:13:50 +11:00
Paul Sokolovsky
bf318801d2
examples/hwapi: Add uasyncio example of fading 2 LEDs in parallel.
2016-11-14 01:37:27 +03:00
Paul Sokolovsky
00a9590e3a
examples/http_client: Use read() instead of readall().
2016-11-14 00:24:45 +03:00
Paul Sokolovsky
99e5badeb1
examples/hwapi: Add soft_pwm example converted to uasyncio.
2016-11-13 17:00:24 +03:00
Paul Sokolovsky
3c0da6a359
examples/hwapi: button_led: Add GPIO pin read example.
...
Requires BUTTON defined in hwconfig, so far tested on DragonBoard 410c.
2016-11-12 00:09:43 +03:00
Paul Sokolovsky
29f3f84fbd
examples/hwapi: Add hwconfig for DragonBoard 410c.
...
This requires recently added implementation of machine.Pin from
micropython-lib.
2016-11-10 01:59:10 +03:00
Paul Sokolovsky
8f068e84ee
examples/hwapi: Example showing best practices for HW API usage in apps.
...
Showing and providing detailed instructions and motivation.
2016-11-06 22:08:35 +03:00
Paul Sokolovsky
73b72799f3
examples/http_server_simplistic: Add "not suitable for real use" note.
2016-10-26 12:25:33 +03:00
Paul Sokolovsky
fa5ac678fc
examples/network/http_client*: Use \r\n line-endings in request.
2016-10-09 19:36:04 +03:00
Philip Potter
c777b6950e
stmhal: Update boot.py files to use VCP instead of CDC.
2016-08-29 15:17:34 +10:00
Damien George
675d1c9c60
ports: Remove typedef of machine_ptr_t, it's no longer needed.
...
This type was used only for the typedef of mp_obj_t, which is now defined
by the object representation. So we can now remove this unused typedef,
to simplify the mpconfigport.h file.
2016-08-15 11:02:59 +10:00
Paul Sokolovsky
3d19adf9b3
examples/network: Split recv- and read-based HTTP servers.
...
Name recv() based a "simplistic", as it can't work robustly in every
environment. All this is to let people concentreate on proper, read()-
based one (and to turn recv() based into a "negative showcase",
explaining what are the pitfalls of such approach).
2016-08-06 01:59:51 +03:00
Paul Sokolovsky
eb0e3bab1e
tests/machine_mem.py: Too non-portable, rework as an example for unix port.
2016-07-31 04:22:09 +03:00
Paul Sokolovsky
614deb82c7
examples/http_client*: Be sure to close socket.
...
Otherwise, on bare-metal/RTOS systems can lead to resource leaks.
2016-07-23 00:41:19 +03:00
Paul Sokolovsky
4d4cfc2ee6
examples/embedding: Add README.
2016-07-22 22:13:03 +03:00
Paul Sokolovsky
1e77e25675
examples/embedding: Example for embedding MicroPython in an app.
2016-07-22 22:13:03 +03:00
Paul Sokolovsky
e3f0f31e07
examples/http_server*: Update for buffered-like streams (read line by line).
...
Since "read-exactly" stream refactor, where stream.read(N) will read
exactly N bytes (unless EOF), http_server* examples can't any longer do
client_socket.read(4096) and expect to get full request (it will block
on HTTP/1.1 client). Instead, read request line by line, as the HTTP
protocol requires.
2016-07-10 23:01:52 +03:00
Paul Sokolovsky
70536212d5
examples/unix/ffi_example.py: Remove TODO, make output more clear.
2016-06-17 19:24:58 +03:00
Paul Sokolovsky
ecfd8e102d
examples/unix/ffi_example.py: Update for current "ffi" module API.
2016-06-17 19:21:37 +03:00
Paul Sokolovsky
c2d885501f
examples/network/: Use getaddrinfo() result in easy way.
...
Instead of extracting 4th element, extact last. Much easier to remember!
2016-05-03 00:45:37 +03:00
Paul Sokolovsky
8fcfaf6f22
examples/http_server_ssl.py: HTTPS server example.
2016-04-28 21:39:17 +03:00
Paul Sokolovsky
4f2d59e82f
examples/http_client_ssl.py: HTTPS client example.
2016-04-02 23:19:03 +03:00
Paul Sokolovsky
ec5f8db49d
examples/http_server.py: Bind to 0.0.0.0, to be accessible from other hosts.
...
This is helpful when running on deeply embedded targets, but may be
"security risk". Caveat emptor.
2016-04-02 23:14:19 +03:00
Paul Sokolovsky
c07a03a36d
examples/http_server.py: Introduce main() function.
...
Allows to re-run code if it was imported as a module (e.g., on bare-metal
ports).
2016-04-02 20:57:58 +03:00
Paul Sokolovsky
aa3fb7b387
examples/http_server.py: Refactor/simplify for Python 3.5.
2016-04-02 20:53:29 +03:00
Paul Sokolovsky
fd2b71f972
examples/http_client.py: Introduce main() function.
...
Allows to re-run code if it was imported as a module (e.g., on bare-metal
ports).
2016-04-02 19:13:39 +03:00
Paul Sokolovsky
a5d07c3aba
examples/http_client.py: Improve CPython compatibility in stream mode.
2016-04-02 17:28:42 +03:00
Paul Sokolovsky
cef073877b
example/http_client.py: Remove unused code.
2016-04-01 21:10:06 +03:00
Paul Sokolovsky
cf4b72bf13
examples: http_client.py, http_server.py aren't just unix, move to network/.
2016-04-01 20:53:23 +03:00
Paul Sokolovsky
bae052d420
examples/unix: Rename example be importable as modules.
...
Replace hyphens with undescores in modules.
2016-01-09 12:04:25 +02:00
Paul Sokolovsky
9d0d6d3830
examples/accel_i2c.py: Switch to "machine" module.
2015-11-29 02:56:26 +02:00
Paul Sokolovsky
a2e0d92eeb
examples: Add example of I2C usage, taking PyBoard accelerometer as subject.
2015-10-28 21:04:03 +03:00
Sebastian Plamauer
91bd4e8a23
changed file paths to new names
2014-10-25 23:59:33 +01:00
Damien George
0c3955b506
examples: Update conwaylife to work with new LCD API.
2014-10-19 19:02:34 +01:00
Paul Sokolovsky
23b3b04072
unix: Rename "microsocket" module to "usocket".
...
Per new conventions, we'd like to consistently use "u*" naming conventions
for modules which don't offer complete CPython compatibility, while offer
subset or similar API.
2014-10-09 20:43:10 +03:00
Paul Sokolovsky
a2d8f98a7e
examples: Rename unix socket examples to have more precise naming (http).
2014-10-09 20:35:56 +03:00
Damien George
1d8a06406a
examples: Added pins.py example script to list pin config/af.
...
Script is due to Dave Hylands.
2014-08-24 18:34:38 +01:00
Metallicow
3d5ffa8318
remove `__doc__ =` and fix tweak doc diffs
2014-06-03 07:46:12 -06:00
Damien George
517f292c8d
examples, switch: Make run_loop take sequence of LED objects.
2014-06-01 18:34:58 +01:00
Metallicow
9500e98433
__doc__ switch, make importable, and easy to test
2014-06-01 08:18:13 -06:00
Metallicow
f94cc975a2
Add switch test example
2014-05-31 23:15:04 -06:00
Metallicow
fa82aa81c0
LED Fix
2014-05-31 23:10:10 -06:00
Damien George
3417bc2f25
py: Rename byte_code to bytecode everywhere.
...
bytecode is the more widely used. See issue #590 .
2014-05-10 10:36:38 +01:00
Damien George
fa2e701e23
examples, SDdatalogger: Add more comments; reduce power consumption.
2014-05-05 14:09:23 +01:00
Sebastian Plamauer
98243ccca4
deleted garbage
2014-05-04 19:08:14 +02:00
Sebastian Plamauer
96e97ed2ce
created SDdatalogger example
2014-05-04 19:07:17 +02:00
Sebastian Plamauer
c114565bfa
updated to use new pyb.Accel() object
2014-05-04 13:11:16 +02:00
Sebastian Plamauer
3526716a5b
updated to fit new acceleration and time/millis
...
Changed pyb.accel() and pyb.time() to the new pyb.Accel() object and pyb.millis() function.
Also shortened the loop so the writing is finished before the USB connection messes things up.
2014-05-04 12:53:01 +02:00
Damien George
8721087661
py: Big improvements to inline assembler.
...
Improved the Thumb assembler back end. Added many more Thumb
instructions to the inline assembler. Improved parsing of assembler
instructions and arguments. Assembler functions can now be passed the
address of any object that supports the buffer protocol (to get the
address of the buffer). Added an example of how to sum numbers from
an array in assembler.
2014-04-13 00:30:32 +01:00
Damien George
71dcd51989
examples: Add example script to flash an LED using inline assembler.
2014-04-12 18:27:23 +01:00
Paul Sokolovsky
8bc3516389
ffi: Implement ffivar.get()/set() methods.
...
Done by introducing another factored out helper API in binary.c. This API
can be reused also by array and struct modules.
2014-02-14 20:38:35 +02:00
Paul Sokolovsky
9945f33886
Rename "rawsocket" module to "microsocket".
...
It's no longer intended to provide just "raw" socket interface, may include
some convenience methods for compatibility with CPython socket - but anyway
just minimal set required to deal with socket client and servers, not wider
network functionality.
2014-02-08 21:20:32 +02:00
Paul Sokolovsky
809eaa2679
Add FFI module example.
2014-01-29 00:37:09 +02:00
Paul Sokolovsky
4795c58f3c
sock-server.py: Use SO_REUSEADDR to avoid errors on quick restart.
2014-01-26 02:03:07 +02:00
Damien George
4461970da0
Small edits to examples to get them working again with unix/micropython.
2014-01-24 22:26:13 +00:00
ugurthemaster
b94a209d1f
Update conwaylife.py
...
Import statements have been moved to the top of the file.
2014-01-24 08:48:10 +02:00
Paul Sokolovsky
d991da7263
socket-client, socket-server examples now run on both Micro- and C-Python.
2014-01-20 20:37:01 +02:00
Paul Sokolovsky
e2f3e1d24a
Add socket examples (simple HTTP client and server).
2014-01-19 07:29:30 +02:00
Paul Sokolovsky
c8742a06ca
Add dummy micropython module to enable mandel.py run with CPython.
2014-01-16 19:29:11 +02:00
Paul Sokolovsky
d0db3d3e45
conwaylife.py: Give people chance to enjoy the show.
...
Delay between frames; run more generations.
2014-01-16 19:29:11 +02:00
Paul Sokolovsky
2aefde06b7
CPython pyb.py placeholder: Implement delay().
2014-01-16 19:29:11 +02:00
Damien George
fd04bb3bac
Add some example scripts for pyboard (some can run on PC).
2014-01-07 17:14:05 +00:00
Damien George
e2e3d11e87
py: Fix up number operations and coercion.
2014-01-06 22:13:00 +00:00