1. 08 Feb, 2023 3 commits
    • Clément Foucher's avatar
      HRTIM module : · 1e043463
      Clément Foucher authored
      - Add a function to obtain current repetition value.
      - Separate Periodic Event enable from its configuration, that will be required in future changes.
      1e043463
    • Clément Foucher's avatar
      Reorganize zephyr folder: put dts files in their correct place according to Zephyr documentation. · c1bba598
      Clément Foucher authored
      Add an overlay file for Nucleo G474RE because it wasn't possible to use that board any more.
      Removed unnecessary compiler option from platformio.ini.
      c1bba598
    • Clément Foucher's avatar
      Small improvements to Data Acquisition, Scheduling and GPIO modules. · fa833c73
      Clément Foucher authored
      Data Acquisition module:
      - Get rid of static qualifiers that add complexity to code and are useless if user use the module correctly (i.e. does not instantiate its own object).
      - Add guards to prevent accessing module functions when it is not started.
      - Rewrite functions comments to ease API understanding.
      - Corrected voltage offsets that were invalidated by conversion formula change.
      
      Scheduling module:
      - Add an initial value of "uninitialized" for interrupt source.
      - Use typedef enum instead of enum class: prefix not mandatory any more.
      
      GPIO module:
      - Just add small comments to public include file to better understand file sections.
      fa833c73
  2. 31 Jan, 2023 1 commit
    • Clément Foucher's avatar
      Introduced a configuration for uninterruptible task source event. · 8b83764d
      Clément Foucher authored
      Now, by default, HRTIM will be the source of the uninterruptible task trigger.
      However, as this require HRTIM to be initialized, Timer 6 is kept as an option for uses that do not involve HRTIM.
      
      Also:
      - Introduced a function to obtain HRTIM period in µs, and corrected a misleading comment on the existing function.
      8b83764d
  3. 25 Jan, 2023 2 commits
  4. 20 Jan, 2023 1 commit
  5. 18 Jan, 2023 2 commits
  6. 12 Jan, 2023 1 commit
  7. 13 Dec, 2022 2 commits
  8. 23 Nov, 2022 2 commits
  9. 22 Nov, 2022 1 commit
  10. 03 Nov, 2022 2 commits
  11. 02 Nov, 2022 1 commit
    • Clément Foucher's avatar
      Update method to acquire Zephyr device structures · 7c36237c
      Clément Foucher authored
      This MR updates the code used to acquire Zephyr device structures, in order to get rid of the `device_get_binding()` calls.
      
      This allows to ensure statically (at compile time) that the drivers used by the code are correctly referenced wrt. drivers names in device tree, and to prevent code from using devices that are not enabled in device tree.
      7c36237c
  12. 31 Oct, 2022 1 commit
    • Luiz Fernando Lavado Villa's avatar
      There was an error on the code for the inversion of the legs for two modes:... · 78092099
      Luiz Fernando Lavado Villa authored
      There was an error on the code for the inversion of the legs for two modes: independent and inverter. This patch corrects this issue.
      
      The inverter mode had a problem on the `hrtim_configuration.c` file, the second leg was inverter and not the first.
      The independent mode had a problem on the `HardwareConfiguration.cpp` file, the sencond leg was inverter and not the first.
      78092099
  13. 06 Oct, 2022 1 commit
    • Luiz Fernando Lavado Villa's avatar
      Patch to control the min-max duty cycle and the frequency of the Hrtim · f1e6ddf4
      Luiz Fernando Lavado Villa authored
      It is necessary to properly control the min and max duty cycle of the hrtim. Our code already does that, but it is not efficient neither does it give the possibility for the user to dynamically set other min/max values. This patch solves that.
      
      It is also necessary to give the user the possibility of setting the frequency of the HRTIM. This patch solves that at the leg driver level and provides the user with an access point.
      
      Both the frequency and the min/max duty cycles are set by default at 200kHz and 0.1/0.9 respectively.
      f1e6ddf4
  14. 04 Oct, 2022 1 commit
  15. 29 Sep, 2022 3 commits
    • Clément Foucher's avatar
      Include readPin function to GPIO API. · 21b5fbbe
      Clément Foucher authored
      21b5fbbe
    • Clément Foucher's avatar
      Define an API for GPIO easy handling. · 74974de7
      Clément Foucher authored
      74974de7
    • Luiz Fernando Lavado Villa's avatar
      This commit is a patch to address the issue of the Twist v1.1.2 board whose... · dce31eb4
      Luiz Fernando Lavado Villa authored
      This commit is a patch to address the issue of the Twist v1.1.2 board whose HRTIMA signals have been inverter in routing.
      
      This commit defines a new hardware version, the TWIST_V_1_1_2.
      This hardware version is then used to set up the control initialization sequence of the power legs, applying the necessary changest to leg 1 whose timer signals have been reversed in routing.
      There is also a correction on the hrtim_init_independent_mode functino that initializes the pwm_phase_shift variable as well as their leg dependent equivalents.
      This initalization is necessary to use the hrtim_interleaved_pwm_update function which uses the phase_shift variable when updating the duty cycle of interleaved buck and boost applicaitons.
      dce31eb4
  16. 28 Sep, 2022 1 commit
  17. 27 Sep, 2022 1 commit
  18. 26 Sep, 2022 1 commit
  19. 19 Sep, 2022 2 commits
  20. 29 Jul, 2022 1 commit
  21. 25 Jul, 2022 1 commit
  22. 21 Jul, 2022 1 commit
  23. 19 Jul, 2022 1 commit
    • Luiz Fernando Lavado Villa's avatar
      The HRTIM still lacks some functions needed for a fine management of the PWM... · 4130ab02
      Luiz Fernando Lavado Villa authored
      The HRTIM still lacks some functions needed for a fine management of the PWM generation. This PR adds several functions. 
      
      Deadtime management
      The deadtime can now be managed separately from the rising and falling edges.
      
      Phase shifting
      The phase of the second leg can now be updated dynamicall
      
      Bug fixes: 
      Readable Independent mode
      The independent mode can now be set as buck or boost instead of true or false, making it more readable.
      
      Extra features: 
      There is now a board version support for the SPIN board
      4130ab02
  24. 13 Jul, 2022 7 commits