summaryrefslogtreecommitdiffstatshomepage
path: root/stmhal/main.c
Commit message (Collapse)AuthorAge
...
* stmhal: Add "CDC" option to pyb.usb_mode, for CDC device only.Damien George2015-02-13
|
* stmhal: Add Python-configurable USB HID mode.Damien George2015-02-13
| | | | | Different HID modes can be configured in Python. You can either use predefined mouse or keyboard, or write your own report descriptor.
* stmhal: Reclaim 72 bytes of stack by factoring out flash init code.Damien George2015-01-09
|
* stmhal: Collect all root pointers together in 1 place.Damien George2015-01-07
| | | | | A GC in stmhal port now only scans true root pointers, not entire BSS. This reduces base GC time from 1700ms to 900ms.
* stmhal: Prefix includes with py/; remove need for -I../py.Damien George2015-01-01
|
* stmhal: Change fresh boot.py and main.py to use \r\n newlines.Damien George2014-10-25
| | | | This is so it's compatible with Windows.
* Add pyb.hard_reset, and make sys.exit() or raise SystemExit do a soft reset.Dave Hylands2014-10-22
|
* stmhal: Overhaul UART class to use read/write, and improve it.v1.3.4Damien George2014-10-21
| | | | | | | | | | | | UART object now uses a stream-like interface: read, readall, readline, readinto, readchar, write, writechar. Timeouts are configured when the UART object is initialised, using timeout and timeout_char keyword args. The object includes optional read buffering, using interrupts. You can set the buffer size dynamically using read_buf_len keyword arg. A size of 0 disables buffering.
* stmhal: Remove long-obsolete pybwlan.[ch] files from old CC3k driver.Damien George2014-10-06
|
* stmhal: Add network and usocket module.Damien George2014-09-30
| | | | | | | | | | | | | | | | | As per issue #876, the network module is used to configure NICs (hardware modules) and configure routing. The usocket module is supposed to implement the normal Python socket module and selects the underlying NIC using routing logic. Right now the routing logic is brain dead: first-initialised, first-used. And the routing table is just a list of registered NICs. cc3k and wiznet5k work, but not at the same time due to C name clashes (to be fixed). Note that the usocket module has alias socket, so that one can import socket and it works as normal. But you can also override socket with your own module, using usocket at the backend.
* stmhal: Add label to internal flash drive on creation.Damien George2014-09-29
|
* stmhal: Initialise stack pointer correctly.Damien George2014-09-23
| | | | | | | | | | | | | Stack is full descending and must be 8-byte aligned. It must start off pointing to just above the last byte of RAM. Previously, stack started pointed to last byte of RAM (eg 0x2001ffff) and so was not 8-byte aligned. This caused a bug in combination with alloca. This patch also updates some debug printing code. Addresses issue #872 (among many other undiscovered issues).
* py: Move definition of mp_sys_exit to core.Damien George2014-09-15
| | | | | | | | sys.exit always raises SystemExit so doesn't need a special implementation for each port. If C exit() is really needed, use the standard os._exit function. Also initialise mp_sys_path and mp_sys_argv in teensy port.
* Add save/restore_irqDave Hylands2014-08-25
| | | | Factored irq functions into a separate file.
* stmhal: In safe mode, still mount SD card and present as MSD over USB.Damien George2014-08-16
| | | | | | | | It's still "safe" because no scripts are run. Remove the SD card if you want to access the internal flash filesystem. Addresses issue #616. Also: remove obsolete pyb.source_dir setting, and reset pyb.main and pyb.usb_mode settings on soft-reset.
* doc: Document gc, sys, math, cmath.Damien George2014-08-10
|
* stmhal: Clean up reset/soft-reset code; fix bug init'ing VCP exc.Damien George2014-08-04
| | | | | | | | | | | Make a clearer distinction between init functions that must be done before any scripts can run (xxx_init0) and those that can be safely deferred (xxx_init). Fix bug initialising USB VCP exception. Addresses issue #788. Re-order some init function to improve reliability of reset/soft-reset.
* Put call to qstr_init and mp_init_emergency_exc_buf in mp_init.Damien George2014-08-04
| | | | | | | qstr_init is always called exactly before mp_init, so makes sense to just have mp_init call it. Similarly with mp_init_emergency_exception_buf. Doing this makes the ports simpler and less error prone (ie they can no longer forget to call these).
* stmhal: Change 0:/ and 1:/ to /flash and /sd; add CWD support.Damien George2014-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some important changes to the way the file system is structured on the pyboard: 1. 0: and 1: drive names are now replaced with POSIX inspired directories, namely /flash and /sd. 2. Filesystem now supports the notion of a current working directory. Supports the standard Python way of manipulating it: os.chdir and os.getcwd. 3. On boot up, current directory is /flash if no SD inserted, else /sd if SD inserted. Then runs boot.py and main.py from the current dir. This is the same as the old behaviour, but is much more consistent and flexible (eg you can os.chdir in boot.py to change where main.py is run from). 4. sys.path (for import) is now set to '' (current dir), plus /flash and /flash/lib, and then /sd and /sd/lib if SD inserted. This, along with CWD, means that import now works properly. You can import a file from the current directory. 5. os.listdir is fixed to return just the basename, not the full path. See issue #537 for background and discussion.
* Add support for storing args during an exception raised by an irq.Dave Hylands2014-07-25
| | | | | | | | | | | | | | | | | 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 ```
* stmhal: Fix REPL printing by cooking output sent to stdout_obj.Damien George2014-07-20
| | | | | | 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.
* stmhal: Some reordering of code/functions.Damien George2014-07-02
|
* Merge branch 'add-timer-deinit' of github.com:dhylands/micropython into ↵Damien George2014-07-02
|\ | | | | | | dhylands-add-timer-deinit
| * Add timer_deinit and call it just before doing a soft-restartDave Hylands2014-06-30
| | | | | | | | This fixes #733.
* | stackctrl: Add "mp_" prefix.Paul Sokolovsky2014-07-01
| |
* | Merge pull request #710 from iabdalkader/assertDamien George2014-06-30
|\ \ | | | | | | Fix assert_func warning/error
| * | Add NORETURN to __fatal_errormux2014-06-21
| | |
| * | Fix asser_func warning/errormux2014-06-21
| | | | | | | | | | | | | | | * Add while(1) to assert_func to avoid func returns warning * Define a weak attr in mpconfig.h
* | | stmhal: Include mpconfig.h before all other includes.Paul Sokolovsky2014-06-28
| |/ |/| | | | | | | | | It defines types used by all other headers. Fixes #691.
* | py: Move stack_ctrl_init() to mp_init().Paul Sokolovsky2014-06-27
| | | | | | | | | | | | 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.
* | stmhal: Use stackctrl framework.Paul Sokolovsky2014-06-27
|/
* Prefix ARRAY_SIZE with micropython prefix MP_Emmanuel Blot2014-06-19
|
* stmhal: Update and improve LCD driver.Damien George2014-06-15
| | | | | Still some method names to iron out, and funtionality to add, but this will do for the first, basic version.
* Make __assert_func weakmux2014-06-14
|
* Add __assert_func only if DEBUG=1mux2014-06-14
|
* Add __assert_funcmux2014-06-14
| | | | * issue #692
* Add SystemExit exception and use it in unix/ and stmhal/ ports.Damien George2014-05-24
| | | | Addresses issue #598.
* stmhal: Implement draft version of sys.exit().Paul Sokolovsky2014-05-10
|
* Add license header to (almost) all files.Damien George2014-05-03
| | | | | | | 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/.
* stmhal: Wrap CC3000 driver in MICROPY_HW_ENABLE_CC3K.Damien George2014-05-03
| | | | | | 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.
* stmhal: Reinstate CC3000 driver from old stm/ port.Damien George2014-04-30
| | | | | | 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.
* Add ARRAY_SIZE macro, and use it where possible.Damien George2014-04-26
|
* stmhal: Make switch a class, to follow suit of all other modules.Damien George2014-04-21
| | | | | | | | 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.
* stmhal: Add Timer class: simple TIM control, incl callback on IRQ.Damien George2014-04-21
| | | | | | | 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.
* stmhal: Rename USART to UART.Damien George2014-04-21
| | | | | | | | 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 :)
* stmhal: Only init RNG if it's used.Damien George2014-04-20
|
* stmhal: Tidy up and improve consistency across modules.Damien George2014-04-20
|
* stmhal: Add SPI class.Damien George2014-04-20
| | | | Also some updates to compile with latest changes to core py.
* stmhal: Big cleanup; merge gpio into Pin; make names consistent.Damien George2014-04-18
| | | | | | | | This is an attempt to clean up the Micro Python API on the pyboard. Gpio functionality is now in the Pin object, which seems more natural. Constants for MODE and PULL are now in pyb.Pin. Names of some classes have been adjusted to conform to CamelCase. Other miscellaneous changes and clean up here and there.
* build: Simplify build directory layout by putting all headers in genhdr.Damien George2014-04-17
| | | | | Any generated headers go in $(BUILD)/genhdr/, and are #included as 'genhdr/xxx.h'.