Damien George
3c4db9f91c
stmhal: Add USB_VCP class/object, for direct USB VCP control.
...
Before, pyb.stdin/pyb.stdout allowed some kind of access to the USB VCP
device, but it was basic access.
This patch adds a proper USB_VCP class and object with much more control
over the USB VCP device. Create an object with pyb.USB_VCP(), then use
this object as if it were a UART object. It has send, recv, read,
write, and other methods. send and recv allow a timeout to be specified.
Addresses issue 774.
2014-07-31 10:30:42 +01:00
Damien George
94fbe9711a
py: Change lexer stream API to return bytes not chars.
...
Lexer is now 8-bit clean inside strings.
2014-07-30 11:46:05 +01:00
Damien George
07133415d2
Merge pull request #738 from dhylands/except-args
...
Add support for storing args during an exception raised by an irq.
2014-07-29 23:15:35 +01:00
Damien George
adf0f2ae1a
py: Change stream protocol API: fns return uint; is_text for text.
2014-07-27 22:38:58 +01:00
Dave Hylands
5b7fd20fea
Add support for storing args during an exception raised by an irq.
...
The user code should call micropython.alloc_emergency_exception_buf(size)
where size is the size of the buffer used to print the argument
passed to the exception.
With the test code from #732 , and a call to
micropython.alloc_emergenncy_exception_buf(100) the following error is
now printed:
```python
>>> import heartbeat_irq
Uncaught exception in Timer(4) interrupt handler
Traceback (most recent call last):
File "0://heartbeat_irq.py", line 14, in heartbeat_cb
NameError: name 'led' is not defined
```
2014-07-25 14:00:06 -07:00
Damien George
de993f4573
Merge pull request #766 from dhylands/allow-dfu-override
...
Allow DFU_UTIL to be overridden from the environment.
2014-07-22 11:02:59 +01:00
blmorris
7a03b5f56a
remove Myriad2 board config files from master
2014-07-21 23:12:07 -04:00
blmorris
86f0b31bcf
Change boolean 'use_16bit_addr' to int 'addr_size', can be either 8 or 16 bits, default value is 8
...
to maintain compatibility with existing code.
2014-07-21 22:45:04 -04:00
Dave Hylands
a2e7a1315d
Allow DFU_UTIL to be overridden from the environment.
2014-07-21 16:28:07 -07:00
blmorris
721d6240c9
Merge https://github.com/blmorris/micropython into Myriad2
2014-07-21 12:50:10 -04:00
blmorris
4038f513ea
Merge https://github.com/micropython/micropython
2014-07-21 12:47:57 -04:00
Damien George
951ed9d02f
stmhal: Fix REPL printing by cooking output sent to stdout_obj.
...
Recent changes to builtin print meant that print was printing to the
mp_sys_stdout_obj, which was sending data raw to the USB CDC device.
The data should be cooked so that \n turns into \r\n.
2014-07-20 13:57:43 +01:00
Damien George
1163cb9cb5
stmhal: Change calls to pfenv_printf to pfenv_vprintf.
...
Fixes printing bugs introduced by
cb66f41ebc
.
2014-07-20 13:10:18 +01:00
Paul Sokolovsky
cb66f41ebc
py: Make print() accept "file" argument, and actually print to stream.
...
And not system printf(), like it was before. For this, move pfenv_printf()
from stmhal port to py/.
2014-07-19 21:27:22 +03:00
Damien George
1694bc733d
py: Add stream reading of n unicode chars; unicode support by default.
...
With unicode enabled, this patch allows reading a fixed number of
characters from text-mode streams; eg file.read(5) will read 5 unicode
chars, which can made of more than 5 bytes.
For an ASCII stream (ie no chars > 127) it only needs to do 1 read. If
there are lots of non-ASCII chars in a stream, then it needs multiple
reads of the underlying object.
Adds a new test for this case. Enables unicode support by default on
unix and stmhal ports.
2014-07-19 18:34:04 +01:00
Damien George
02bc882c3d
stmhal: Add file.flush and os.stat.
2014-07-19 16:39:13 +01:00
blmorris
ef204733d6
Initial commit of Myriad2 board-specific configuration files
2014-07-15 15:10:56 -04:00
blmorris
847a6b30b1
Incorporate stylistic changes suggested by @dhylands
2014-07-11 21:18:09 -04:00
blmorris
e687fdbcbc
Add keyword argument 'memaddr_use_16b' to i2c.mem_read and mem_write methods
...
to allow these methods to transmit 16 bit addresses to an i2c device
Add 'memaddr_use_16b' to qstrdefsport.h
2014-07-11 16:14:01 -04:00
Damien George
594699bc88
stmhal: Protect SD_WriteBlocks by IRQ disable/enable pair.
2014-07-07 07:29:06 +01:00
Dave Hylands
90ba80dc36
Disable IRQs around sdcard reads.
...
Once the code switches to using DMA, this can be removed.
2014-07-06 09:51:22 -07:00
Damien George
40f3c02682
Rename machine_(u)int_t to mp_(u)int_t.
...
See discussion in issue #50 .
2014-07-03 13:25:24 +01:00
Damien George
e70b5dbe58
stmhal: Some reordering of code/functions.
2014-07-02 14:09:44 +01:00
Damien George
92a47b4dae
Merge branch 'add-timer-deinit' of github.com:dhylands/micropython into dhylands-add-timer-deinit
2014-07-02 14:06:28 +01:00
Damien George
9cd96cf25d
Merge pull request #709 from windelbouwman/master
...
Added hexfile target
2014-07-02 13:53:28 +01:00
Damien George
7a37f647a5
Merge branch 'teensy-new' of github.com:dhylands/micropython into dhylands-teensy-new
...
Conflicts:
stmhal/pin_named_pins.c
stmhal/readline.c
Renamed HAL_H to MICROPY_HAL_H. Made stmhal/mphal.h which intends to
define the generic Micro Python HAL, which in stmhal sits above the ST
HAL.
2014-07-02 13:42:37 +01:00
Damien George
aa47f3968b
Merge pull request #734 from iabdalkader/copysign
...
Add copysignf
2014-07-01 14:03:55 +01:00
Paul Sokolovsky
caa7334141
stackctrl: Add "mp_" prefix.
2014-07-01 02:14:08 +03:00
Dave Hylands
0d81c133b3
Add timer_deinit and call it just before doing a soft-restart
...
This fixes #733 .
2014-06-30 08:07:38 -07:00
mux
5d44e6a92c
Add copysignf
...
* Fix #692
2014-06-30 16:31:06 +02:00
Damien George
4039a26679
Merge pull request #710 from iabdalkader/assert
...
Fix assert_func warning/error
2014-06-30 09:09:24 +01:00
Paul Sokolovsky
5813efd634
stmhal: pyb.adc: Clarify that buffer with elements of any size can be used.
...
Based on forum post: http://forum.micropython.org/viewtopic.php?f=6&t=193
2014-06-29 21:34:58 +03:00
Paul Sokolovsky
8139494e54
stmhal: Include mpconfig.h before all other includes.
...
It defines types used by all other headers.
Fixes #691 .
2014-06-28 23:32:03 +03:00
Damien George
635b60e299
unix, stmhal: Add option for STR_UNICODE to mpconfigport.h.
...
Unicode is disabled by default for now, since FileIO.read(n) is
currently not implemented for text-mode files, and this is an
often function.
2014-06-28 10:29:52 +01:00
Paul Sokolovsky
8a96ebea75
py: Move stack_ctrl_init() to mp_init().
...
As stack checking is enabled by default, ports which don't call
stack_ctrl_init() are broken now (report RuntimeError on startup). Save
them trouble and just init stack control framework in interpreter init.
2014-06-27 21:02:04 +03:00
mux
a75e382a9b
Change MCU name config micro
2014-06-27 00:35:53 +02:00
Paul Sokolovsky
3659af97c5
Merge pull request #703 from iabdalkader/micro_names
...
Add MICROPY_HW_MICRO_NAME to boards config
2014-06-27 01:19:17 +03:00
Paul Sokolovsky
7a8ab5a730
stmhal: Use stackctrl framework.
2014-06-27 00:03:55 +03:00
Dave Hylands
f170735b73
Use mp_const_none to initialize mapper and map_dict
2014-06-25 16:01:19 -07:00
mux
89b38d96c9
Add NORETURN to __fatal_error
2014-06-21 18:43:44 +02:00
mux
5c8db48541
Fix asser_func warning/error
...
* Add while(1) to assert_func to avoid func returns warning
* Define a weak attr in mpconfig.h
2014-06-21 17:24:55 +02:00
Paul Sokolovsky
09e3f8f0d1
Merge pull request #707 from eblot/master-v1.1.1-build-fixes
...
Fix missing declaration of assert()
Replace ARRAY_SIZE with MP_ARRAY_SIZE
2014-06-20 17:29:58 +03:00
Windel Bouwman
b6af4c8104
Added hexfile target
2014-06-20 16:14:55 +02:00
Emmanuel Blot
f6932d6506
Prefix ARRAY_SIZE with micropython prefix MP_
2014-06-19 18:54:34 +02:00
mux
fe81eea967
Add MICROPY_HW_MICRO_NAME to boards config
2014-06-19 14:40:57 +02:00
Sven Wegener
c3cabf4e33
bare-arm, stmhal, teensy: Duplicate -nostdlib to CFLAGS
...
As we are building with -nostdlib gcc features like the stack protector
will fail linking, because the failure handlers are in gcc's internal
libs. Such features are implicitly disabled during compilation when
-nostdlib is used in CFLAGS too.
Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
2014-06-18 13:34:07 +02:00
Sven Wegener
afc67c6dc5
bare-arm, stmhal: Fix --nostdlib to -nostdlib
...
-nostdlib is the correct option, gcc recognizes the double dash version
when in link-only mode, but not when compiling.
Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
2014-06-18 13:33:47 +02:00
Damien George
720f55cc4b
Merge pull request #698 from dhylands/adc-fix
...
Fix problem with ADC reads and multiple channels
2014-06-17 20:52:47 +01:00
Damien George
bcb3ab451b
stmhal: Toggle LED using ODR ^= pin_mask.
2014-06-17 19:57:17 +01:00
Dave Hylands
535b88133c
Fix problem with ADC reads and multiple channels
2014-06-16 09:41:58 -07:00
Dave Hylands
4f1b7fec9f
Updated teensy to build.
...
Refactored some stmhal files which are shared with teensy.
2014-06-15 22:48:05 -07:00
Damien George
2547928148
stmhal: Add Python function to set UART for REPL.
...
This adds a hook to get/set pyb_uart_global_debug from Python, using
pyb.repl_uart(). You can set it to an arbitrary UART object, and then
the REPL (in and out) is repeated on this UART object (as well as on USB
CDC).
Ultimately, this will be replaced with a proper Pythonic interface to
set sys.stdin and sys.stdout.
2014-06-15 09:47:27 +01:00
Damien George
c0711cbefa
stmhal: Fix type signatures on functions that take variable args.
2014-06-15 09:32:42 +01:00
Damien George
e79c6696c5
stmhal: Fix file print methods to use print instead of printf.
...
Also make stdout_print_strn static (ultimately this function needs to be
merged with stdout_tx_strn).
2014-06-15 09:10:07 +01:00
Damien George
34ab8dd6dd
stmhal: Update and improve LCD driver.
...
Still some method names to iron out, and funtionality to add, but this
will do for the first, basic version.
2014-06-15 00:41:47 +01:00
mux
5f6f47a688
Make __assert_func weak
2014-06-14 17:02:50 +02:00
mux
00db5c81e1
Add __assert_func only if DEBUG=1
2014-06-14 15:53:11 +02:00
mux
34e7b67d3c
Add __assert_func
...
* issue #692
2014-06-14 14:41:11 +02:00
Damien George
820896746c
stmhal, file: Seek to end of file if opened in 'a' mode.
2014-06-11 16:01:52 +01:00
Damien George
b7572ad11b
stmhal, file: Implement a,x,+ open modes, seek and tell.
...
Also now returns correct POSIX errno when an IO operation fails.
Addresses issues #516 and #676 .
2014-06-11 15:41:14 +01:00
Damien George
57b4dfa9c9
stmhal: Fix pyb.bootloader so it works for gcc-4.9.0.
...
See PR #618 .
2014-06-08 14:01:43 +01:00
Damien George
4480cb3711
Provide definition of alloca() in mpconfigport.h.
2014-06-08 13:25:33 +01:00
bvernoux
82560fce75
Merge branch 'master' of https://github.com/micropython/micropython
2014-06-03 19:26:34 +02:00
bvernoux
c3c353d7f1
Cleanup/removed specific stuff specific to HydraBus (except board).
2014-06-03 18:59:24 +02:00
Dave Hylands
4e0573e5cf
Add missing commas to stm32f4xx-af.csv
2014-06-02 23:11:14 -07:00
bvernoux
569aa90137
micropython port for HydraBus
2014-06-02 21:43:02 +02:00
Damien George
f1dbd78b30
stmhal: Document pyb.Accel() constructor, that it takes time to start.
2014-06-01 17:57:06 +01:00
Damien George
fb510b3bf9
Rename bultins config variables to MICROPY_PY_BUILTINS_*.
...
This renames:
MICROPY_PY_FROZENSET -> MICROPY_PY_BUILTINS_FROZENSET
MICROPY_PY_PROPERTY -> MICROPY_PY_BUILTINS_PROPERTY
MICROPY_PY_SLICE -> MICROPY_PY_BUILTINS_SLICE
MICROPY_ENABLE_FLOAT -> MICROPY_PY_BUILTINS_FLOAT
See issue #35 for discussion.
2014-06-01 13:32:54 +01:00
Dave Hylands
b5fb9b22e2
Add a comma to make the .csv look proper in github
2014-05-30 22:18:52 -07:00
Damien George
2617eebf2f
Change const byte* to const char* where sensible.
...
This removes need for some casts (at least, more than it adds need
for new casts!).
2014-05-25 22:27:57 +01:00
Damien George
7a4ddd2428
Add SystemExit exception and use it in unix/ and stmhal/ ports.
...
Addresses issue #598 .
2014-05-24 23:32:19 +01:00
Damien George
ee3fd46f13
Rename configuration variables controling Python features.
...
Now of the form MICROPY_PY_*. See issue #35 .
2014-05-24 23:03:12 +01:00
Damien George
58ebde4664
Tidy up some configuration options.
...
MP_ALLOC_* -> MICROPY_ALLOC_*
MICROPY_PATH_MAX -> MICROPY_ALLOC_PATH_MAX
MICROPY_ENABLE_REPL_HELPERS -> MICROPY_HELPER_REPL
MICROPY_ENABLE_LEXER_UNIX -> MICROPY_HELPER_LEXER_UNIX
MICROPY_EXTRA_* -> MICROPY_PORT_*
See issue #35 .
2014-05-21 20:32:59 +01:00
Damien George
6ac5dced24
py: Rename MP_OBJ_NOT_SUPPORTED to MP_OBJ_NULL.
...
See issue #608 for justification.
2014-05-21 19:42:43 +01:00
Damien George
6d197740cf
stmhal: Stop USB before entering DFU by software.
2014-05-21 19:25:34 +01:00
Paul Sokolovsky
9e29666bf9
py: Implement proper separation between io.FileIO and io.TextIOWrapper.
...
io.FileIO is binary I/O, ans actually optional. Default file type is
io.TextIOWrapper, which provides str results. CPython3 explicitly describes
io.TextIOWrapper as buffered I/O, but we don't have buffering support yet
anyway.
2014-05-19 21:56:07 +03:00
Damien George
eee31288dd
stmhal: Fix DAC documentation: need to convert float to int for buf.
2014-05-19 19:08:12 +01:00
Damien George
2de4d59171
stmhal: Fix write_timed function for DAC(2).
...
Addresses issue #617 .
2014-05-19 18:58:53 +01:00
Damien George
f905ebb173
stmhal: Make pyb.bootloader take no arguments.
2014-05-19 18:26:51 +01:00
Sven Wegener
9bf4f7e3d3
stmhal: Remap system flash and adjust addresses
...
Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
2014-05-18 13:15:02 +02:00
Sven Wegener
7ae8e4b679
stmhal: Activate bootloader with pyb.bootloader()
...
Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
2014-05-18 12:51:21 +02:00
Damien George
89755ae67f
py: Rename MICROPY_SYS_EXIT to MICROPY_MOD_SYS_EXIT.
...
For consistency with MICROPY_MOD_SYS_STDFILES, etc.
2014-05-11 17:35:43 +01:00
Damien George
f92a0d4d16
stmhal: Enable frozenset. Takes 292 text bytes in ROM.
2014-05-11 17:27:31 +01:00
Damien George
a7a1a38df4
stmhal: Update CC3000 driver to newer version.
...
Still not working properly.
2014-05-11 12:09:13 +01:00
Damien George
50073ed5d6
stmhal/cc3k: Remove spaces and tabs at end of lines.
2014-05-10 21:28:40 +01:00
Damien George
3793830ed9
tools: Move gendoc.py to tools, and make it a little more generic.
2014-05-10 19:12:47 +01:00
Damien George
09bbe7215a
stmhal: Fix USB CDC not flushing packets when an exact multiple of 64.
...
Need to send a zero-sized packet after sending an exact multiple of 64
bytes (not just after sending 64 bytes exactly).
Addresses issue #494 , part 2.
2014-05-10 18:56:16 +01:00
Damien George
b0edec61ac
stmhal: Improve handling of out-of-memory in REPL.
...
Addresses issue #558 , but it's likely that other out-of-memory errors
could crash the pyboard. Reason is that qstrs use m_new and can raise
an exception within the parser.
2014-05-10 17:48:46 +01:00
Paul Sokolovsky
deaeaac469
modsys: Enable sys.exit() per port after all.
2014-05-10 17:26:47 +03:00
Paul Sokolovsky
0f14fdea0c
stmhal: Implement draft version of sys.exit().
2014-05-10 16:56:21 +03:00
Damien George
04b7cc4df0
stmhal: Fix setting of RTC: was BCD now BIN encoded.
...
Addresses issue #592 .
2014-05-10 11:56:58 +01:00
Damien George
8c1c7488b2
Add gc.enable, gc.disable; remove pyb.gc.
2014-05-08 23:04:49 +01:00
Damien George
d6cbbc51ab
stmhal: Add time.time() and time.localtime().
...
time.time: returns seconds since 1/1/2000, as an integer.
time.localtime: Returns 8-tuple: (year, month, date, hour, minute,
second, weekday, yearday).
2014-05-08 22:25:49 +01:00
Dave Hylands
117c46d9eb
Add input command for unix
2014-05-07 07:19:51 -07:00
Damien George
491cbd6a7c
py: Add keyword arg support to enumerate constructor.
...
Need to have a policy as to how far we go adding keyword support to
built ins. It's nice to have, and gets better CPython compatibility,
but hurts the micro nature of uPy.
Addresses issue #577 .
2014-05-06 16:38:54 +00:00
Paul Sokolovsky
33b3a6905d
stmhal: pyb: Use gc() function as defined by standard module "gc".
...
TODO: Get rid of this compatibility define and rely on standard module.
2014-05-06 02:28:49 +03:00
Dave Hylands
1145a0706c
Change references (in comments) of pyb.GPIO to be pyb.Pin
...
The documentation at http://micropython.org/doc/module/pyb/ExtInt should also be
updated.
2014-05-05 10:58:38 -07:00
Damien George
5fc400ccdb
stmhal: Document physical pins for SPI, I2C, UART busses.
2014-05-04 14:28:11 +01:00
Damien George
04b9147e15
Add license header to (almost) all files.
...
Blanket wide to all .c and .h files. Some files originating from ST are
difficult to deal with (license wise) so it was left out of those.
Also merged modpyb.h, modos.h, modstm.h and modtime.h in stmhal/.
2014-05-03 23:27:38 +01:00
Damien George
d5f5b2f766
py, stream: Implement readlines for a stream.
2014-05-03 22:01:32 +01:00
Craig Barnes
c9f9e547d6
Add device ID to deploy make target for stmhal.
2014-05-03 19:51:47 +01:00
Damien George
6ec835dfef
Don't print git hash as well as git tag in banner.
2014-05-03 19:08:02 +01:00
Damien George
977a0ce287
py: Print tag/version/git describe in uPy banner.
2014-05-03 19:02:14 +01:00
Damien George
b4bb3fdb9c
Merge pull request #555 from lurch/patch-1
...
RTC doc fix
2014-05-03 18:44:02 +01:00
Damien George
93e51b594a
stmhal: Enable cmath module.
2014-05-03 18:40:50 +01:00
Andrew Scheller
86a9a88632
Fix incorrect fix ;)
2014-05-03 18:28:11 +01:00
Damien George
bb8ba7fc90
stmhal: Add .gitignore to ignore the new build dir names.
2014-05-03 18:26:03 +01:00
Andrew Scheller
e9ff5570c3
Updated doc fix
2014-05-03 17:50:46 +01:00
Damien George
aad1204b8e
stmhal: Change names: flash to firmware, flashboard to deploy.
...
Since firmware lives in a build directory which already specifies the
board name, no real reason to also have the firmware have the board
name.
2014-05-03 17:46:45 +01:00
Damien George
51315614e1
stmhal: Default build directory now includes board name.
...
BUILD is build-$(BOARD) by default.
2014-05-03 17:39:07 +01:00
Andrew Scheller
b569d690f5
RTC doc fix
2014-05-03 17:34:19 +01:00
Damien George
ae8feac598
stmhal: Wrap CC3000 driver in MICROPY_HW_ENABLE_CC3K.
...
This renames MICROPY_HW_HAS_WLAN to MICROPY_HW_ENABLE_CC3K (since it's a
driver, not a board feature) and wraps all CC3000 code in this #if.
It's disabled for all boards.
2014-05-03 17:32:55 +01:00
Damien George
baa2afbb58
stmhal: Fix typos in class documentation.
2014-05-03 16:42:27 +01:00
Damien George
bff1ff28ee
stmhal: Fix bug where negative delay/udelay lead to huge delays.
...
A negative ms/us is now treated as a delay of 0 ms/us. This patch also
improves the calibration of udelay.
2014-05-03 14:11:56 +01:00
Damien George
5874c1c92b
stmhal: Remove #include <stdint.h> from mpconfigport.h.
...
Make include dependencies neater, and adheres to the coding convention
that headers should not include headers.
2014-05-03 13:24:21 +01:00
Damien George
ffaf8be1c6
stmhal: Add example use to RTC doc; add rtc.c to gendoc.py.
2014-05-03 12:02:21 +00:00
Damien George
451f78d156
stmhal: Add documentation for RTC class.
2014-05-03 12:40:53 +01:00
Damien George
8f472ad577
Merge pull request #548 from dhylands/fix-pin-defn
...
Fix PB0 ADC typo.
2014-05-03 00:16:48 +01:00
Craig Barnes
a0ddae86e5
Add device ID to autoflash script.
2014-05-02 23:03:23 +01:00
Dave Hylands
5788485cca
Fix PB0 ADC typo.
...
This also adds a bunch of slashes separating pin that have multiple functions.
2014-05-02 14:01:23 -07:00
Damien George
003977a70b
Merge branch 'master' of github.com:micropython/micropython
2014-05-02 16:58:32 +01:00
Damien George
3eb8163b16
stmhal: Add documentation for DAC and Timer classes.
2014-05-02 16:58:15 +01:00
Paul Sokolovsky
9b71b16a94
unix,stmhal: Make "mpconfig.h" be first included, as other headers depend on it.
2014-05-02 18:08:16 +03:00
Damien George
ba742ed639
Add shell script to automatically build stmhal/ for all pyboards.
2014-05-02 13:49:44 +00:00
Damien George
f2021ffe0f
Merge pull request #542 from dhylands/fix-pin
...
Fix pin initialization when a mode argument is provided
2014-05-01 23:26:28 +01:00
Dave Hylands
e911cfdb22
Fix pin initialization when a mode argument is provided
2014-05-01 12:15:37 -07:00
Andrew Scheller
ed9d8d6354
Add flashboard target to the stmhal Makefile to run dfu-util
...
Which allows you to run "make -C stmhal flashboard" from the top-level directory.
Also ties in nicely with my configurable BUILD directory from #506
2014-05-01 02:51:29 +01:00
Damien George
f4b7e9bd2e
stmhal, docs: Small changes to URL links; adds list of files if none given.
...
This documentation is now available at micropython.org/doc/
2014-04-30 23:33:30 +01:00
Damien George
4ae52d454c
stmhal: Reinstate CC3000 driver from old stm/ port.
...
It's not enabled by default because it doesn't fully work. It can
connect to an AP, get an IP address and do a host-lookup, but not yet do
send or recv on a socket.
2014-04-30 20:47:50 +01:00
Damien George
cab23051d9
stmhal: Make LED.intensity return the same value it was set to.
...
Also give proper error message when trying to construct a non-existent
LED.
Addresses issue #530 .
2014-04-30 19:23:21 +01:00
Damien George
da9f27103d
stmhal: Oops, typo.
2014-04-29 23:00:48 +01:00
Damien George
8d09640b22
stmhal: Add documentation in comments, and script to generate HTML.
...
Decided to write own script to pull documentation from comments in C code.
Style for writing auto generated documentation is: start line with ///
and then use standard markdown to write the comment. Keywords
recognised by the scraper begin with backslash. See code for examples.
Running: python gendoc.py modpyb.c accel.c adc.c dac.c extint.c i2c.c
led.c pin.c rng.c servo.c spi.c uart.c usrsw.c, will generate a HTML
structure in gendoc-out/.
gendoc.py is crude but functional. Needed something quick, and this was
it.
2014-04-29 22:55:34 +01:00
Damien George
dbc81df5d4
Simplify names for argcheck.c / arg parsing.
2014-04-26 11:19:17 +01:00
Damien George
6d3c5e4301
Add ARRAY_SIZE macro, and use it where possible.
2014-04-26 10:47:29 +01:00
Damien George
5ea69859c9
stmhal: Update help text.
2014-04-21 20:18:22 +01:00
Damien George
350cb6bf20
stmhal: Fix bug with pin GPIO reading.
2014-04-21 20:18:06 +01:00
Damien George
ef255e47c1
stmhal, usrsw: Wrap usrsw.c in #if, for when switch is not available.
2014-04-21 18:31:40 +01:00
Damien George
b97c2f4c14
stmhal, accel: Add TODO comment.
2014-04-21 18:30:38 +01:00
Damien George
46e1f26615
stmhal, usrsw: Update comments for new switch API.
2014-04-21 18:28:23 +01:00
Damien George
6125ba4a7f
stmhal: Make switch a class, to follow suit of all other modules.
...
Instead of pyb.switch() as a function, it's more consistent (with
respect to all the other modules and peripherals) to have
pyb.Switch() create a switch object. This then generalises to having
multiple switches. Call the object to get its state. Use sw.callback
to set the callback function for when the switch is pressed.
2014-04-21 18:23:50 +01:00
Damien George
af797f476f
stmhal, servo: Rename calibrate method to calibration.
...
It should be a noun, since it supports getting and setting depending on
the number of arguments given.
2014-04-21 18:21:07 +01:00
Damien George
6691c9e655
stmhal, timer: Remove obsolete global variable.
2014-04-21 18:19:50 +01:00
Damien George
7fdfa93700
stmhal: Add Timer class: simple TIM control, incl callback on IRQ.
...
Simple but functional timer control. More sophistication will
eventually be added, or for now just use direct register access :)
Also added pyb.freq() function to get MCU clock frequencies.
2014-04-21 16:48:16 +01:00
Damien George
764af4b7c5
stmhal: Make DAC dynamically allocate instances; rename dma->write_timed.
2014-04-21 13:06:19 +01:00
Damien George
83407ad082
stmhal: Clean up rtc.c a bit.
2014-04-21 12:45:59 +01:00
Damien George
7533700393
stmhal: Rename USART to UART.
...
It's really a UART because there is no external clock line (and hence no
synchronous ability, at least in the implementation of this module).
USART should be reserved for a module that has "S"ynchronous capabilities.
Also, UART is shorter and easier to type :)
2014-04-21 12:03:09 +01:00
Damien George
34f01c2ca1
stmhal: Add some documentation to I2C, SPI and USART modules.
2014-04-21 01:59:43 +01:00
Damien George
3771a097da
stmhal: Improve USART class, to be more like SPI and I2C.
...
The three classes I2C, SPI and USART now have a fairly uniform (Python)
API. All are constructed, initialised and deinitialised in the same
way. They can have most of their parameters set, using keyword arguments.
All have send and recv (although slightly different with I2C requiring an
address in master mode). recv can do inplace receiving (ie store the
data in a previously-created bytearray).
It's just polling mode at the moment, but interrupt and DMA would be
nice to add.
2014-04-21 01:14:14 +01:00
Damien George
eb8bdf4df3
stmhal, SPI and I2C: Improvements to functionality and consistency.
2014-04-21 00:10:04 +01:00
Damien George
ff91156d34
stmhal: Improved configurability for I2C and SPI busses.
...
The HAL handles for the I2C/SPI objects are rather large, so we don't
want to unnecessarily include them.
2014-04-20 19:06:15 +01:00