/      日本語

Revision History

Revision history of the TWELITE STAGE SDK

Update Method

Fixes and additions after the release of the TWELITE STAGE distribution package are stored in the GitHub repository. Please replace the distribution package location as needed for use. Other updates to MWSDK may be required. Please refer to the release notes at the time of update. For MWSDK updates, please refer here.

How to Update MWX Library Code

The library source code is published on the GitHub repository. To replace the library source code, follow the steps below.

Clone the Git repository or download the source code in zip format from the link of each release.

Replace the contents of the following folder:

.../MWSTAGE/              --- TWELITE STAGE distribution folder
        .../MWSDK         --- MWSDK folder
              .../TWENET/current/src/mwx <-- Replace this folder

Updates Before Release

Updates before release may be posted below.

https://github.com/monowireless/mwx/wiki

History

0.2.0 - 2022-03-01

Library NameDependency Version
mwx0.2.0
twesettings0.2.6
TWENET C1.3.5

Main changes

  • Changed the Wire object that allocates memory to the heap area.
  • To avoid name collisions in utils.h, changed the function name from G_OCTET() to G_BYTE().
  • Changed the order of vAHI_DioInterruptEnable() in attachIntDio().
  • Added the_twelite.network2 to support universal receivers (NWK_LAYERED, NWK_SIMPLE or receiving network-less packets in the same executable code).
  • Added NWK_LAYERED (currently only supports parent device reception)
  • Introduced the function MWX_Set_Usder_App_Ver() to set the application version during MWX initialization.
  • Added mwx::pnew() to simplify placement new notation.
  • Added EASTL support
    • Added new[] operator for EASTL
  • Precompiled most of the MWX source code to speed up compilation.
  • Fixed an issue where DIO events were passed to unrelated ports.

0.1.9 - 2021-12-15

Library NameDependency Version
mwx0.1.9
twesettings0.2.6
TWENET C1.3.5

Main changes

  • Added board support BRD_ARIA and sensor definition SHT4x for TWELITE ARIA
  • Added internal procedure to allow output using Serial class object during interactive mode (Serial._force_Serial_out_during_intaractive_mode())

0.1.8 - 2021-09-09

Library NameDependency Version
mwx0.1.8
twesettings0.2.6
TWENET C1.3.5

Main changes

  • Definitions of Serial1 port and alternative port were incorrect
  • Allowed changing the baud rate of Serial (UART0)
  • Added event callbacks to notify receiving packet (on_rx_packet()) and transmission completion (on_tx_comp())
    • If the callback function is not defined, the previous procedure is still available
  • Fixed incorrect definition ID and some default values in <STG_STD> interactive mode settings
  • Allowed changing default values of channel and logical device ID in addition to AppID in <STG_STD> interactive mode settings
  • Allowed some settings of the_twelite and <NWK_SIMPLE> objects to be done in interactive mode <STG_STD> object
  • Allowed setting default retry count in <NWK_SIMPLE>
  • Disabled Serial (UART0) input/output from application while <STG_STD> interactive mode screen is displayed
  • Added CUE::PIN_SET, PAL???"":PIN_SET (PIN_BTN is unnatural to use for CUE without button)
  • Moved random() namespace to mwx:: (alias in global name)
  • Changed MONOSTICK watchdog setting to 32ms units
  • Fixed pin initialization issue when sleeping with BRD_TWELITE

0.1.7 - 2020-12-03

Library NameDependency Version
mwx0.1.7
twesettings0.2.6
TWENET C1.3.4

Main changes

0.1.6 - 2020-10-09

Library NameDependency Version
mwx0.1.6
twesettings0.2.5
TWENET C1.3.4

