# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [2.28.0] - 2026-03-23
### Added
* mx-audio-ctl: new tool for audio output control
  - Speaker output switching (external / embedded)
  - Support MPC-3001
    - Read DIP SW to detect forced external speaker state
    - Control speaker output via GPIO
* Support new model MPC-3001
  - mx-uart-ctl: serialport mode control
  - mx-dio-ctl: DIO state control
  - mx-module-ctl: module control
* Support new model BXP-C200
  - mx-uart-ctl: serialport mode control
  - mx-dio-ctl: DIO state control
  - mx-usb-power-ctl: USB power control

### Fixed
* mx-module-ctl: correct DRPC200 dual wireless board slot order
  - Slot 0 maps to mPCIe, slot 2 maps to M.2 B Key
  - Unsupported slots now exit with "not supported" instead of silently continuing
* mx-usb-power-ctl: fix typo in DRP-C200 comment

## [2.27.0] - 2026-03-12
### Added
* Support new model DRP-C200 and daughter boards
  - Base model: uart, usb power control
  - 5COM I/O board: uart
  - 3COM 4LAN I/O board: uart
  - Full function I/O board: module, dio
  - Dual wireless I/O board: module

### Fixed
* mx-module-ctl: correct typo TARGET_RESET_STATE to TARGET_DISABLE_STATE
* Correct dip output check in test_module
* Treat number of usb as argument in test_usb_power

## [2.26.0] - 2026-02-04
### Added
* rtc-battery-detect:
  - Add the missed systemd service file

## [2.25.0] - 2026-01-30
### Added
* rtc-battery-detect:
  - Support for V2202D, V2406D, V2426D series
  - Support RTC battery voltage from sensors Vbat value
  - Add systemd service file

## [2.24.0] - 2026-01-27
### Added
* Support new model BXP-C101
  - Serialport mode control
  - DIO state control
  - Module control

## [2.23.0] - 2026-01-16
### Added
* library: support get multiple gpio pins status
* BXP series support new I/O board
  - 5G/4G LTE/Wi-Fi I/O board
* Support new model V2406D
  - Serialport control
  - DIO control
* Refactor disk hotswap daemon
  - Monitor disk button event by gpioget instead of gpiomon and handle disk device uevent
  - Support model
    - V3400
    - V2406D

## [2.22.0] - 2025-09-22
### Added
* Support save BIOS state function
* Add save BIOS state for DO on V2202D series

## [2.21.0] - 2025-09-09
### Added
* Support V2202D model
  - mx-uart-ctl
  - mx-dio-ctl
  - mx-usb-power-ctl
* mx-uart-ctl: support 8COM with m.2 IO board model for BXP100 series

### Fixed
* Fixup mx-uart-ctl typo of port table on BXP100 series
* Fixup mx-module-ctl DIP switch as low active on BXP100 series
* Fixup mx-module-ctl DIP switch as low active on RKP100 series

## [2.20.0] - 2025-08-27
### Added
* Support DA-920E model
  - mx-uart-ctl
  - mx-led-ctl
  - mx-relay-ctl
  - mx-usb-power-ctl
* Add Insyde IPMI tool (insyde-ipmi)

### Fixed
* Fix up mx-uart-ctl recognize the ttyUSB port and adjust port table
  for full-function board on BXP-A100/C100 series
* mx-module-ctl shows actually dip switch state instead of GPIO state

### Changed
* Change the mx-usb-power-ctl to use port index instead of port name due to 
  adjust more complex port index rules, it should be described on the UM in detail.

## [2.19.0] - 2025-07-31
### Added
* Support V2201 model
  - mx-uart-ctl
  - mx-dio-ctl
  - mx-module-ctl
  - mx-led-ctl
* Support MC-11xx (MC-1111/MC-1112/MC-1121/MC-1122) model
  - mx-uart-ctl
  - mx-dio-ctl
  - mx-module-ctl

## [2.18.0] - 2025-07-15
### Added
* RKP series support new I/O board
  - Dual wireless
* BXP series support new I/O board
  - (PoC) 1*M.2 slot and 2*mPCIe slots
  - (PoC) 16 COM
* Add set reset state function to mx-module-ctl

### Fixed
* Fix up mx-uart-ctl return string when set as mode 3 on MPC-3000 series
* DRP function plus control mPCIe slot power by Super I/O

## [2.17.0] - 2025-06-02
### Added
* DRP series support new I/O board
  - Dual wireless
  - Function plus

* Add get/set i2c gpiochip pin value function
* Install mx-module-ctl dependency libraries

