1. 13 Feb, 2015 3 commits
  2. 09 Jan, 2015 1 commit
  3. 07 Jan, 2015 1 commit
  4. 01 Jan, 2015 1 commit
  5. 25 Oct, 2014 1 commit
  6. 22 Oct, 2014 1 commit
  7. 21 Oct, 2014 1 commit
    • Damien George's avatar
      stmhal: Overhaul UART class to use read/write, and improve it. · 481d714b
      Damien George authored
      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.
      481d714b
  8. 06 Oct, 2014 1 commit
  9. 30 Sep, 2014 1 commit
    • Damien George's avatar
      stmhal: Add network and usocket module. · 3a1c4c5b
      Damien George authored
      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.
      3a1c4c5b
  10. 29 Sep, 2014 1 commit
  11. 23 Sep, 2014 1 commit
    • Damien George's avatar
      stmhal: Initialise stack pointer correctly. · eaaebf32
      Damien George authored
      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).
      eaaebf32
  12. 15 Sep, 2014 1 commit
    • Damien George's avatar
      py: Move definition of mp_sys_exit to core. · b92cbe61
      Damien George authored
      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.
      b92cbe61
  13. 25 Aug, 2014 1 commit
  14. 16 Aug, 2014 1 commit
  15. 10 Aug, 2014 1 commit
  16. 04 Aug, 2014 2 commits
    • Damien George's avatar
      stmhal: Clean up reset/soft-reset code; fix bug init'ing VCP exc. · ccacdf44
      Damien George authored
      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.
      ccacdf44
    • Damien George's avatar
      Put call to qstr_init and mp_init_emergency_exc_buf in mp_init. · 8dbbbbc7
      Damien George authored
      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).
      8dbbbbc7
  17. 31 Jul, 2014 1 commit
    • Damien George's avatar
      stmhal: Change 0:/ and 1:/ to /flash and /sd; add CWD support. · 65dd7bc1
      Damien George authored
      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.
      65dd7bc1
  18. 25 Jul, 2014 1 commit
    • Dave Hylands's avatar
      Add support for storing args during an exception raised by an irq. · 5b7fd20f
      Dave Hylands authored
      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
      ```
      5b7fd20f
  19. 20 Jul, 2014 1 commit
  20. 02 Jul, 2014 1 commit
  21. 30 Jun, 2014 2 commits
  22. 28 Jun, 2014 1 commit
  23. 27 Jun, 2014 1 commit
    • Paul Sokolovsky's avatar
      py: Move stack_ctrl_init() to mp_init(). · 8a96ebea
      Paul Sokolovsky authored
      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.
      8a96ebea
  24. 26 Jun, 2014 1 commit
  25. 21 Jun, 2014 2 commits
  26. 19 Jun, 2014 1 commit
  27. 14 Jun, 2014 4 commits
  28. 24 May, 2014 1 commit
  29. 10 May, 2014 1 commit
  30. 03 May, 2014 2 commits
  31. 30 Apr, 2014 1 commit