Main changes

  • Added div100() that calculates quotient and remainder and outputs to Serial etc.
  • Changed implementation of smplbuf<> array class. To reduce memory usage, stopped inheriting mwx::stream and defined separate inherited and helper classes.
  • Added functions mwx_printf() and mwx_snprintf()
  • Added the_twelite.stop_watchdog() and the_twelite.restart_watchdog()
  • Maintained mwx::stream: Removed operator bool(). Specified timeout of 0xff disables timeout (.set_timeout(0xff)). Added other << operators.
  • Added support for NOTICE PAL / PCA9632 (Explanation https://mwx.twelite.info/v/latest/boards/pal/pal_notice, Sample https://github.com/monowireless/Act_samples/tree/master/Unit_using_PAL_NOTICE)
  • Added non-division scale functions for 8bit and 0..1000 range.
  • Added division by 10, 100, 1000 (calculating quotient and remainder simultaneously) div10(), div100(), div1000(). Limits value range and uses multiplication and bit shifts.
  • Added methods supporting encrypted packets
    • packet_rx::is_secure_pkt(): Checks if received packet is encrypted
    • STG_STD::u8encmode(): Gets encryption setting in interactive mode
    • STG_STD::pu8enckeystr(): Gets encryption key byte string in interactive mode
  • Serial1: Default port is DIO14,15 which overlaps I2C in semiconductor specs, but since I2C usually uses these, set to DIO11(TxD), DIO9(RxD).
  • Serial: Optimized baud rate specification which divides by 100 for main baud rates.
  • Serial: Reduced proxy function storage for available(), read() to only void*, saving 8 bytes.
  • Added typedef boolean
  • Network: Added encryption support.
    • To enable encryption, set NWK_SIMPLE::secure_pkt(const uint8_t*, bool = false). The first parameter is the encryption key, the second set to true allows receiving plaintext packets.
    auto&& nwk = the_twelite.network.use<NWK_SIMPLE>();
    nwk << NWK_SIMPLE::logical_id(0xFE) // set Logical ID. (0xFE means a child device with no ID)
        << NWK_SIMPLE::secure_pkt((const uint8_t*)"0123456789ABCDEF");
        ;
  • Added support for SHT3x and BME280 sensors
  • Sensor: Added mechanism for legacy code (C library wrapper classes) to exchange settings and status.
  • Sensor: Allowed specifying I2C address for SHT3x and BME280.
  • Settings: Added hide_items() to remove unnecessary setting items.
  • Settings: Added H/W UTIL menu. Displays DI status, I2C probe, PAL EEPROM contents.
  • Settings: Added encryption-related menu.
  • I2C related fixes (to improve compatibility with code implemented using TwoWire class)
    • Added missing NO_STOP message sending code in requestFrom(false).
    • Added class name alias for TwoWire.
    • Prevented multiple initialization in begin().
    • Added setClock() method (dummy function that does nothing).
    • Added WIRE_CONF::WIRE_???KHZ. Added major bus clock settings.

0.1.5 - 2020-08-05

Library NameDependency Version
mwx0.1.5
twesettings0.2.5
TWENET C1.3.4

Main changes

  • Added setting behavior (interactive mode feature)
  • Implemented channel manager chmgr

0.1.4 - 2020-07-29

Library NameDependency Version
mwx0.1.4
twesettings0.2.4
TWENET C1.3.3

Bulk download

MWSDK2020_07_UNOFFICIAL (ReadMe)

Main changes

  • Added delayMilliseconds()
  • Added digitalReadBitmap()
  • Improved accuracy of delay()
  • Fixed issue where Serial1 instance was not defined
  • Fixed issue where Analogue interrupt handler was not called

0.1.3 - 2020-05-29

Corresponds to MWSDK2020_05

Main changes

  • Initialization of duplicate checker duplicate_checker was inadequate and did not remove duplicates as expected
  • Replaced format() implementation with less platform-dependent one. Also limited arguments to maximum 8. Number of arguments is limited if 64-bit arguments are included.

https://github.com/monowireless/mwx/releases/tag/0.1.3

0.1.2 - 2020-04-24

Corresponds to MWSDK2020_04

Main changes

  • Fixed initialization issues of Timer0..4
  • Changed internal processing of mwx::format()
  • Added experimental code for interactive mode support

https://github.com/monowireless/mwx/releases/tag/0.1.2

0.1.1 - 2020-02-28

Main changes

  • Fixed issue with handling of relay flags inside packets

https://github.com/monowireless/mwx/releases/tag/0.1.1

0.1.0 - 2019-12-23

First release (included in SDL December 2019 issue)

https://github.com/monowireless/mwx/releases/tag/0.1.0