Commit Graph

7664 Commits

Author SHA1 Message Date
Paul Sokolovsky
297af6036e examples/hwapi: Use Signal for inverted LED on ESP-12. 2017-01-29 18:57:37 +03:00
Paul Sokolovsky
287180a0a8 esp8266/modmachine: Add Signal class. 2017-01-29 18:57:37 +03:00
Paul Sokolovsky
7a7516d40d extmod/machine_signal: Implement "signal" abstraction for machine module.
A signal is like a pin, but ca also be inverted (active low). As such, it
abstracts properties of various physical devices, like LEDs, buttons,
relays, buzzers, etc. To instantiate a Signal:

pin = machine.Pin(...)
signal = machine.Signal(pin, inverted=True)

signal has the same .value() and __call__() methods as a pin.
2017-01-29 18:57:36 +03:00
Paul Sokolovsky
18b6835a92 esp8266/machine_pin: Implement pin ioctl protocol.
For polymorphic interfacing on C level.
2017-01-29 18:47:27 +03:00
Glenn Ruben Bakke
fec5c75068 nrf5: Adding i2c class to machine module globals table. 2017-01-29 16:41:18 +01:00
Glenn Ruben Bakke
bfc67dd99c nrf5: Updating main.c to initialize the i2c machine module if selected. 2017-01-29 16:38:48 +01:00
Glenn Ruben Bakke
f529aa9e67 nrf5/i2c: Updating i2c machine module with new constructor parameters to set scl and sda pins. Also updating print funciton to debug pin number and port number for the gpio set. 2017-01-29 16:38:13 +01:00
Paul Sokolovsky
0ddeedfc73 docs/uio: Typo fixes/lexical improvements. 2017-01-29 16:18:33 +03:00
Paul Sokolovsky
bdb0d22fe2 docs/conf.py: Add myself as a copyright holder on the docs.
Based on the following statistics:

$ git log docs |grep Author | sort | uniq -c | sort -n -r
    175 Author: Paul Sokolovsky
    135 Author: Damien George
     31 Author: Daniel Campora
     26 Author: danicampora
     14 Author: Peter Hinch

git blame stats script from http://stackoverflow.com/a/13687302/496009:

$ sh git-authors docs
   9977 author Damien George
   2679 author Paul Sokolovsky
   1699 author Daniel Campora
   1580 author danicampora
   1286 author Peter Hinch
    282 author Shuning Bian
    249 author Dave Hylands

Total lines per this script: 18417, my contribution is 14.5%.
2017-01-29 16:12:07 +03:00
Damien George
9d3ad75b39 stmhal/moduos: Remove duplicated chdir. 2017-01-29 15:10:09 +11:00
Damien George
c3cd46e5c2 stmhal: Fix name of automatically created boot.py. 2017-01-29 15:09:36 +11:00
Paul Sokolovsky
3a3543251f cc3200/modusocket: Remove deprecated socket.error.
socket.error is deprecated even in upstream:
https://docs.python.org/3/library/socket.html#socket.error,
and never was a part of MicroPython socket API.
2017-01-29 02:47:26 +03:00
Glenn Ruben Bakke
1421ca4adc nrf5/i2c: Updating i2c module to new new hal api, as master is initialized with its own init function. 2017-01-28 23:46:31 +01:00
Glenn Ruben Bakke
97a3fd4f3a nrf5/hal: Adding members to TWI config struct, device address and scl/sda pin. Renaming and adding function such that twi slave and master has seperate init function. Started implementation of master init function for nrf52 using DMA (hal_twie.c). 2017-01-28 23:45:30 +01:00
Glenn Ruben Bakke
9787c4af7b nrf5/i2c: Updating module to use new struct layout from hal_twi.h 2017-01-28 22:55:35 +01:00
Glenn Ruben Bakke
1c778f020f nrf5/hal: Updating TWI with frequency enums. 2017-01-28 22:54:44 +01:00
Paul Sokolovsky
ef6fb66d23 docs/uio: Describe differences between uPy an CPy stream hierarchy. 2017-01-28 16:35:40 +03:00
Paul Sokolovsky
6947a7f6a9 docs/usocket: Dedent Methods section.
This was apparently of an ::only directive which was later removed.
2017-01-28 15:49:54 +03:00
Paul Sokolovsky
f23c47fea7 docs/usocket: Clarify description of various methods. 2017-01-28 15:39:18 +03:00
Paul Sokolovsky
74fcb122f0 docs/usocket: Elaborate "Constants" section. 2017-01-28 14:46:58 +03:00
Paul Sokolovsky
59540dccf1 docs/usocket: Clarify exceptions used. 2017-01-28 13:55:51 +03:00
Paul Sokolovsky
0aa83142a4 docs/machine: Add explicit note on machine module level and scope.
It's very low, hardware level, with associated constraints on operations
and callbacks.
2017-01-28 12:08:25 +03:00
Paul Sokolovsky
56e7ebf07a docs/machine.Timer: Move WiPy adhoc parts to its documentation. 2017-01-28 12:08:00 +03:00
Paul Sokolovsky
300ecac336 zephyr/prj_frdm_k64f.conf: Add, enable Ethernet support. 2017-01-27 23:48:42 +03:00
Paul Sokolovsky
1df1642b70 zephyr: Allow to have per-board Zephyr config fragments.
To enable options which may be incompatible with other boards, etc.
2017-01-27 23:42:11 +03:00
Paul Sokolovsky
40e72e4a5c zephyr: Make sure that correct Zephyr config is used for "minimal" build.
Overriding CONF_FILE in "minimal" target itself is too late due to include-
pinned $(Z_EXPORTS) target.
2017-01-27 21:43:13 +03:00
Damien George
0390bc97ea lib/oofatfs: Update oofatfs library.
From https://github.com/micropython/oofatfs, branch work-R0.12b,
commit 1e295b40550664bbaac18d95a4b6a58154464d31.
2017-01-27 23:22:15 +11:00
Damien George
a0c729681f tests/extmod/vfs_fat_ramdisk: Make it work on pyboard. 2017-01-27 23:22:15 +11:00
Damien George
bfa948c0a5 cc3200: Add implementations of mp_import_stat and builtin_open.
They disappeared when stmhal changed to use new MICROPY_VFS code.
2017-01-27 23:22:15 +11:00
Damien George
84c614e729 stmhal: Convert to use VFS sub-system and new ooFatFs component.
This patch makes the following configuration changes:
- MICROPY_FSUSERMOUNT is disabled, removing old mounting infrastructure
- MICROPY_VFS is enabled, giving new VFS sub-system
- MICROPY_VFS_FAT is enabled, giving uos.VfsFat type
- MICROPY_FATFS_OO is enabled, to use new ooFatFs lib, R0.12b

