Skip to content
Snippets Groups Projects
  1. Aug 14, 2018
    • stijn's avatar
      windows/msvc: Support custom compiler for header generation. · 3f9d3e12
      stijn authored
      Use overrideable properties instead of hardcoding the use of the
      default cl executable used by msvc toolsets. This allows using
      arbitrary compiler commands for qstr header generation.
      The CLToolExe and CLToolPath properties are used because they are,
      even though absent from any official documentation, the de-facto
      standard as used by the msvc toolsets themselves.
      3f9d3e12
  2. Aug 13, 2018
  3. Aug 10, 2018
  4. Aug 08, 2018
  5. Aug 07, 2018
  6. Aug 06, 2018
    • Damien George's avatar
      py/emitnative: Simplify handling of exception objects from nlr_buf_t. · 652a5869
      Damien George authored
      There is no need to have three copies of the exception object on the top of
      the native value stack.  Instead, the values on the stack should be the
      first two items in an nlr_buf_t: the prev pointer and the ret_val pointer.
      This is all that is needed and is what the rest of the native emitter
      expects is on the stack.
      
      This patch is essentially an optimisation.  Behaviour is unchanged,
      although the stack layout for native exception handling now makes more
      sense.
      652a5869
  7. Aug 04, 2018
  8. Aug 02, 2018
  9. Aug 01, 2018
    • Stig Bjørlykke's avatar
      nrf: Correct index checking of ADC/PWM/RTCounter instances. · 0c161691
      Stig Bjørlykke authored
      Avoid trying to use ADC, PWM and RTCounter instances which is
      one past last available, because this will give a HardFault.
      0c161691
    • Stig Bjørlykke's avatar
      nrf: Enable all PWM, RTC and Timer instances for nrf52840. · 7f0c5f2e
      Stig Bjørlykke authored
      The NRF52 define only covers nrf52832, so update the define checks
      to use NRF52_SERIES to cover both nrf52832 and nrf52840.
      
      Fixed machine_hard_pwm_instances table in modules/machine/pwm.c
      
      This enables PWM(0) to PWM(3), RTCounter(2), Timer(3) and Timer(4),
      in addition to NFC reset cause, on nrf52840.
      7f0c5f2e
    • Stig Bjørlykke's avatar
      nrf/uos: Add mbfs __enter__ and __exit__ handlers. · b6e49da4
      Stig Bjørlykke authored
      This will make 'with open('file', 'r') as f:' work by properly close
      the file after the suite is finished.
      b6e49da4
    • Rich Barlow's avatar
      tools/mpy-tool: Set sane initial dynamic qstr pool size with frozen mods · 6e5a40cf
      Rich Barlow authored
      The first dynamic qstr pool is double the size of the 'alloc' field of
      the last const qstr pool. The built in const qstr pool
      (mp_qstr_const_pool) has a hardcoded alloc size of 10, meaning that the
      first dynamic pool is allocated space for 20 entries. The alloc size
      must be less than or equal to the actual number of qstrs in the pool
      (the 'len' field) to ensure that the first dynamically created qstr
      triggers the creation of a new pool.
      
      When modules are frozen a second const pool is created (generally
      mp_qstr_frozen_const_pool) and linked to the built in pool. However,
      this second const pool had its 'alloc' field set to the number of qstrs
      in the pool. When freezing a large quantity of modules this can result
      in thousands of qstrs being in the pool. This means that the first
      dynamically created qstr results in a massive allocation. This commit
      sets the alloc size of the frozen qstr pool to 10 or less (if the number
      of qstrs in the pool is less than 10). The result of this is that the
      allocation behaviour when a dynamic qstr is created is identical with an
      without frozen code.
      
      Note that there is the potential for a slight memory inefficiency if the
      frozen modules have less than 10 qstrs, as the first few dynamic
      allocations will have quite a large overhead, but the geometric growth
      soon deals with this.
      6e5a40cf
    • Damien George's avatar
      stm32/modmachine: Get machine.sleep working on L4 MCUs. · 5482d846
      Damien George authored
      When waking from stop mode most of the system is still in the same state as
      before entering stop, so only minimal configuration is needed to bring the
      system clock back online.
      5482d846
    • Damien George's avatar
  10. Jul 31, 2018
    • Damien George's avatar
      docs: Move WiPy specific Timer class to separate doc file. · d8e03204
      Damien George authored
      The WiPy machine.Timer class is very different to the esp8266 and esp32
      implementations which are better candidates for a general Timer class.  By
      moving the WiPy Timer docs to a completely separate file, under a new name
      machine.TimerWiPy, it gives a clean slate to define and write the docs for
      a better, general machine.Timer class.  This is with the aim of eventually
      providing documentation that does not have conditional parts to it,
      conditional on the port.
      
      While the new docs are being defined it makes sense to keep the WiPy docs,
      since they describe its behaviour.  Once the new Timer behaviour is defined
      the WiPy code can be changed to match it, and then the TimerWiPy docs would
      be removed.
      d8e03204
    • Damien George's avatar
    • Damien George's avatar
      stm32/rtc: Get rtc.wakeup working on F0 MCUs. · 9dfbb6cc
      Damien George authored
      The problem was that the EXTI line for the RTC wakeup event is line 20 on
      the F0, so the interrupt was not firing.
      9dfbb6cc
    • Damien George's avatar
      py/asmthumb: Optimise native code calling runtime glue functions. · 1e3a7f56
      Damien George authored
      This patch makes the Thumb-2 native emitter use wide ldr instructions to
      call into the runtime, when the index into the native glue function table
      is 32 or greater.  This reduces the generated assembler code from 10 bytes
      to 6 bytes, saving RAM and making native code run about 0.8% faster.
      1e3a7f56
  11. Jul 30, 2018
  12. Jul 27, 2018
Loading