Stm32pio Versions Save

Automate managing of STM32CubeMX + PlatformIO projects

v0.95

4 years ago
  • New: re-made patch() method: it can intelligently parses platformio.ini and substitutes necessary options. Patch can now be a general .INI-format config
  • New: test_get_state()
  • New: upload to PyPI
  • New: use regular expressions to test the logging output format for both verbose and normal modes
  • Fix: return -d as an optional argument to be able to execute a short form of the app
  • Changed: subclass ConfigParser to add save() method (remove Stm32pio.save_config())
  • Changed: resolve more TO-DOs (some cannot be achieved actually)
  • Changed: improve setup.py
  • Changed: replace traceback.print to logging functionality
  • Changed: no more mutable default arguments
  • Changed: use inspect.cleandoc to place long multi-line strings in code
  • Changed: rename _load_config_file(), ProjectState.PATCHED
  • Changed: use interpolation=None for ConfigParser
  • Changed: check whether there is already a platformio.ini file and warn in this case on PlatformIO initialization stage
  • Changed: sort imports in the alphabetic order
  • Changed: use configparser to test project patching

v0.9

4 years ago
  • New: tested with Python3 version of PlatformIO
  • New: __main__.py file (to run the app as module (python -m stm32pio))
  • New: 'init' subcommand (initialize the project only, useful for the preliminary tweaking)
  • New: introducing the OOP pattern: we have now a Stm32pio class representing a single project (project path as a main identifier)
  • New: projects now have a config file stm32pio.ini where the user can set the variety of parameters
  • New: state property calculating the estimated project state on every request to itself (beta). It is the concept for future releases
  • New: STM32CubeMX is now started more silently (without a splash screen)
  • New: add integration and CLI tests (sort of)
  • New: testing with different Python versions using pyenv (3.6+ target)
  • New: run_editor test is now preliminary automatically check whether an editor is installed on the machine
  • New: more typing annotations
  • Fixed: the app has been failed to start as python app.py (modify sys.path to fix)
  • Changed: main function is now fully modular: can be run from anywhere with given CLI arguments (will be piped forward to be parsed via argparse)
  • Changed: rename stm32pio.py -> app.py (stm32pio is the name of the package as a whole)
  • Changed: rename util.py -> lib.py (means main library)
  • Changed: logging is now more modular: we do not set global basicConfig and specify separated loggers for each module instead
  • Changed: more clear description of steps to do for each user subcommand by the code
  • Changed: get rid of print calls leaving only logging messages (easy to turn on/off the console output in the outer code)
  • Changed: re-imagined API behavior: where to raise exceptions, where to return values and so on
  • Changed: more clean API, e.g. move out the board resolving procedure from the pio_init method and so on
  • Changed: test fixture is now moved out from the repo and is deployed temporarily on every test run
  • Changed: set-up and tear-down stages are now done using unittest API
  • Changed: actualized .ioc file for the latest STM32CubeMX version (5.4.0 at the moment)
  • Changed: improved help, docs, comments

v0.8

4 years ago
  • New: setup.py can now install executable script to run stm32pio from any location
  • New: stm32pio logo/schematic
  • New: add PyCharm to .gitignore
  • New: add clear TODOs for the next release (some sort of a roadmap)
  • New: single __version__ reference
  • New: add some new tests (test_build_should_raise, test_file_not_found)
  • Fixed: options --start-editor and --with-build can now be used both for new and generate commands
  • Fixed: import scheme is now as it should be
  • Changed: migrate from os.path to pathlib as much as possible for paths management (as a more high-level module)
  • Changed: 'start editor' feature is now starting an arbitrary editor (in the same way as you do it from the terminal)
  • Changed: take outside platformio command (to settings)
  • Changed: screenshots were actualized for recent CubeMX versions
  • Changed: logging output in standard (non-verbose) mode is simpler
  • Changed: move tests in new location
  • Changed: revised and improved tests
  • Changed: actualized .ioc file and clean-up the code according to the latest STM32CubeMX version (5.3.0 at the moment)
  • Changed: revised and improved util module

v0.74

5 years ago

v0.73

5 years ago

v0.7

5 years ago