Xpcc Versions Save

DEPRECATED, use our successor library https://modm.io instead

2018q2

5 years ago

This release covers everything from the 2018q1 release on 2018-04-05 and has been tested with avr-gcc v7.3.0 and arm-none-eabi-gcc 2018q2 from Arm.

Breaking changes:

  • No breaking changes.

Major features:

  • Shared USART IRQ implementation for STM32F0/L0, fixes #88.
  • Generic constexpr CAN bit timing calculations

Major fixes:

  • Force UTF-8 encoding on Jinja templates, fixes #345.
  • Fix missing ASCR register for STM32L4 GPIO.
  • Correct formatting of float NaN and +-Inf values.
  • Fix SoftwareSpiMaster::acquire() function.

Known bugs:

  • GPIO connect on STM32F1 is still broken. See #178 for discussion. The API from MODM will not be backported to xpcc however.
  • STM32F107 does not compile due to the HAL trying to remap USB. See #268.
  • SCons build system emits multiple non-critical warnings. See #286.
  • avr-gcc 7 complains about dynamic initialization put into program memory area. See #314.

New development board targets:

  • Nucleo-L432KC board as nucleo_l432kc.
  • Black Pill board as stm32f103c8t6_black_pill.

New device drivers:

  • No new device drivers.

Many thanks to all our contributors: A special shoutout to first timers (πŸŽ‰πŸŽŠ):

  • Christopher Durand (@chris-durand)
  • Lucas MΓΆsch (@lmoesch) πŸŽ‰πŸŽŠ
  • Nick Sarten (@genbattle)
  • Niklas Hauser (@salkinium)
  • Raphael Lehmann (@rleh)
  • Sascha Schade (@strongly-typed)

See our Changelog for more details.

2018q1

6 years ago

This release covers everything from the 2017q4 release on 2018-01-07 and has been tested with avr-gcc v7.2.0 and arm-none-eabi-gcc 2017q4 from Arm.

Breaking changes:

  • No breaking changes.

Major features:

  • ADC implementation for STM32F0
  • Block device interface and implementations
  • CMake wrapper generator
  • STM32L4 PLL configuration

Major fixes:

  • Better Python 2/3 compatibility
  • Fix HD44780 timing
  • Fix AMSYS5915 sensor readings computation

Known bugs:

  • xpcc may generate separate IRQ handlers for shared interrupts. See #88.
  • GPIO connect on STM32F1 is still broken. See #178 for discussion. The API from MODM will not be backported to xpcc however.
  • STM32F107 does not compile due to the HAL trying to remap USB. See #268.
  • SCons build system emits multiple non-critical warnings. See #286.
  • avr-gcc 7 complains about dynamic initialization put into program memory area. See #314.
  • Template encoding issues on Windows. See #345.

New development board targets:

  • STM32F030F4P6 demo board as stm32f030f4p6_demo_board

New device drivers:

  • SPI Flash SST block device
  • Memory block device
  • File block device (hosted)
  • Mirrored block device

Many thanks to all our contributors:

  • Álan CrΓ­stoffer (@acristoffers)
  • Antal SzabΓ³ (@Sh4rK)
  • Christopher Durand (@chris-durand)
  • Niklas Hauser (@salkinium)
  • Raphael Lehmann (@rleh)

See our Changelog for more details.

2017q4

6 years ago

This release covers everything from the 2017q3 release on 2017-10-01 and has been tested with avr-gcc v5.4.0 from Atmel and arm-none-eabi-gcc 2017q4 from Arm.

Breaking changes:

  • No breaking changes.

Major features:

  • SCons 3 and Python 3 support for built tools
  • All targets build with C++14 by default
  • Rosserial support
  • LPC support (revival)

Major fixes:

  • Fix the I2C driver on STM32L0/L4 for writes/reads > 255 bytes.
  • Fix matrix multiplication and LU decomposition
  • Fix GpioPort setOutput()/setInput()/configure() on STM32
  • Fix Hd44780 initialization for 4-bit bus
  • Fix GCC7-specific compile errors and warnings

Known bugs:

  • xpcc may generate separate IRQ handlers for shared interrupts. See #88.
  • GPIO connect on STM32F1 is still broken. See #178 for discussion. The API from MODM will not be backported to xpcc however.
  • STM32F107 does not compile due to the HAL trying to remap USB. See #268.
  • SCons build system emits multiple non-critical warnings. See #286.
  • avr-gcc 7 complains about dynamic initialization put into program memory area. See #314.

New development board targets:

  • No new development board targets

New device drivers:

  • No new device drivers

Many thanks to all our contributors. A special shoutout to first timers (πŸŽ‰πŸŽŠ):

  • Álan CrΓ­stoffer (@acristoffers) πŸŽ‰πŸŽŠ
  • Andre Gilerson (@AndreGilerson) πŸŽ‰πŸŽŠ
  • Carl Treudler (@cajt)
  • Christopher Durand (@chris-durand)
  • Marten Junga (@Maju-Ketchup)
  • Michael Thies (@mhthies)
  • Niklas Hauser (@salkinium)
  • Raphael Lehmann (@rleh)
  • Sascha Schade (@strongly-typed)

See our Changelog for more details.

2017q3

6 years ago

This release covers everything from the 2017q2 release on 2017-07-02 and has been tested with avr-gcc v5.4.0 from Atmel and arm-none-eabi-gcc 2017q2 from Arm. Note, that Arm did not release 6-2017-q3-update for their toolchain this quarter.

Breaking changes:

  • MCP2515 revival adds new initialize API

Major features:

  • No major features

Major fixes:

  • Fix pin remap access (MAPR2 register) for STM32F1 XL Density series
  • Fix moving average for negative averages
  • Fix printf format string type violations

