Commit Graph

161 Commits

Author SHA1 Message Date
Damien George
60c3c22a0d examples/natmod: Add features1 and features2 examples. 2019-12-12 20:15:28 +11:00
Damien George
42c1aed2bb examples/natmod: Add ure example. 2019-12-12 20:15:28 +11:00
Damien George
2a485e1084 examples/natmod: Add framebuf example. 2019-12-12 20:15:28 +11:00
Damien George
16e591e412 examples/natmod: Add uzlib example. 2019-12-12 20:15:28 +11:00
Damien George
83f9fb169e examples/natmod: Add uheapq example. 2019-12-12 20:15:28 +11:00
Damien George
37817ab4ba examples/natmod: Add btree example. 2019-12-12 20:15:28 +11:00
Jim Mussared
0527baf7fa examples/bluetooth: Add example for reading temperature sensor. 2019-11-25 17:32:10 +11:00
Jim Mussared
3436223630 examples/bluetooth: Add helpers for decoding advertising payloads.
Extracts name and service UUID fields.
2019-11-25 17:32:10 +11:00
Damien George
1266ba9754 examples/embedding: Remove obsolete fatfs files from build. 2019-11-11 11:37:32 +11:00
Jim Mussared
25946d1ef4 examples/bluetooth/ble_uart_peripheral: Use append mode for RX char. 2019-10-29 23:11:11 +11:00
Damien George
a8138b75b1 examples/embedding: Replace symlink of mpconfigport.h with real file. 2019-10-29 22:53:34 +11:00
Jim Mussared
9c5262f25e examples/bluetooth/ble_uart_peripheral.py: Add usage demo. 2019-10-22 14:30:23 +11:00
Jim Mussared
3e1af5b36f examples/bluetooth: Use UUIDs directly to add services to adv payload. 2019-10-22 13:54:09 +11:00
Jim Mussared
25a228af7e examples/bluetooth: Add basic BLE peripheral examples.
Consisting of:
- ble_advertising.py -- helper to generate advertising payload.
- ble_temperature.py -- simple temperature device.
- ble_uart_periperhal.py -- BLE UART wrapper.
- ble_uart_repl.py -- dupterm-compatible uart.
2019-10-18 13:36:51 +11:00
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