From fa31aab5cf1b5896a6f9ae2e287ac6c456725916 Mon Sep 17 00:00:00 2001 From: Leonora Tindall Date: Tue, 31 Dec 2019 14:45:45 -0800 Subject: [PATCH] Add module reset and fix factory reset return Previously, it returned a String but was documented to return bytes; it now returns bytes. --- CHANGELOG.md | 1 + src/lib.rs | 14 +++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba6d043..4766d8f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - `Rn2903::system_version_bytes()` - `Rn2903::system_factory_reset()` +- `Rn2903::system_module_reset()` ### Changed diff --git a/src/lib.rs b/src/lib.rs index 64f1578..5c15b80 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -294,11 +294,19 @@ impl Rn2903 { self.transact(b"sys get ver") } + /// Resets the CPU on the connected module. State in memory is lost and the MAC + /// starts up upon reboot, automatically loading default LoRaWAN settings. + /// + /// Returns the system version, like `::system_version_bytes()`. + pub fn system_module_reset(&mut self) -> Result> { + self.transact(b"sys reset") + } + /// Performs a factory reset on the connected module. All EEPROM values are /// restored to factory defaults. All LoRaWAN settings set by the user are lost. + /// /// Returns the system version, like `::system_version_bytes()`. - pub fn system_factory_reset(&mut self) -> Result { - let bytes = self.transact(b"sys factoryRESET")?; - Ok(bytes_to_string(&bytes)) + pub fn system_factory_reset(&mut self) -> Result> { + self.transact(b"sys factoryRESET") } }