Revision History
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 Name | Dependency Version |
---|---|
mwx | 0.2.0 |
twesettings | 0.2.6 |
TWENET C | 1.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()
toG_BYTE()
. - Changed the order of
vAHI_DioInterruptEnable()
inattachIntDio()
. - 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 Name | Dependency Version |
---|---|
mwx | 0.1.9 |
twesettings | 0.2.6 |
TWENET C | 1.3.5 |
Main changes
- Added board support
BRD_ARIA
and sensor definitionSHT4x
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 Name | Dependency Version |
---|---|
mwx | 0.1.8 |
twesettings | 0.2.6 |
TWENET C | 1.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 Name | Dependency Version |
---|---|
mwx | 0.1.7 |
twesettings | 0.2.6 |
TWENET C | 1.3.4 |
Main changes
- Added TWELITE CUE board behavior (https://mwx.twelite.info/v/v0.1.7/boards/cue).
- Added method to receive packets that are not in
NWK_SIMPLE
format (without network usage) when usingNWK_SIMPLE
. Initialize withNWK_SIMPLE::receive_nwkless_pkt()
. When using this packet info, only use the TWENET C library structure via.get_psRxDataApp()
and data array via.get_payload()
. Other methods of the received packet (auto&& rx = the_twelite.receiver.read()
) return undefined info. - Refined
get_stream_helper()
code and improved API for read/write position. - Added EEPROM class object (https://mwx.twelite.info/v/v0.1.7/api-reference/predefined_objs/eeprom)
- Sample (https://github.com/monowireless/Act_samples/tree/master/Unit_EEPROM)
- Fixed bug in
smplbuf::get_stream_helper()
- Added
pktparser
class (https://mwx.twelite.info/v/v0.1.7/api-reference/classes/pktparser) - Sample (https://github.com/monowireless/Act_samples/tree/master/Unit_PktParser)
- Provided sample to build
serparser/pktparser
on other platforms (https://github.com/monowireless/mwx/tree/master/stdio)
0.1.6 - 2020-10-09
Library Name | Dependency Version |
---|---|
mwx | 0.1.6 |
twesettings | 0.2.5 |
TWENET C | 1.3.4 |
Main changes
- Added
div100()
that calculates quotient and remainder and outputs toSerial
etc. - Changed implementation of
smplbuf<>
array class. To reduce memory usage, stopped inheritingmwx::stream
and defined separate inherited and helper classes. - Added functions
mwx_printf()
andmwx_snprintf()
- Added
the_twelite.stop_watchdog()
andthe_twelite.restart_watchdog()
- Maintained
mwx::stream
: Removedoperator bool()
. Specified timeout of0xff
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 encryptedSTG_STD::u8encmode()
: Gets encryption setting in interactive modeSTG_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 foravailable()
,read()
to onlyvoid*
, 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 totrue
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"); ;
- To enable encryption, set
- 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.
- Added missing NO_STOP message sending code in
0.1.5 - 2020-08-05
Library Name | Dependency Version |
---|---|
mwx | 0.1.5 |
twesettings | 0.2.5 |
TWENET C | 1.3.4 |
Main changes
- Added setting behavior (interactive mode feature)
- Implemented channel manager
chmgr
0.1.4 - 2020-07-29
Library Name | Dependency Version |
---|---|
mwx | 0.1.4 |
twesettings | 0.2.4 |
TWENET C | 1.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.
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
0.1.1 - 2020-02-28
Main changes
- Fixed issue with handling of relay flags inside packets
0.1.0 - 2019-12-23
First release (included in SDL December 2019 issue)