User facing API should be almost unchanged.  Most notable changes are
removal of os.mkfs (use os.VfsFat.mkfs instead) and pyb.mount doesn't
allow unmounting by passing None as the device.
2017-01-27 23:22:15 +11:00
Damien George
3242cf2d36 stmhal/usbd_msc_storage: Use storage functions instead of disk ones. 2017-01-27 23:22:15 +11:00
Damien George
4565d42e70 esp8266/fatfs_port: Include new oofatfs header. 2017-01-27 23:22:15 +11:00
Damien George
9225ce6a14 unix/fatfs_port: Include new oofatfs header. 2017-01-27 23:22:15 +11:00
Damien George
8aa8a0a660 extmod/vfs_fat: Use SECSIZE macro to determine FatFs sector size. 2017-01-27 23:22:15 +11:00
Damien George
3f6b4e08e3 extmod/vfs: Expose mp_vfs_mount_t type.
It should only be used for low-level things and with caution, for example
putting mounted VFS data in ROM or the static data section.
2017-01-27 23:22:15 +11:00
Damien George
f488fa29e4 extmod/modlwip: Add socket.readinto() method. 2017-01-27 21:01:18 +11:00
Damien George
b9bfaa349a tests/extmod/vfs_fat: Update tests to work with new VFS sub-system.
The vfs_fat_fsusermount test is no longer relevant so has been removed.
2017-01-27 17:21:45 +11:00
Damien George
f9ecd484bb esp8266: Change to use new generic VFS sub-system.
The VFS sub-system supports mounting of an arbitrary number of devices
(limited only by available RAM).  The internal flash is now mounted at
"/flash".
2017-01-27 17:21:45 +11:00
Damien George
f1e04148a1 unix: Change to use new generic VFS sub-system in coverage build.
This patch includes a new module "uos_vfs" which can be used for testing
the VFS syb-system.
2017-01-27 17:21:45 +11:00
Damien George
6c23c7587f extmod/vfs: Add ability for VFS sub-system to import using VfsFat. 2017-01-27 17:21:45 +11:00
Damien George
fb3ae1784e extmod/vfs_fat: Rework to support new generic VFS sub-system.
The VfsFat object can now be mounted by the generic VFS sub-system.
2017-01-27 17:19:06 +11:00
Damien George
dcb9ea7215 extmod: Add generic VFS sub-system.
This provides mp_vfs_XXX functions (eg mount, open, listdir) which are
agnostic to the underlying filesystem type, and just require an object with
the relevant filesystem-like methods (eg .mount, .open, .listidr) which can
then be mounted.

These mp_vfs_XXX functions would typically be used by a port to implement
the "uos" module, and mp_vfs_open would be the builtin open function.

This feature is controlled by MICROPY_VFS, disabled by default.
2017-01-27 17:19:06 +11:00
Damien George
32a1138b9f extmod: Rename vfs_fat_file.h to vfs_fat.h.
And move declaration of mp_fat_vfs_type to this file.
2017-01-27 15:04:17 +11:00
Damien George
143fa0ffeb unix: Get minimal version compiling again. 2017-01-27 13:32:15 +11:00
Damien George
8d5c6332c0 esp8266: Switch to use OO version of FatFs library. 2017-01-27 13:19:11 +11:00
Damien George
94d87fbb30 test/extmod: Update vfs_fat tests for new OO FatFs library.
The new version of FatFs requires a minimum of 50 blocks on the device.
Also, some tests no longer make sense with an OO vfs.
2017-01-27 13:19:10 +11:00
Damien George
5395f5bc71 unix: Switch to OO version of FatFS library. 2017-01-27 13:19:10 +11:00
Damien George
f5f4cdae89 extmod/vfs_fat: Rework so it can optionally use OO version of FatFS.
If MICROPY_VFS_FAT is enabled by a port then the port must switch to using
MICROPY_FATFS_OO.  Otherwise a port can continue to use the FatFs code
without any changes.
2017-01-27 13:19:10 +11:00
Damien George
d4464b0050 py/py.mk: Add CFLAGS_MOD flag to set config file for FatFs. 2017-01-27 13:19:10 +11:00
Damien George
9b08faf3ae lib/oofatfs: Add OO version of FatFS library.
From https://github.com/micropython/oofatfs, branch work-R0.12b,
commit a346ccec123c2e4d887e2751d64156208d03bff4.
2017-01-27 13:19:10 +11:00