Jason Neal
aec88ddf03
docs: More consistent capitalization and use of articles in headings.
...
See issue #3188 .
2020-01-06 22:17:29 +11:00
Damien George
1f37194730
all: Bump version to 1.12.
2019-12-20 16:58:17 +11:00
Matt Trentini
7f235cbee9
docs/esp32: Add quickref and full docs for esp32.RMT class.
2019-12-20 12:25:38 +11:00
Damien George
8449e41818
docs/develop: Add documentation on how to build native .mpy modules.
2019-12-19 17:07:53 +11:00
Damien George
e58c7ce3d6
docs/reference: Add documentation describing use of .mpy files.
...
Including information about .mpy versioning and how to debug failed imports
of .mpy files.
2019-12-19 17:06:27 +11:00
ketograph
04e7aa0563
docs/esp8266/quickref: Add note that machine.RTC is not fully supported.
...
See issues #3220 and #3710 .
2019-12-17 12:19:27 +11:00
Jim Mussared
f3f7eb48da
docs/library/uos.rst: Clarify why the extended interface exists.
2019-12-16 12:45:15 +11:00
Damien George
b310930dba
docs/library/uos: Add notes and links about littlefs failures.
2019-12-10 16:58:53 +11:00
Damien George
159388f850
docs/library/ubluetooth: Add note about API being under development.
2019-12-10 16:58:27 +11:00
Damien George
381be9a745
docs/reference/filesystem: Add note and example about using filesystem.
2019-12-09 14:21:22 +11:00
Daniel Mizyrycki
50dc5f10a6
docs/reference/filesystem: Fix typo in block device code example.
2019-12-09 14:13:09 +11:00
Damien George
84958a8fe1
extmod/modbluetooth: Allow setting ringbuf size via BLE.config(rxbuf=).
...
The size of the event ringbuf was previously fixed to compile-time config
value, but it's necessary to sometimes increase this for applications that
have large characteristic buffers to read, or many events at once.
With this commit the size can be set via BLE.config(rxbuf=512), for
example. This also resizes the internal event data buffer which sets the
maximum size of incoming data passed to the event handler.
2019-12-05 11:30:35 +11:00
Damien George
7aeafe2ae9
extmod/modbluetooth: Add optional 4th arg to gattc_write for write mode.
...
This allows the user to explicitly select the behaviour of the write to the
remote peripheral. This is needed for peripherals that have
characteristics with WRITE_NO_RESPONSE set (instead of normal WRITE). The
function's signature is now:
BLE.gattc_write(conn_handle, value_handle, data, mode=0)
mode=0 means write without response, while mode=1 means write with
response. The latter was the original behaviour so this commit is a change
in behaviour of this method, and one should specify 1 as the 4th argument
to get back the old behaviour.
In the future there could be more modes supported, such as long writes.
2019-12-04 23:23:07 +11:00
Jim Mussared
9a849cc7ca
docs: Add littlefs docs and a filesystem tutorial.
2019-12-04 23:18:23 +11:00
Jim Mussared
f2650be844
docs/library: Add docs for pyb.Flash class.
2019-12-04 23:18:17 +11:00
Jim Mussared
d7dbd267e7
docs/reference: Add docs describing use of pyboard.py.
2019-12-04 23:18:03 +11:00
Damien George
90c524c114
docs: Remove spaces on lines that are empty.
2019-12-04 15:02:54 +11:00
Jim Mussared
e873d352ad
extmod/modbluetooth: Simplify management of pre-allocated event data.
...
The address, adv payload and uuid fields of the event are pre-allocated by
modbluetooth, and reused in the IRQ handler. Simplify this and move all
storage into the `mp_obj_bluetooth_ble_t` instance.
This now allows users to hold on to a reference to these instances without
crashes, although they may be overwritten by future events. If they want
to hold onto the values longer term they need to copy them.
2019-11-25 17:32:10 +11:00
Damien George
d667bc642f
docs/library/ubluetooth: Fix name and link to FLAG_xxx constants.
2019-11-12 15:15:12 +11:00
Jim Mussared
d30b75e8f2
docs/library/machine.SDCard.rst: Fix various typos.
2019-11-07 14:47:11 +11:00
Jim Mussared
59850c0b83
docs/templates/topindex.html: Replace usage of deprecated defindex.html.
...
defindex.html (used by topindex.html) is deprecated, but topindex.html was
already identical other than setting the title, so just inherit directly
from layout.html.
2019-11-07 14:45:55 +11:00
Jim Mussared
1295146a6f
docs/conf.py: Fix path to favicon.ico.
2019-11-07 14:45:34 +11:00
Jim Mussared
ca3d4c84e4
docs/library/ubluetooth: Add docs for gatts_set_buffer.
2019-10-29 23:11:11 +11:00
Damien George
7a24b7f091
docs/library: Add documentation for extended block device protocol.
2019-10-29 14:17:29 +11:00
Mike Wadsten
f69ef97f24
docs: Move ubluetooth under "MicroPython-specific libraries".
...
CPython does not have a bluetooth module,
so it is not appropriate to call ubluetooth
a Python standard library or micro-library.
2019-10-23 11:43:01 -05:00
Jim Mussared
19e87742c4
docs/library/bluetooth: Rename to "ubluetooth".
2019-10-22 21:58:05 +11:00
Damien George
a2eea57b1d
docs/library: Rename "array" module to "uarray".
2019-10-22 16:40:58 +11:00
Volodymyr Shymanskyy
615d6b3c66
docs/wipy/tutorial: Link Blynk examples to the official library.
2019-10-16 14:20:31 +11:00
Mike Causer
a2c4cb484d
docs: Fix spelling in various parts of the docs.
2019-10-16 14:08:28 +11:00
Mike Causer
5a8f392f09
docs/esp8266: Add ntptime usage to esp8266 quickref.
2019-10-16 14:08:13 +11:00
Peter Hinch
c0b3419261
docs/library: Clarify relation between machine and port-specific mods.
2019-10-16 14:03:44 +11:00
Thiago Paes
5463ab6df6
docs/esp8266/tutorial: Make http_get sample function self contained.
2019-10-16 13:52:04 +11:00
Damien George
d1ed73ca8f
docs/library/bluetooth.rst: Fix typo in HR/UART services example.
2019-10-16 11:23:54 +11:00
Jim Mussared
36502bdfdc
extmod/modbluetooth: Make gap_disconnect not raise when disconnected.
...
Previously it raised OSError(MP_ENOTCONN) if the conn_handle was already
disconnected. Now it returns True/False.
2019-10-15 17:22:53 +11:00
Jim Mussared
ea315d7d58
docs/library/bluetooth.rst: Explain how to increase char buffer size.
2019-10-15 17:22:45 +11:00
Jim Mussared
62e3a966fb
docs/library/bluetooth.rst: Clarify gap_advertise adv_data behavior.
...
Make it clear that the previous adv_data will be reused if it's not set.
And some minor other improvements.
2019-10-15 17:21:32 +11:00
Jim Mussared
a93495b66d
docs/reference/glossary.rst: Add new terms and reduce complexity of old.
2019-10-15 16:36:02 +11:00
Jim Mussared
dc82bee298
docs/library/bluetooth: Add initial BLE documentation.
2019-10-11 14:03:01 +11:00
Jim Mussared
4ddd46e6cf
docs/develop/qstr.rst: Add documentation for string interning.
2019-10-04 17:13:13 +10:00
Damien George
78e0e76b4f
docs/library/pyb.USB_VCP.rst: Add info about id and flow params.
2019-09-26 14:00:21 +10:00
Damien George
cb84e22ac6
docs/library/pyb.rst: Update pyb.usb_mode() to mention VCP+MSC+HID.
2019-09-11 15:17:38 +10:00
Damien George
50636e5296
docs/library/pyb.rst: Update docs for pyb.usb_mode() function.
2019-09-10 13:22:35 +10:00
Damien George
e509da22df
docs/library: Specify new machine.ADC class.
...
This initial specification is only for the ADC constructor and read_u16()
method.
2019-09-04 15:35:09 +10:00
Damien George
8a237237a3
docs: Rename machine.ADC docs to machine.ADCWiPy.
...
To signify that this ADC documentation is specific to the WiPy, and to make
way for a standardised ADC documentation.
2019-09-04 15:05:03 +10:00
Jim Mussared
74fe841449
docs/library/pyb.DAC.rst: Correct frequency for triangle mode output.
...
Also correct comments in related code.
2019-09-03 23:25:45 +10:00
Paul m. p. P
afc8596c15
docs/reference/speed_python: Add missing self to var caching example.
2019-08-28 12:55:41 +10:00
Damien George
05eb897d06
esp32: Add esp32.Partition class to expose partition and OTA funcs.
...
Partitions are exposed as a standard MicroPython block device.
2019-08-20 16:49:18 +10:00
Peter Hinch
3a679eaf00
docs/reference/speed_python: Update that read-only buffers are accepted.
...
As allowed by recent cd35dd9d9a
2019-08-19 16:39:30 +10:00
Vicki Lowe
afd10a4531
docs/pyboard: Emphasize the instructions for making a USB mouse.
...
It wasn't clear why that element was `10` instead of `0`. Also bumped the
`10` to `100` to make the mouse movement more obvious.
2019-08-15 18:21:10 +10:00
Tom McDermott
d5a7741606
docs/library: Document that sys.version_info returns a 3-tuple only.
...
See issue #4970 .
2019-08-15 18:12:22 +10:00
Vicki Lowe
6592a30f4b
docs/pyboard: Clarify initial files on pyboard and fix up formatting.
2019-08-15 18:01:28 +10:00
Vicki Lowe
57476a3c37
docs/pyboard: Update name of mounted volume to match code.
2019-08-15 17:50:06 +10:00
Damien George
ed9c0185d8
docs/library/sys: Add documentation for sys.atexit function.
2019-08-15 17:42:38 +10:00
Arsenijs
00e7fe8ab1
docs/library/framebuf: Add missing module reference in example code.
2019-07-31 23:45:24 +10:00
Damien George
a29334761d
esp32: Add support for hardware I2C.
2019-07-19 16:31:25 +10:00
Jim Mussared
bc66fe9064
py/scheduler: Rename sched_stack to sched_queue.
...
Behaviour was changed from stack to queue in
8977c7eb58
, and this updates variable names
to match. Also updates other references (docs, error messages).
2019-07-17 16:09:32 +10:00
Nicko van Someren
1a51fc9ddf
esp32/machine_sdcard: Fix bug in SPI slot number selection.
...
And fix minor typo in docs when referring to SDCard class.
2019-06-17 12:36:22 +10:00
Nicko van Someren
6077d17150
docs/machine: Add initial docs for new machine.SDCard class.
2019-06-03 00:42:24 +10:00
Damien George
6f75c4f3cd
all: Bump version to 1.11.
2019-05-29 16:38:10 +10:00
Damien George
e5e472198c
docs/pyboard/quickref: Refer to new machine.I2C instead of old pyb.I2C.
...
On stm32 boards, machine.I2C is now preferred over pyb.I2C.
2019-05-20 15:46:01 +10:00
Damien George
8bec0e869d
docs/machine.I2C: Add writevto method to write a vector of byte bufs.
...
This allows to efficiently send to an I2C slave data that is made up of
more than one buffer. Instead of needing to allocate temporary memory to
combine buffers together this new method allows to pass in a tuple or list
of buffers. The name is based on the POSIX function writev() which has
similar intentions and signature.
The reasons for taking this approach (compared to having an interface with
separate start/write/stop methods) are:
- It's a backwards compatible extension.
- It's convenient for the user.
- It's efficient because there is only one Python call, then the C code can
do everything in one go.
- It's efficient on the I2C bus because the implementation can do
everything in one go without pauses between blocks of bytes.
- It should be possible to implement this extension in all ports, for
hardware and software I2C.
Further discussion is found in issue #3482 , PR #4020 and PR #4763 .
2019-05-20 14:51:56 +10:00
Nicko van Someren
f812394c33
docs/esp32: Correct quickref for ESP32 hardware SPI with non-default IO.
2019-05-10 15:56:13 +10:00
Damien George
34942d0a72
stm32/machine_uart: Change default UART timeout to 0, for non blocking.
...
It's more common to need non-blocking behaviour when reading from a UART,
rather than having a large timeout like 1000ms (the original behaviour).
With a large timeout it's 1) likely that the function will read forever if
characters keep trickling it; or 2) the function will unnecessarily wait
when characters come sporadically, eg at a REPL prompt.
2019-05-07 13:56:42 +10:00
Mike Causer
6323cbda4f
docs/esp8266: Add tutorial for APA102 LEDs.
2019-05-07 11:45:10 +10:00
Yonatan Goldschmidt
ef9843653b
extmod/moducryptolib: Add AES-CTR support.
...
Selectable at compile time via MICROPY_PY_UCRYPTOLIB_CTR. Disabled by
default.
2019-05-06 18:09:48 +10:00
Daniel O'Connor
d4e182039f
docs/cmodules: Note the various ways MODULE_EXAMPLE_ENABLED can be set.
2019-04-18 11:59:43 +10:00
Daniel O'Connor
fd58136d6b
docs/cmodules: Fix example to globally define MODULE_EXAMPLE_ENABLED.
...
MODULE_EXAMPLE_ENABLED must be globally defined for the module to be seen
and referenced by all parts of the code.
2019-04-15 11:56:22 +10:00
Damien George
0fb15fc3f4
docs/develop: Remove paragraph that was copied in error from other doc.
2019-03-29 11:50:39 +11:00
spacemanspiff2007
95b6330403
docs/esp32: Add example for pin isolation in combination with deepsleep.
2019-03-28 15:25:41 +11:00
Damien George
28c2873d99
docs/esp32: Add a note to quickref about use of Pin.PULL_HOLD.
2019-03-14 07:38:50 +11:00
Damien George
6fa830bfd8
docs/library/machine.Pin: Add PULL_HOLD constant to possible pin pulls.
...
As already mentioned in the docs, not all constants may be available on all
ports, so this is optional to implement.
2019-03-14 07:29:04 +11:00
Martin Fischer
912e957512
docs/develop: Fix typos in C-module example for example_add_ints.
2019-03-13 12:54:01 +11:00
johnthagen
ea95bdc1ca
docs/pyboard: Make pyboard v1.1 pinout the default shown in quickref.
2019-03-13 12:37:35 +11:00
johnthagen
d390ad9053
docs/pyboard: Add link to pyboard v1.1 schematic and layout PDF.
2019-03-13 12:33:02 +11:00
Andrew Leech
89ff506513
py: Update and rework build system for including external C modules.
...
How to use this feature is documented in docs/develop/cmodules.rst.
2019-03-08 22:58:42 +11:00
Ayke van Laethem
2e516074da
py: Implement a module system for external, user C modules.
...
This system makes it a lot easier to include external libraries as static,
native modules in MicroPython. Simply pass USER_C_MODULES (like
FROZEN_MPY_DIR) as a make parameter.
2019-03-08 22:49:00 +11:00
Yonatan Goldschmidt
9521399044
docs/uos: Document extra requirements on stream objs passed to dupterm.
...
This is only correct for the extmod/uos_dupterm.c implementation however,
as e.g cc3200 implementation does the mp_load_method() itself, and anyway
requires `read` instead of `readinto`.
2019-02-26 01:12:37 +11:00
Mike Causer
812969d615
all: Change PYB message prefix to MPY.
...
Replaces "PYB: soft reboot" with "MPY: soft reboot", etc.
Having a consistent prefix across ports reduces the difference between
ports, which is a general goal. And this change won't break pyboard.py
because that tool only looks for "soft reboot".
2019-02-12 15:18:33 +11:00
Yonatan Goldschmidt
a0d60c574a
docs/ure: Fix match.group signature to indicate index param is required.
2019-02-08 17:06:19 +11:00
Damien George
4dfcc255d5
docs: Convert all cases of machine.sleep to machine.lightsleep.
2019-01-30 14:15:51 +11:00
Damien George
b16146d189
docs/machine: Change sleep to lightsleep and add timeout arguments.
...
The machine.sleep() function can be misleading because it clashes with
time.sleep() which has quite different semantics. So change it to
machine.lightsleep() which shows that it is closer in behaviour to
machine.deepsleep().
Also, add an optional argument to these two sleep functions to specify a
maximum time to sleep for. This is a common operation and underlying
hardware usually has a special way of performing this operation.
The existing machine.sleep() function will remain for backwards
compatibility purposes, and it can simply be an alias for
machine.lightsleep() without arguments. The behaviour will be the same.
2019-01-27 11:12:16 +11:00
Damien George
3e25d611ef
all: Bump version to 1.10.
2019-01-26 00:56:48 +11:00
Damien George
acd647100b
docs/library: Add documentation for esp32 module.
2019-01-25 12:18:34 +11:00
Matt Trentini
69e72954ad
docs: Add initial docs for esp32 port, including quick-ref and general.
...
With contributions from Oliver Robson (@HowManyOliversAreThere), Sean
Lanigan (@seanlano) and @rprr.
2019-01-25 12:18:34 +11:00
stijn
5064df2074
docs/differences: Clarify the differences are against Python 3.4.
2019-01-11 12:11:02 +11:00
Paul Sokolovsky
169b152f29
docs/ure: Fully describe supported syntax subset, add example.
2018-12-13 01:16:30 +11:00
Damien George
beeeec292b
docs/README: Remove references to MICROPY_PORT when building docs.
...
The docs are now built as one for all ports.
2018-12-11 02:55:22 +11:00
Paul Sokolovsky
42d0a28117
docs/conf.py: Use https for intersphinx link to docs.python.org.
...
To get rid of warning when building the docs saying there's a redirect from
http: to https:.
2018-10-23 11:47:35 +11:00
Paul Sokolovsky
dd76c8dc0f
docs/library/uctypes: Add examples and make general updates.
...
Examples are added to the beginning of the module docs, similarly to docs
for many other modules.
Improvements to grammar, style, and clarity. Some paragraphs are updated
with better suggestions. A warning added of the effect incorrect usage of
the module may have. Describe the fact that offset range used in one
defined structure is limited.
2018-10-23 11:42:30 +11:00
Dave Hylands
b031b6f4dd
docs/pyb.Pin: Minor typo fix to specify Pin in pyb.Pin.cpu.
2018-10-19 17:31:59 +11:00
Paul Sokolovsky
5f7088f84d
docs/uio: Document StringIO/BytesIO(alloc_size) constructors.
2018-10-18 12:39:25 +11:00
Peter Hinch
759853f2a1
docs/machine.Pin: Document "hard" argument of Pin.irq method.
2018-10-15 00:17:54 +11:00
Peter Hinch
7de9211b80
docs/machine.Pin: Add note regarding irq handler argument.
2018-10-13 16:25:42 +11:00
Damien George
f5d46a88aa
lib/utils/pyexec: Forcefully unlock the heap if locked and REPL active.
...
Otherwise there is really nothing that can be done, it can't be unlocked by
the user because there is no way to allocate memory to execute the unlock.
See issue #4205 and #4209 .
2018-10-13 16:21:08 +11:00
Paul Sokolovsky
d251f26688
docs/uselect: Describe more aspects of poll.register/modify behavior.
...
E.g., register() can be called again for the same object, while modify()
will raise exception if object was not register()ed before.
2018-10-05 16:57:58 +10:00
Damien George
86819a52fe
docs/wipy: Fix links to network.Server, and markup for boot.py.
2018-10-01 14:08:02 +10:00
Damien George
d1adfee251
docs: Remove sphinx_selective_exclude, it's no longer used.
2018-10-01 13:54:32 +10:00
Damien George
b3e013f60e
docs: Unify all the ports into one set of documentation.
...
With this commit there is now only one entry point into the whole
documentation, which describes the general MicroPython language, and then
from there there are links to information about specific platforms/ports.
This commit doesn't change content (almost, it does fix a few internal
links), it just reorganises things.
2018-10-01 13:53:53 +10:00
Damien George
8a84e08dc8
docs/library/network: Make AbstractNIC methods layout correctly.
2018-09-27 17:24:41 +10:00
Damien George
217566b764
docs/library/network: Move specific network classes to their own file.
...
All concrete network classes are now moved to their own file (eg
network.WLAN.rst) and deconditionalised (remove ..only:: directives). This
makes the network documentation the same for all ports. After this change
there are no more "..only::" directives for different ports, and the only
difference among ports is the very front page of the docs.
2018-09-27 17:23:42 +10:00
Peter Hinch
09c5c58a1f
docs/library/machine.SPI: Add note about baudrate imprecision.
2018-09-26 15:21:10 +10:00
Damien George
ad4fb62f13
docs/pyboard: Fix to use Sphinx style for internal/external links.
2018-09-20 17:14:13 +10:00
Peter Hinch
927a5d1dfd
docs/library/pyb: Add deprecation warning for mount and old block proto.
...
pyb.mount(None, mountpoint) functionality is also removed and replaced by
uos.umount.
2018-09-20 16:31:36 +10:00
Damien George
b18fa1e606
docs/library/machine.UART.rst: Specify optional txbuf and rxbuf args.
...
If a port would like to expose the configuration of transmit and/or receive
buffers then it can use these arguments.
2018-08-14 15:21:54 +10:00
Peter Hinch
163bacd1e8
docs/library/machine.I2C.rst: Clarify availability of primitive I2C ops.
2018-08-04 15:53:12 +10:00
Damien George
d8e0320485
docs: Move WiPy specific Timer class to separate doc file.
...
The WiPy machine.Timer class is very different to the esp8266 and esp32
implementations which are better candidates for a general Timer class. By
moving the WiPy Timer docs to a completely separate file, under a new name
machine.TimerWiPy, it gives a clean slate to define and write the docs for
a better, general machine.Timer class. This is with the aim of eventually
providing documentation that does not have conditional parts to it,
conditional on the port.
While the new docs are being defined it makes sense to keep the WiPy docs,
since they describe its behaviour. Once the new Timer behaviour is defined
the WiPy code can be changed to match it, and then the TimerWiPy docs would
be removed.
2018-07-31 23:40:06 +10:00
Damien George
81e320aecc
docs/library/machine: Remove conditionals in machine class index.
...
The machine module should be standard across all ports so should have the
same set of classes in the docs. A special warning is added to the top of
the machine.SD class because it is not standardised and only available on
the cc3200 port.
2018-07-20 15:58:18 +10:00
Damien George
0ab8428995
docs/reference/index: Remove conditional for inline asm docs.
...
The heading of this section makes it clear it is for Thumb-2 architectures
only.
2018-07-20 15:51:06 +10:00
Damien George
5b1ca66668
docs/library/index: Add hint about using help('modules') for discovery.
2018-07-20 15:47:42 +10:00
Damien George
84d5dd46fe
docs/library/index: Remove all conditionals from library index.
...
It's fair to just provide a link to all available modules, regardless of
the port. Most of the existing ports (unix, stm32, esp8266, esp32) share
most of the same set of modules anyway, so no need to maintain separate
lists for them. And there's a big discussion at the start of this index
about modules not being available on a given port.
For port-specific modules, they can also be listed unconditionally because
they have headings that explicitly state they are only available on certain
ports.
2018-07-20 15:34:22 +10:00
Damien George
3e0d587a49
docs/library/machine: Remove conditional docs for rng function.
...
And instead list its availability explicitly.
2018-07-18 16:28:30 +10:00
Damien George
163cc66a0b
docs/library/machine: Remove conditional docs for wake_reason function.
...
And instead list its availability explicitly.
2018-07-18 16:23:34 +10:00
Damien George
4cc65e22d4
docs/library/machine.UART: Remove conditional docs for wipy port.
...
The UART.init() method is now included unconditionally and its wording
adjusted to better describe ports other than the cc3200.
UART.irq() is also included unconditionally, but this is currently only
available on the WiPy target.
2018-07-18 16:20:53 +10:00
Damien George
164377f806
docs/library/pyb.DAC: Fix typo in markup to balance quotes.
2018-07-18 15:52:48 +10:00
Damien George
805fd0cfe6
docs/library: Remove "only" directive from all pyb module docs.
...
By virtue of its name, the pyb module would only be available on a pyboard
and so does not need to have conditional "only" directives throughout its
documentation.
These conditionals were added mostly in
cfcf47c064
in the initial development of the
cc3200 port, which had the pyb module before it switched to the machine
module. And wipy only conditionals were removed from the pyb module
documentation in 4542643025
, so there's no
need to retain any more conditionals.
2018-07-18 15:47:44 +10:00
Damien George
2cff340357
docs/pyboard: For latex build, use smaller quickref jpg, and no gifs.
...
The latexpdf target needs images that fit on the page, and does not support
gifs.
2018-07-10 12:45:52 +10:00
Damien George
41226e9a18
docs/ure: Document some more supported regex operators.
2018-07-02 14:55:05 +10:00
Damien George
4727bd1db8
docs/ure: Document sub(), groups(), span(), start() and end().
2018-07-02 14:55:05 +10:00
Damien George
ab02abe96d
docs/uos: Make it clear that block device block_num param is an index.
2018-06-28 13:25:10 +10:00
Yonatan Goldschmidt
473fe45da2
extmod/moducryptolib: Optionally export MODE_* constants to Python.
...
Allow including crypto consts based on compilation settings. Disabled by
default to reduce code size; if one wants extra code readability, can
enable them.
2018-06-27 16:29:26 +10:00
Damien George
11a7a70a6f
docs/usocket: Minor fixes to grammar of getaddrinfo.
2018-06-27 15:18:46 +10:00
Paul Sokolovsky
2e3468a68c
docs/usocket: getaddrinfo: Describe af/type/proto optional params.
...
These can be optionally specified, but all ports are expected to be able to
accept them, at the very least ignore, though handling of "type" param
(SOCK_STREAM vs SOCK_DGRAM) is recommended.
2018-06-27 14:57:19 +10:00
Paul Sokolovsky
12fde67a25
docs/ucryptolib: Add docs for new ucryptolib module.
2018-06-27 14:57:11 +10:00
Damien George
b9ec6037ed
docs/library: Add documentation for ucollections.deque.
2018-06-26 14:29:22 +10:00
jcea
5731e535dd
docs/esp8266: Fix minor typo in "certificates".
2018-06-25 17:36:28 +10:00
Damien George
6c955932f3
stm32/rtc: Don't try to set SubSeconds value on RTC.
...
The hardware doesn't allow it, instead the value is reset to 255 upon
setting the other calendar/time values.
2018-05-21 14:08:37 +10:00
Damien George
421b84af99
docs: Bump version to 1.9.4.
2018-05-11 16:39:59 +10:00
Damien George
c7818032b1
docs/library: Add ussl module to library index for unix port.
2018-04-26 17:14:51 +10:00
Damien George
c24b0a7f2b
docs/library/pyb.ADC: Fix typo of "prarmeter".
2018-04-20 15:54:09 +10:00
Peter Hinch
0600645944
docs/library/pyb.ADC: Remove outdated ADCAll code example.
2018-04-20 15:52:28 +10:00
Damien George
b30e0d2f26
stm32/dac: Add buffering argument to constructor and init() method.
...
This can be used to select the output buffer behaviour of the DAC. The
default values are chosen to retain backwards compatibility with existing
behaviour.
Thanks to @peterhinch for the initial idea to add this feature.
2018-04-11 14:22:21 +10:00
Damien George
aebd9701a7
stm32/adc: Optimise read_timed_multi() by caching buffer pointers.
2018-04-11 14:09:09 +10:00
Peter Hinch
4f40fa5cf4
stm32/adc: Add read_timed_multi() static method, with docs and tests.
2018-04-11 13:36:17 +10:00
T S
8f11d0b532
docs/library/pyb.ADC.rst: Document new features for ADCAll.
2018-04-10 13:06:26 +10:00
Damien George
0abbafd424
stm32/can: Add "list" param to CAN.recv() to receive data inplace.
...
This API matches (as close as possible) how other pyb classes allow inplace
operations, such as pyb.SPI.recv(buf).
2018-03-19 15:12:24 +11:00
Damien George
b7d576d69a
docs/library/pyb.CAN: Clean up documentation of data constants.
2018-03-16 18:29:43 +11:00
Damien George
a25e6c6b65
stm32/can: Add CAN.info() method to retrieve error and tx/rx buf info.
2018-03-16 18:28:35 +11:00
Damien George
d7e67fb1b4
stm32/can: Add CAN.state() method to get the state of the controller.
...
This is useful for monitoring errors on the bus and knowing when a restart
is needed.
2018-03-16 17:10:41 +11:00
Damien George
1272c3c65d
stm32/can: Add CAN.restart() method so controller can leave bus-off.
2018-03-15 17:29:30 +11:00
Damien George
823ca03008
stm32/can: Add "auto_restart" option to constructor and init() method.
2018-03-15 17:17:33 +11:00
Damien George
d91a1989f5
docs/library/pyb.CAN: Update markup to use latest doc conventions.
2018-03-15 16:30:05 +11:00
Damien George
0db49c37a4
docs: Fix some references and RST markup to eliminate Sphinx warnings.
2018-03-15 15:50:51 +11:00
Tom Collins
4d3a92c67c
extmod/vfs_fat: Add file size as 4th element of uos.ilistdir tuple.
2018-03-12 12:26:36 +11:00
Damien George
9cef2b03a7
docs/reference/repl.rst: Fix some minor errors in the REPL tutorial.
2018-03-09 16:14:58 +11:00
Damien George
8359210e71
docs/library/uos: Document mount, umount, VfsFat and block devices.
2018-03-07 14:50:38 +11:00
Damien George
63b003d523
docs/library/uos: Create sections for distinct parts and document uname.
2018-03-07 14:49:25 +11:00
Damien George
a5fb699d87
docs/library/micropython: Describe optimisation levels for opt_level().
2018-03-05 19:10:45 +11:00
Damien George
6e09320b4c
docs/library/usocket: Make xref to uerrno explicitly a module reference.
2018-03-05 19:07:39 +11:00
Damien George
c5fe610ba1
esp8266/modnetwork: Implement WLAN.status('rssi') for STA interface.
...
This will return the RSSI of the AP that the STA is connected to.
2018-02-26 16:41:13 +11:00
Damien George
e05fca4ef3
docs/library/ujson: Document dump() and load() functions.
2018-02-15 11:37:48 +11:00
Damien George
9e8b7b1b63
docs/library/ujson: Update to conform with docs conventions.
...
The formatting of exception objects is done as per CPython conventions, eg:
:exc:`TypeError`
2018-02-15 11:31:34 +11:00
Olivier Ortigues
298b325f3e
docs/esp8266: Add a note concerning GPIO16 pull capabilities.
2018-02-15 11:15:12 +11:00
Olivier Ortigues
d072573226
docs/esp8266: Update PWM doc regarding clipping of min/max values.
2018-02-15 11:14:34 +11:00
Damien George
e708e87139
docs/library/pyb.rst: Add note about availability of USB MSC-only mode.
2018-02-01 15:52:49 +11:00
Paul Sokolovsky
5de064fbd0
docs/library/index: Elaborate uPy libraries intro.
2017-12-23 21:21:08 +02:00
Paul Sokolovsky
e37ccfe59b
docs/packages: Explicitly recommend usage of setuptools instead of distutils.
2017-12-16 10:42:30 +02:00
Paul Sokolovsky
9251f1395e
docs/packages: Use "install_dir/" in examples.
2017-12-16 10:37:36 +02:00
Paul Sokolovsky
02d2a0fb3a
docs/conf: Reference CPython 3.5 docs.
...
CPython 3.6 contains some backward incompatible changes, and further
version(s) are expected to have more. As we anyway implemente 3.4 with
some features of 3.5, refer to 3.5 docs to avoid confusion.
Examples of 3.6 backward incompatibilities:
https://docs.python.org/3.6/library/json.html#json.dump
https://docs.python.org/3.6/library/json.html#json.load
> Changed in version 3.6: All optional parameters are now keyword-only.
https://docs.python.org/3.6/library/functions.html#type
> Changed in version 3.6: Subclasses of type which don’t override
> type.__new__ may no longer use the one-argument form to get the
> type of an object.
https://docs.python.org/3.6/library/collections.html#collections.namedtuple
> Changed in version 3.6: The verbose and rename parameters became
> keyword-only arguments.
2017-12-16 01:22:46 +02:00
Paul Sokolovsky
448d93a04a
docs/glossary: micropython-lib: Clarify wording.
2017-12-15 00:11:02 +02:00
Paul Sokolovsky
bf73ee114f
docs/packages: mpy_bin2res no longer required to create resources.
...
Everything happens automagically with overridden "sdist" from
sdist_upip.py.
2017-12-14 18:28:10 +02:00
Damien George
46b35356e1
extmod/modframebuf: Add 8-bit greyscale format (GS8).
2017-12-14 17:36:13 +11:00
Petr Viktorin
34247465c3
extmod/modframebuf: Add 2-bit color format (GS2_HMSB).
...
This format is used in 2-color LED matrices and in e-ink displays like
SSD1606.
2017-12-14 17:13:02 +11:00
Ryan Finnie
1e2b78111b
docs/esp8266/tutorial: Fix typo, change -> changed.
2017-12-13 17:30:02 +11:00
Paul Sokolovsky
54cd6e3e4b
docs/packages: Add quick "Creating distribution packages" section.
...
Needs more details.
2017-12-13 00:12:37 +02:00
Paul Sokolovsky
c60fc670ea
docs/reference/packages: Add chapter on distribution packages and deployment.
...
A long overdue overview of preparing packages, installing them with upip,
freezing, dealing with resources. Initial version, more iterations required.
2017-12-11 00:08:41 +02:00
Paul Sokolovsky
ca8034d6b8
docs/glossary: Clarify wording for "baremetal".
2017-12-06 00:08:24 +02:00
Paul Sokolovsky
3ff7040c8a
docs/library: Add xrefs to "stream" dictionary entry for many modules.
2017-12-04 18:36:20 +02:00
Paul Sokolovsky
155ec21e49
docs/glossary: Describe string interning.
2017-12-04 01:01:03 +02:00
Paul Sokolovsky
8175f1608e
docs/glossary: Describe "stream" term.
2017-12-03 18:56:18 +02:00
Paul Sokolovsky
140acc9a32
docs/uerrno: Fix xref-vs-code markup.
2017-12-03 15:50:37 +02:00
Paul Sokolovsky
4fee35a32c
docs/glossary: Describe the callee-owned tuple concept.
2017-12-03 15:08:39 +02:00
Paul Sokolovsky
cb9da2279b
docs/uselect: ipoll: Fix grammar/wording of one-shot flag description.
2017-11-30 20:32:49 +02:00
Paul Carver
7d25a19220
docs/library/utime: Fix incorrect example with ticks_diff args order.
...
The parameter order in the example for ticks_diff was incorrect. If it's
"too early" that means that scheduled time is greater than current time and
if it's "running late" then scheduled time would be less than current time.
2017-11-30 14:56:08 +11:00
Paul Sokolovsky
f59c6b48ae
docs/uselect: Describe POLLHUP/POLLERR semantics in more details.
...
Per POSIX, http://pubs.opengroup.org/onlinepubs/9699919799/functions/poll.html
these flags aren't valid in the input eventmask. Instead, they can be
returned in unsolicited manner in the output eventmask at any time.
2017-11-26 09:58:19 +02:00
Paul Sokolovsky
50cffcfe2c
docs/uctypes: Tweak descriptor reference to hopefully be easier to follow.
...
Put offset first in OR expressions, and use "offset" var instead of
hardcoded numbers. Hopefully, this will make it more self-describing
and show patterns better.
2017-11-25 09:02:08 +02:00
Paul Sokolovsky
c23cc4cc81
docs/uctypes: Typo/article fixes.
2017-11-25 09:01:11 +02:00
Paul Sokolovsky
067bf849d2
docs/uselect: poll: Explicitly specify that no-timeout value is -1.
2017-11-23 18:03:32 +02:00
Peter Hinch
ec1e9a10a7
docs: Add notes on heap allocation caused by bound method refs.
2017-11-23 11:35:58 +11:00
Damien George
31550a52e4
docs/library/network: Enhance AbstractNIC.status to take an argument.
...
The argument is optional and if given should be a string naming the
status variable to query.
2017-11-16 14:48:04 +11:00
Paul Sokolovsky
579b86451d
docs/_thread: Add a placeholder docs for _thread module.
...
Doesn't list specific API calls yet, the purpose is to let user know that
the module exists.
2017-11-10 00:09:43 +02:00
Paul Sokolovsky
5b1b80a8db
docs/ure: Emphasize not supported features more.
...
Plus, additional descriptions/formatting.
2017-11-08 00:24:39 +02:00
Paul Sokolovsky
ad5a6f5917
docs/ure: Add flags arg to ure.compile(), mention that ure.DEBUG is optional.
2017-11-04 00:26:31 +02:00
Paul Sokolovsky
1742ab2653
docs/esp8266/general: Minor grammar fixes.
2017-11-02 00:38:58 +02:00
Paul Sokolovsky
58c785632f
docs/esp8266/general: TLS limitations: Mention also "ussl" module limitations.
2017-11-01 08:59:42 +02:00
Damien George
fe45d78b1e
docs: Bump version to 1.9.3.
2017-11-01 11:19:56 +11:00
Paul Sokolovsky
80e3f07e7f
docs/ure: Add "|" (alternative) to the list of supported operators.
2017-10-31 14:46:08 +02:00
Paul Sokolovsky
b81fbf938f
docs/usocket: Document that settimeout() isn't supported by all ports.
...
And describe an alternative of using uselect.poll().
2017-10-31 00:28:28 +02:00
Paul Sokolovsky
4dd523adbb
docs/esp8266/general: Add section on TLS limitations.
2017-10-30 19:50:57 +02:00
Paul Sokolovsky
6fb093282b
docs/ussl: Fix module name refs and use "MicroPython port" term.
2017-10-30 18:03:54 +02:00
Yuval Langer
05a2bb888f
docs/reference/isr_rules: Minor typo correction.
2017-10-30 13:29:00 +11:00
Joar Wandborg
b9923262db
docs/library/network: Add dhcp_hostname parameter
...
I have not actually tested this, going by information available in https://forum.micropython.org/viewtopic.php?t=2584
2017-10-27 11:04:52 +03:00
Paul Sokolovsky
a33fca99a1
docs/usocket: Document inet_ntop(), inet_pton().
2017-10-27 00:27:27 +03:00
Paul Sokolovsky
d1cd533134
docs/usocket: Elaborate descriptions.
...
Use the "usocket" module name everywhere. Use "MicroPython port"
terminology. Suggest to avoid using IPPROTO_* constants in socket()
call.
2017-10-26 14:20:37 +03:00
Paul Sokolovsky
328c1e78be
docs/uselect: Document one-shot polling mode.
2017-10-26 00:30:07 +03:00
Damien George
d90ade5e3e
docs/library/network: Update docs to state that W5500 is supported.
2017-10-16 15:51:56 +11:00
Damien George
65ba481cb0
stm32/modnwwiznet5k: Implement WIZNET5K.isconnected() method.
2017-10-16 13:16:00 +11:00
Mike Causer
b1457db002
docs/library: Add missing cross-ref links for classes in pyb module.
2017-10-11 11:30:16 +11:00
Mike Causer
f599a38059
docs/esp8266/quickref: Add quickref info for RTC class.
2017-10-10 15:22:23 +11:00
Mike Causer
dc92f1c4ee
docs/pyboard/tutorial: Update now that yellow LED also supports PWM.
2017-10-10 15:22:11 +11:00
Mike Causer
d236d0c415
docs/pyboard/quickref: Add info for Switch, RTC, CAN, Accel classes.
2017-10-10 15:22:11 +11:00
Damien George
add933feaf
docs/library/network: Clarify usage of "bssid" arg in connect() method.
2017-10-09 23:11:25 +11:00
Gabe
9e0cdb22f1
docs/esp8266/tutorial: Update neopixel with example of using 4 bbp.
2017-10-04 10:35:22 +11:00
Paul Sokolovsky
72491b3e40
docs/btree: Describe page caching policy of the underlying implementation.
2017-09-17 21:35:33 +03:00
Peter Hinch
d42b89bc3a
docs/library/framebuf.rst: Generalise constructor to all colour formats.
2017-09-13 16:36:57 +10:00
Peter Hinch
da1c80d850
docs/reference/isr_rules.rst Add tutorial on use of micropython.schedule().
2017-09-09 16:05:24 +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
fe6f0354f6
docs/library/micropython: Fix typo in RST formatting.
2017-08-29 16:53:30 +10:00
Damien George
e30ba2f1c7
docs/library: Add description of "index" parameter to uos.dupterm().
2017-08-29 16:50:28 +10:00
Paul Sokolovsky
d5336ba136
docs/machine.Signal: Improve style/grammar and add usage example.
2017-08-29 00:08:40 +03:00
Paul Sokolovsky
c5c095690f
docs/library/network: Fix ref to "socket" module (should be "usocket").
2017-08-28 14:00:16 +03:00
Paul Sokolovsky
358a7ba014
docs: More xrefs to "MicroPython port" in glossary.
2017-08-28 13:51:05 +03:00
Damien George
b84268d49c
docs/pyboard/tutorial: Add "timeout=0" to UART in pass-through example.
...
Without this the pass-through will pause for 1 second at each character.
2017-08-23 17:01:43 +10:00
Damien George
1f78e7a431
docs: Bump version to 1.9.2.
2017-08-23 11:46:35 +10:00
Paul Sokolovsky
64a3c52f66
docs: Consistently link to micropython-lib in glossary.
2017-08-22 09:33:31 +03:00
Paul Sokolovsky
387a8d26f9
docs/glossary: Fix typos in micropython-lib paragraph.
2017-08-20 10:44:02 +03:00
Paul Sokolovsky
46583e9057
docs/glossary: Elaborate on possible MicroPython port differences.
...
State that this doc describes generic, "core" MicroPython functionality,
any particular port may diverge in both directions, by both omitting
some functionality, and adding more, both cases described outside the
generic documentation.
2017-08-20 10:11:44 +03:00
Paul Sokolovsky
3f91570483
docs/library/usocket: Describe complete information on address formats.
...
Describe that the only portable way to deal with addresses is by using
getaddrinfo(). Describe that some ports may support tuple addresses using
"socket" module (vs "usocket" of native MicroPython).
2017-08-20 09:49:12 +03:00
Paul Sokolovsky
ccaad53270
docs/library/usocket: Move socket.error to its own section.
...
It's too minor a point to start the module description with it.
2017-08-20 09:04:48 +03:00
Alex Robbins
0aa1d3f447
docs/library/ubinascii: Update base64 docs.
...
This clarifies return values and the handling of invalid (e.g. newline)
characters.
Encoding conforms to RFC 3548, but decoding does not, as it ignores invalid
characters in base64 input. Instead, it conforms to MIME handling of base64
(RFC 2045).
Note that CPython doesn't document handling of invalid characters in
a2b_base64() docs:
https://docs.python.org/3/library/binascii.html#binascii.a2b_base64 , so
we specify it more explicitly than it, based on CPython's actual behavior
(with which MicroPython now compliant).
2017-08-17 09:25:51 +03:00
Javier Candeira
c127ace28a
docs/library/machine.RTC.rst: Fix typo.
2017-08-14 15:42:25 +10:00
Matthew Brener
d003daee06
docs/esp8266/tutorial: Fix typo, "its" to "it's" in powerctrl.rst.
2017-07-24 10:33:03 +10:00
Paul Sokolovsky
205c368fa1
eps8266/general: Fix typo in recent example.
2017-07-21 12:08:18 +03:00
Peter Hinch
6ede921731
eps8266/general: Add known issue of WiFi RX buffers overflow.
2017-07-21 10:19:17 +03:00
Piotr Maliński
8c9e22c127
docs/pyboard/tutorial/amp_skin: Add example for playing large WAV files.
2017-07-21 16:52:16 +10:00
Alexander Steffen
c9a48eb464
docs,teensy: Use the name MicroPython consistently in documentation
2017-07-15 11:44:32 +02:00
Paul Sokolovsky
503cf3d097
docs/uzlib: Update description of decompress() and mention DecompIO.
2017-07-04 02:32:42 +03:00
Damien George
3c62577ee9
docs/pyboard: Move info about using Windows from topindex to general.
2017-07-03 15:31:41 +10:00
Patrick O'Leary
45b127e7ac
docs/esp8266/general.rst: Fix name of NTP module.
...
The simple NTP client module is named "ntptime.py".
2017-07-02 20:02:19 -05:00
Paul Sokolovsky
ffb13cc633
docs/uerrno: Document "uerrno" module.
2017-07-03 00:55:09 +03:00
Paul Sokolovsky
4f23c5d587
docs/pyboard: Move hardware info into General Info chapter.
...
This makes top-level ToC of the pyboard docs consistent with other ports
(consisting of 3 chapters: QuickRef, General Info, and Tutorial).
Also, some other minor tweaks applied, like local ToC for General Info and
headings mentioning pyboard.
2017-07-02 19:23:23 +03:00
Paul Sokolovsky
e467949a4a
docs/*_index: Drop "Indices and tables" pseudo-section.
...
This pseudo-section causes artifacts with latexpdf generation (almost
empty page with list containing literal "genindex", "modeindex", "search"
items). For HTML docs, these sections can be accessed from "home" page.
2017-07-02 19:18:51 +03:00
Paul Sokolovsky
90c1d54464
docs/conf.py: Set "version" and "release" to the same value.
...
We don't use alpha/beta/RC, so for us version and release should be the
same, or it leads to confusion (for example, current, 1.9.1 docs are
marked as 1.9 at places).
2017-07-02 15:50:22 +03:00
Paul Sokolovsky
a6af1a1d9c
docs/replace.inc: Add |see_cpython|, to xref individual symbols from CPython.
...
The idea is to use it for each symbol in builtins.rst.
2017-07-02 15:43:12 +03:00
Paul Sokolovsky
465d84b7e7
docs/library: Add CPython docs xref to each pertinent module.
...
Cross-reference text/link is implemented as RST substitution, so easy to
consistently.
2017-07-02 15:37:31 +03:00
Paul Sokolovsky
ebce7984c6
docs/conf.py: Add file for global replacements definition.
...
The idea is to allow to define a kind of "macros" for repeatitive text,
so all occurrances can be updated in one place. Unfortunately, RST doesn't
support replacements with arguments, which limits usefulness of them and
should be taken into account.
2017-07-02 15:15:31 +03:00
Paul Sokolovsky
5f0c56bcf1
docs/conf.py: Switch to "new" format of intersphinx_mapping.
...
As described at
http://www.sphinx-doc.org/en/stable/ext/intersphinx.html#confval-intersphinx_mapping
This will allow to explicitly refer to CPython docs for cross-references.
2017-07-02 14:35:52 +03:00
Damien George
7e14f99c26
docs/topindex.html: Fix typo in "Glossary" heading.
2017-07-02 21:29:06 +10:00
Paul Sokolovsky
d0797fbc18
docs: Add glossary.
...
We have enough terms or references throughout the docs which may be not
immediately clear or have some important nuances. Referencing terms in
gloassary is the best way to deal with that.
2017-07-02 13:47:35 +03:00
Paul Sokolovsky
d80ecad03f
docs/ure: Elaborate doc, update markup to the latest conventions.
2017-07-02 02:01:47 +03:00
Paul Sokolovsky
d42bb58c33
docs/builtins: Add AssertionError, SyntaxError, ZeroDivisionError.
...
Also, update heading of 1st sections to "Functions and types".
2017-07-01 22:20:49 +03:00
Paul Sokolovsky
8b7d311595
reference/index: Rewrite introduction paragraph to avoid confusion.
...
The old intro talked about "differences", but there were hardly any
sections describing differences, mostly MicroPython specific features.
On the other hand, we now have real "differences" chapter, though it's
mostly concerned with stdlib differences.
So, try to avoid confusion by changing wording and linking to the other
chapters and contrasting them with what is described in "MicroPython
language".
2017-07-01 22:09:40 +03:00
Paul Sokolovsky
50eea26145
docs/differences/index_template: Use consistent heading casing.
...
And in our case, "consistent" is where each word in the heading is *not*
capitalized.
2017-07-01 21:15:43 +03:00
Damien George
f585526c80
docs: Move topindex.html to templates/ subdir.
...
Later versions of jinja2 need it to be in this subdir, and earlier versions
work with it here as well.
2017-07-01 20:30:35 +03:00
Paul Sokolovsky
ef47dee4bf
docs/conf.py: Add .venv dir to exclude_patterns.
...
It's useful to try different Sphinx versions using virtualenv/venv, so
exclude a common venv dir name from Sphinx processing.
2017-07-01 20:01:05 +03:00
Paul Sokolovsky
e334b6b6d2
docs/constrained: Use markup adhering to the latest docs conventions.
2017-07-01 19:28:55 +03:00
Paul Sokolovsky
871a45dd0c
docs/{uselect,ussl,ustruct}: Use markup adhering to latest docs conventions.
2017-06-30 14:50:52 +03:00
Damien George
f2babeaeda
docs/topindex.html: Remove link to wipy.io, it's no longer available.
2017-06-30 18:57:26 +10:00
Paul Sokolovsky
1942f0ceef
docs/{framebuf,usocket}: Use markup adhering to the latest docs conventions.
2017-06-29 02:22:14 +03:00
Paul Sokolovsky
f8ac28964d
docs/{micropython,sys,uos}: Use markup adhering to the latest docs conventions.
2017-06-28 00:37:47 +03:00
Paul Sokolovsky
fbd252b77c
docs/{esp,pyb,ubinascii}: Use markup adhering to the latest docs conventions.
2017-06-27 00:38:05 +03:00