## [2.16.0] - 2025-06-02
### Added
* Add mx-module-ctl support for BXP full function board

## [2.15.0] - 2025-05-27
### Added
* Add mx-uart-ctl support for BXP full function board

## [2.14.0] - 2025-05-19
### Added
* Add mx-uart-ctl for BXP-A101M
* Add mx-dio-ctl for BXP-A101M
* Add mx-module-ctl for BXP-A101M

## [2.13.1] - 2025-03-12
### Changed
* Swap the 5G module slot index on V3400 series due to 2nd cut diagram changed

## [2.13.0] - 2025-02-26
### Added
* Add mx-disk-hotswap-ctl for handling mount, umount and PLED behavior in udev rules

### Changed
* Move PLED control and scan disk behaviors to mx-disk-hotswap-ctl

## [2.12.3] - 2025-01-12
### Changed
* Change the mx-module-ctl slot index on v3400 series (slot 0 for 5G1, slot 1 for 5G2, slot 2 for LTE)

### Fixed
* Fix the typo on mx-module-ctl's disable option

## [2.12.2] - 2025-01-08
### Fixed
* Fix rtc-battery-detect the display message from V3400 SyRS
* Fix and align MCIM wrapper with current MCIM version 1.42.0
* Fix the wrapper test script as executable permissions

## [2.12.1] - 2024-12-30
### Fixed
* Fix up mx-module-ctl: 5G module SIM card select is controlled by AT command,
  instead of HW GPIO pin on V3400 series

## [2.12.0] - 2024-11-08
### Added
* Add support mx-uart-ctl for BXP-A101S series
* Add support mx-dio-ctl for BXP-A101S series
* Add support mx-module-ctl for BXP-A101S series

## [2.11.0] - 2024-11-06
### Added
* Add support mx-uart-ctl for RKP-C220 series
* Add support mx-dio-ctl for RKP-C220 series

### Fixed
* Set force access to the i2c device even if it is already busy in mx-common-lib

## [2.10.1] - 2024-10-24
### Fixed
* To replace awk in disk hot swap daemon time interval calculation
  by simple integer mathematical calculation

## [2.10.0] - 2024-10-16
### Added
* Add support disk hot swap daemon for V3400 series
* Add support ITxPT daemon for V3400 series
* Add support rtc battery detect for V3400 series
* Add support mPCIe LTE and m.2 5G module for V3400 series
* Add support LED control for V3400 series
* Add support DIO control for V3400 series
* Add module control test script
* Add rtc battery detect test script

### Changed
* Move mx-module-ctl and mx-m2b-module-ctl to legacy folder for reserved

### Fixed
* Fix up mx-uart-ctl return string when set as mode 3 on V3200 series

## [2.9.0] - 2024-08-22
### Added
* Add support mx-dio-ctl for DRP-A100/DRP-C100 full function board

## [2.8.0] - 2024-07-31
### Added
* Add support mx-dio-ctl for DA-681C

### Fixed
* Fix up mx-uart-ctl ft260_module_num_array index should use 0 for DA-681C

## [2.7.0] - 2024-07-11
### Added
* Support new daughter board (2 LAN 4 COM 1 mPCIe on UMC CV) on BXP-C100

## [2.6.0] - 2024-07-03
### Added
* Add MOXA Power Input State Tool for DA Series (mx-input-power-state)
* Add MOXA USB Power State Control Tool for DA Series (mx-usb-power-ctl)
* Add support mx-dio-ctl, mx-uart-ctl, mx-led-ctl and mx-relay-ctl for DA-820E model
* Add support mx-uart-ctl and mx-dio-ctl for DA-820C model
* Add support mx-uart-ctl and mx-dio-ctl for DA-682C model
* Add support mx-uart-ctl for DA-681C model

### Fixed
* support CentOS 7.9 for mx-relay-ctl and mx-led-ctl

## [2.5.0] - 2024-07-02
### Added
* Base on 1.x.x branch, refactor tool script for maintainability and readability: mx-relay-ctl, mx-led-ctl
* Add Moxa Computer Interface Manager (MCIM) wrapper in relay.
* Create test scripts for automation test: test_led, test_relay, test_wrapper (relay)
* Add support mx-dio-ctl and mx-uart-ctl for DA680

## [2.4.1] - 2024-06-12
### Changed
* mx-uart-ctl: Align the return string format with version 1.x.x for setserial method
* mx-uart-ctl: The RS-422/RS-485-4W mode should be shown correctly when set as mode 3