Known bugs:

  • xpcc may generate separate IRQ handlers for shared interrupts. See #88.
  • GPIO connect on STM32F1 is still broken. See #178 for discussion. The API from MODM will not be backported to xpcc however.
  • STM32L0/L4 hardware I2C driver has limitations on restart behaviors. See #255.
  • STM32F107 does not compile due to the HAL trying to remap USB. See #268.
  • SCons build system emits multiple non-critical warnings. See #286.
  • SCons 3.0 was released, however, our build system is not fully compatible. See #293.

New development board targets:

  • OLIMEXINO-STM32 as olimexino_stm32
  • STM32F051R-DISCO as stm32f0_discovery

New device drivers:

  • AD79x8
  • LTC298x
  • AMSYS5915
  • MCP2515 (revived)

Many thanks to all our contributors. A special shoutout to first timers (πŸŽ‰πŸŽŠ):

  • Carl Treudler (@cajt) πŸŽ‰πŸŽŠ
  • Christopher Durand (@chris-durand)
  • Daniel Krebs (@daniel-k)
  • Marten Junga (@Maju-Ketchup) πŸŽ‰πŸŽŠ
  • Michael Thies (@mhthies)
  • Niklas Hauser (@salkinium)
  • Raphael Lehmann (@rleh)
  • Sascha Schade (@strongly-typed)

See our Changelog for more details.

2017q2

6 years ago

This release covers everything from the 2017q1 release on 2017-04-05 and has been tested with avr-gcc v5.4.0 from Atmel and arm-none-eabi-gcc 2017q2 from ARM.

Breaking changes:

  • No breaking changes

Major features:

  • STM32L4 target support and drivers
  • Improve assert implementation and make use of them

Major fixes:

  • Fix issues and warnings in release tests
  • Fix wrong ns_per_loop rounding in board definitions

Known bugs:

  • xpcc may generate separate IRQ handlers for shared interrupts. See #88.
  • GPIO connect on STM32F1 is still broken. See #178 for discussion. The API from MODM will not be backported to xpcc however.
  • STM32L0/L4 hardware I2C driver has limitations on restart behaviors. See #255.

New development board targets:

  • NUCLEO-L476RG as nucleo_l476rg
  • STM32L476G-DISCO as stm32l476_discovery

New device drivers:

  • DS1302
  • TCS3472X

Many thanks to all our contributors of this release. A special shoutout to first timers (πŸŽ‰πŸŽŠ):

  • Arjun Sarin πŸŽ‰πŸŽŠ
  • Michael Thies (@mhthies)
  • Niklas Hauser (@salkinium)
  • Sascha Schade (@strongly-typed)

See our Changelog for more details.

2017q1

7 years ago

As this is our first official release it covers the last 12 months of development since 2016-04-01.

Breaking changes:

  • Fix implicit conversion of Flags
  • Refactor buffer to display_buffer in BufferedGraphicDisplay
  • Fix spelling of SpiMaster::acquire
  • Namespace architecture/util.hpp macros
  • stm32f7_discovery renamed to stm32f746g_discovery

Major features:

  • Runtime error model using assertion handlers
  • Memory traits to heap regions and allocators
  • TLSF allocator
  • Link against newlib-nosys and newlib-nano
  • Unified interrupt declaration conventions
  • Black Magic Probe programming support
  • ARM Cortex-M7 with double precision FPU
  • ZeroMQ as transport layer for XPCC
  • Update STM32 header and device files
  • Namespace architecture/util.hpp macros
  • Coding conventions
  • Porting guide

Major fixes:

  • Fix implicit conversion of Flags
  • Fix I2C master reception of 2B transfers
  • Fix spelling of SpiMaster::acquire

Known bugs:

  • xpcc may generate separate IRQ handlers for shared interrupts. See #88.
  • GPIO connect on STM32F1 is broken. They can be remapped only in groups, however, the API allows invalid remapping. This cannot be fixed without introducing a new API for that. See #178 for discussion. A solution has been tested for modm, but isn't ready for xpcc.

New development board targets:

  • NUCLEO-F031K6 as nucleo_f031k6
  • NUCLEO-F303K8 as nucleo_f303k8
  • NUCLEO-F401RE as nucleo_f401re
  • NUCLEO-F411RE as nucleo_f411re
  • NUCLEO-F429ZI as nucleo_f429zi
  • STM32F769I-DISCO as stm32f769i_discovery
  • STM32F469I-DISCO as stm32f469_discovery
  • STM32F103 board "Blue Pill" as stm32f103c8t6_blue_pill

New device drivers:

  • VL53L0X
  • BME280
  • ADNS9800
  • FT6x06

Many thanks to all our contributors. A special shoutout to first timers (πŸŽ‰πŸŽŠ):

  • Antal SzabΓ³ (@Sh4rK)
  • Christopher Durand (@chris-durand) πŸŽ‰πŸŽŠ
  • Daniel Krebs (@daniel-k)
  • Fabian Greif (@dergraaf)
  • Georgi Grinshpun (@georgi-g)
  • Julia Gutheil πŸŽ‰πŸŽŠ
  • Kevin LΓ€ufer (@ekiwi)
  • Michael Thies (@mhthies) πŸŽ‰πŸŽŠ
  • Nick Sarten (@genbattle) πŸŽ‰πŸŽŠ
  • Niklas Hauser (@salkinium)
  • Raphael Lehmann (@rleh) πŸŽ‰πŸŽŠ
  • Sascha Schade (@strongly-typed)
  • Tarik TIRE (@7Kronos) πŸŽ‰πŸŽŠ
  • Tomasz Chyrowicz (@tomchy) πŸŽ‰πŸŽŠ

See our Changelog for more details.