1. 10 Apr, 2014 1 commit
    • Damien George's avatar
      stmhal: Add stm module, which contains some constants for the MCU. · 3f489845
      Damien George authored
      Also contains raw memory read/write functions, read8, read16, read32,
      write8, write16, write32.  Can now do:
      
      stm.write16(stm.GPIOA + stm.GPIO_BSRRL, 1 << 13)
      
      This turns on the red LED.
      
      With the new constant folding, the above constants for the GPIO address
      are actually compiled to constants (and the addition done) at compile
      time.  For viper code and inline assembler, this optimisation will make
      a big difference.  In the inline assembler, using these constants would
      not be possible without this constant folding.
      3f489845
  2. 08 Apr, 2014 2 commits
  3. 05 Apr, 2014 1 commit
    • Damien George's avatar
      py: Replace stream_p with *stream_p in mp_obj_type_t. · 27e735fd
      Damien George authored
      This is to reduce ROM usage.  stream_p is used in file and socket types
      only (at the moment), so seems a good idea to make the protocol
      functions a pointer instead of the actual structure.
      
      It saves 308 bytes of ROM in the stmhal/ port, 928 in unix/.
      27e735fd
  4. 03 Apr, 2014 1 commit
  5. 30 Mar, 2014 1 commit
    • Damien George's avatar
      stmhal: Implement selector for USB device mode; improve boot up. · 038df431
      Damien George authored
      Can now choose at boot up whether the USB device is CDC+MSC or CDC+HID.
      Choice is made by an option in boot.py, with default being CDC+MSC.
      HID+MSC is not currently supported, but should be easy to implement.
      
      Boot up now has ability to change the reset mode: hold down USR switch
      while booting and LEDs will count from 1 to 7 to indicate the boot mode.
      Release USR when correct mode is selected.  Current modes are 1 (normal
      boot), 2 (safe mode), 3 (reset FS mode).
      038df431
  6. 26 Mar, 2014 2 commits
  7. 24 Mar, 2014 1 commit
  8. 23 Mar, 2014 1 commit
  9. 22 Mar, 2014 4 commits
  10. 13 Mar, 2014 1 commit
  11. 08 Mar, 2014 2 commits
  12. 23 Feb, 2014 1 commit
    • Dave Hylands's avatar
      Add EXTI support · ee31f71d
      Dave Hylands authored
      Revamp usrsw to use new exti code.
      Add user switch callback function.
      ee31f71d
  13. 18 Feb, 2014 1 commit
    • Dave Hylands's avatar
      Add pin mapping code. · 51dabac0
      Dave Hylands authored
      This commit also introduces board directories and moves board
      specific config into the appropriate board directory.
      
      boards/stm32f4xx-af.csv was extracted from the STM32F4xx datasheet
      and hand-tweaked.
      
      make-pins.py takes boards/stm32f4xx-af.csv, boards/stm32f4xx-prefix.c,
      and boards/BOARD-NAME/pins.csv as input and generates the file
      build/pins_BOARD_NAME.c
      
      The generated pin file for PYBOARD4 looks like this:
      https://gist.github.com/dhylands/9063231
      
      The generated pins file includes all of the supported alternate
      functions, and includes upsupported alternate functions as comments.
      
      See the commnet block at the top of stm/pin_map.c for details on
      how to use the pin mapper.
      
      I also went ahead and modified stm/gpio.c to use the pin mapper.
      51dabac0
  14. 17 Feb, 2014 1 commit
  15. 16 Feb, 2014 2 commits
  16. 15 Feb, 2014 1 commit
    • Damien George's avatar
      Change mp_obj_type_t.name from const char * to qstr. · a71c83a1
      Damien George authored
      Ultimately all static strings should be qstr.  This entry in the type
      structure is only used for printing error messages (to tell the type of
      the bad argument), and printing objects that don't supply a .print method.
      a71c83a1
  17. 21 Jan, 2014 2 commits