## [2.4.0] - 2024-05-31
### Added
* Add support libgpiod v1.x.x on get and set gpio value

### Fixed
* Fix wrong return string in set uart mode on it87 sysfs

## [2.3.0] - 2024-05-27
### Added
* Add support mx-dio-ctl and mx-uart-ctl for V3000

### Changed
* Update the the uart, dio and mcim wrapper test check return string format

## [2.2.1] - 2024-05-21
### Fixed
* Fix Quectel module power off sequence on mx-module-ctl for BXP-A101 (BYD) model

## [2.2.0] - 2024-05-17
### Added
* Add support mx-dio-ctl, mx-uart-ctl and mx-module-ctl for BXP-A101 (BYD) model

### Changed
* Align the return string format with version 1.x.x: mx-dio-ctl and mx-uart-ctl
* Update the the dio test check return string format

## [2.1.0] - 2024-05-13
### Added
* Add Moxa Computer Interface Manager (MCIM) wrapper in cellular, led, dio, serialport.
* Create test scripts for automation test: test_wrapper (cellular, led, dio, serialport)

### Fixed
* mx-led-ctl: check led index format
* mx-led-ctl: add error handling in setting state
* mx-module-ctl: V3000: remove bind 0x26 address due to unused on mPCIe form factor

## [2.0.0] - 2024-05-10
### Added
* Base on 1.x.x branch, refactor tool script for maintainability and readability: mx-uart-ctl, mx-dio-ctl
* Create test scripts for automation test: test_common_li, test_dio, test_uart

## [1.10.5] - 2024-04-17
### Fixed
* mx-module-ctl: V3000: remove bind 0x26 address due to unused on mPCIe form factor

## [1.10.4] - 2024-03-27
### Fixed
* mx-uart-ctl: MPC-3000 series use libgpiod to control uart

## [1.10.3] - 2024-02-01
### Fixed
* mx-uart-ctl: return error when getting or setting GPIO fails from sysfs

## [1.10.2] - 2023-12-26
### Fixed
* mx-module-ctl: fixup reset option shift args issue

## [1.10.1] - 2023-11-23
### Fixed
* Increase amount of it87 gpio table

## [1.10.0] - 2023-11-15
### Added
* mx-uart-ctl: support CentOS 7.9
* mx-dio-ctl: support CentOS 7.9

## [1.9.0] - 2023-08-21
### Added
* mx-uart-ctl: support MPC-3000 series
* mx-dio-ctl: support MPC-3000 series

## [1.8.1] - 2023-09-11
### Fixed
* Align number of modes to four

## [1.8.0] - 2023-08-21
### Added
* mx-uart-ctl: support RKPC110 model
* mx-dio-ctl: support RKPC110 model

### Changed
* Update README.md

## [1.7.1] - 2023-08-02
### Changed
* Update license announcement
* Rename MOXA-SOFTWARE-NOTICE.txt to LICENSE

## [1.7.0] - 2023-07-28
### Added
* mx-uart-ctl: RKP series support 2LAN+4COM IO board

## [1.6.0] - 2023-07-27
### Added
* Add user manual for Moxa x86 control tools

## [1.5.0] - 2023-07-15
### Added
* mx-uart-ctl: support BXPA100, DRPA100 model
* mx-dio-ctl: support BXPA100 model
* mx-uart-ctl: BXP series support 2LAN+3COM IO board
* mx-uart-ctl: DRP series support 2LAN+4COM IO board

## [1.4.0] - 2023-05-18
### Added
* Make gpio-sysfs and libgpiod be compatible
* mx-uart-ctl: support BXPC100, DRPC100, RKPA110 model
* mx-dio-ctl: support BXPC100, RKPA110 model
### Fixed
* mx-uart-ctl: correct help page

## [1.3.0] - 2023-03-28
### Added
* Migrate tools from 'moxa-example-code' repo
* Makefile for install specific tool

## [1.2.0] - 2023-02-15
### Added
* x86/RELAY/mx-relay-ctl: Support relay tool for DA-680
### Fixed
* Avoid show repeat usage with -h option
* x86/RELAY/mx-relay-ctl: correct the typo

## [1.1.1] - 2023-02-08
### Fixed
* x86/MODULE/mx-module-ctl: support setup SIM card value and message for specific model

## [1.1.0] - 2023-02-06
### Added
* x86/UART/mx-uart-ctl: add not allow mode message

## [1.0.0] - 2022-10-06
### Added
* This CHANGELOG file
* Add version file
* Add MOXA-SOFTWARE-NOTICE file
