Merge pull request 'v2.2.0' (#4) from devel into stable
All checks were successful
Basic Cargo Checks / docker-build (push) Successful in 1m29s
Basic Cargo Checks / docker-check (push) Successful in 3m36s

Reviewed-on: #4
This commit is contained in:
Blizzard Finnegan 2023-06-19 10:57:21 -04:00
commit 57968c3167
8 changed files with 635 additions and 145 deletions

4
Cargo.lock generated
View file

@ -638,8 +638,8 @@ dependencies = [
]
[[package]]
name = "seymour_poc_rust"
version = "2.0.1"
name = "seymour_life_rust"
version = "2.2.0"
dependencies = [
"chrono",
"clap",

View file

@ -1,8 +1,8 @@
#cargo-features = ["per-package-target"]
[package]
name = "seymour_poc_rust"
version = "2.1.0"
name = "seymour_life_rust"
version = "2.2.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -0,0 +1,264 @@
2023-06-16T13:24:21.325337369-04:00 - [INFO, seymour_life_rust] - Seymour Life Testing version: 2.2.0
2023-06-16T13:24:21.332725203-04:00 - [INFO, seymour_life_rust] - Testing port /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.3:1.0-port0. This may take a moment...
2023-06-16T13:24:21.334390641-04:00 - [INFO, seymour_life_rust] - Testing port /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.2:1.0-port0. This may take a moment...
2023-06-16T13:24:21.334981706-04:00 - [INFO, seymour_life_rust] - Testing port /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0. This may take a moment...
2023-06-16T13:24:21.334946688-04:00 - [INFO, seymour_life_rust] - Testing port /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.1:1.0-port0. This may take a moment...
2023-06-16T13:24:21.338485005-04:00 - [INFO, seymour_life_rust] - Testing port /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.4:1.0-port0. This may take a moment...
2023-06-16T13:24:21.339429546-04:00 - [INFO, seymour_life_rust] - Testing port /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.2:1.0-port0. This may take a moment...
2023-06-16T13:24:21.342069340-04:00 - [INFO, seymour_life_rust] - Testing port /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.3:1.0-port0. This may take a moment...
2023-06-16T13:24:21.345380402-04:00 - [INFO, seymour_life_rust] - Testing port /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.1:1.0-port0. This may take a moment...
2023-06-16T13:24:21.346291314-04:00 - [TRACE, seymour_life_rust::tty] - writing Newline to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.3:1.0-port0...
2023-06-16T13:24:21.348997033-04:00 - [INFO, seymour_life_rust] - Testing port /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.1:1.0-port0. This may take a moment...
2023-06-16T13:24:21.348832313-04:00 - [INFO, seymour_life_rust] - Testing port /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.2:1.0-port0. This may take a moment...
2023-06-16T13:24:21.350397252-04:00 - [TRACE, seymour_life_rust::tty] - writing Newline to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.2:1.0-port0...
2023-06-16T13:24:21.354512283-04:00 - [TRACE, seymour_life_rust::tty] - writing Newline to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.1:1.0-port0...
2023-06-16T13:24:21.354555227-04:00 - [TRACE, seymour_life_rust::tty] - writing Newline to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.2:1.0-port0...
2023-06-16T13:24:21.356737602-04:00 - [TRACE, seymour_life_rust::tty] - writing Newline to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0...
2023-06-16T13:24:21.356767268-04:00 - [TRACE, seymour_life_rust::tty] - writing Newline to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.4:1.0-port0...
2023-06-16T13:24:21.361574936-04:00 - [TRACE, seymour_life_rust::tty] - writing Newline to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.1:1.0-port0...
2023-06-16T13:24:21.361613528-04:00 - [TRACE, seymour_life_rust::tty] - writing Newline to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.3:1.0-port0...
2023-06-16T13:24:21.363938697-04:00 - [TRACE, seymour_life_rust::tty] - writing Newline to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.1:1.0-port0...
2023-06-16T13:24:21.364785888-04:00 - [TRACE, seymour_life_rust::tty] - writing Newline to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.2:1.0-port0...
2023-06-16T13:24:22.353277040-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\0\nNormal Boot\r\nHit any key to stop autoboot: 0 \u{8}\u{8}\u{8} 0\r\nu-boot=> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.3:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:22.353534518-04:00 - [DEBUG, seymour_life_rust] - /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.3:1.0-port0 is valid port!
2023-06-16T13:24:22.353576536-04:00 - [TRACE, seymour_life_rust::tty] - writing Quit to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.3:1.0-port0...
2023-06-16T13:24:22.355662412-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of " \r\r\nimx8mplus-seymour-mel login: " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.2:1.0-port0, which matches pattern LoginPrompt
2023-06-16T13:24:22.355762318-04:00 - [DEBUG, seymour_life_rust] - /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.2:1.0-port0 is valid port!
2023-06-16T13:24:22.356654119-04:00 - [DEBUG, seymour_life_rust::device] - "uninitialised"
2023-06-16T13:24:22.356813672-04:00 - [TRACE, seymour_life_rust::device] - "Reboots: 0\nSuccessful BP tests: 0\nSuccessful temp tests: 0\n"
2023-06-16T13:24:22.356864357-04:00 - [TRACE, seymour_life_rust::device] - "Reboots: 0"
2023-06-16T13:24:22.356906967-04:00 - [TRACE, seymour_life_rust::device] - "Reboots" value: [0]
2023-06-16T13:24:22.356945559-04:00 - [TRACE, seymour_life_rust::device] - "Successful BP tests: 0"
2023-06-16T13:24:22.356985114-04:00 - [TRACE, seymour_life_rust::device] - "Successful BP tests" value: [0]
2023-06-16T13:24:22.357024188-04:00 - [TRACE, seymour_life_rust::device] - "Successful temp tests: 0"
2023-06-16T13:24:22.357063946-04:00 - [TRACE, seymour_life_rust::device] - "Successful temp tests" value: [0]
2023-06-16T13:24:22.357107446-04:00 - [TRACE, seymour_life_rust::tty] - writing Login to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.2:1.0-port0...
2023-06-16T13:24:22.357165852-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of " \r\r\nimx8mplus-seymour-mel login: " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.1:1.0-port0, which matches pattern LoginPrompt
2023-06-16T13:24:22.357251406-04:00 - [DEBUG, seymour_life_rust] - /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.1:1.0-port0 is valid port!
2023-06-16T13:24:22.357305239-04:00 - [DEBUG, seymour_life_rust::device] - "uninitialised"
2023-06-16T13:24:22.357424015-04:00 - [TRACE, seymour_life_rust::device] - "Reboots: 0\nSuccessful BP tests: 0\nSuccessful temp tests: 0\n"
2023-06-16T13:24:22.357472755-04:00 - [TRACE, seymour_life_rust::device] - "Reboots: 0"
2023-06-16T13:24:22.357512199-04:00 - [TRACE, seymour_life_rust::device] - "Reboots" value: [0]
2023-06-16T13:24:22.357549587-04:00 - [TRACE, seymour_life_rust::device] - "Successful BP tests: 0"
2023-06-16T13:24:22.357588716-04:00 - [TRACE, seymour_life_rust::device] - "Successful BP tests" value: [0]
2023-06-16T13:24:22.357627067-04:00 - [TRACE, seymour_life_rust::device] - "Successful temp tests: 0"
2023-06-16T13:24:22.357666030-04:00 - [TRACE, seymour_life_rust::device] - "Successful temp tests" value: [0]
2023-06-16T13:24:22.357706177-04:00 - [TRACE, seymour_life_rust::tty] - writing Login to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.1:1.0-port0...
2023-06-16T13:24:22.359582001-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\r\nimx8mplus-seymour-mel login: " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.2:1.0-port0, which matches pattern LoginPrompt
2023-06-16T13:24:22.359679389-04:00 - [DEBUG, seymour_life_rust] - /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.2:1.0-port0 is valid port!
2023-06-16T13:24:22.359732721-04:00 - [DEBUG, seymour_life_rust::device] - "uninitialised"
2023-06-16T13:24:22.359928218-04:00 - [TRACE, seymour_life_rust::device] - "Reboots: 0\nSuccessful BP tests: 0\nSuccessful temp tests: 0\n"
2023-06-16T13:24:22.359981273-04:00 - [TRACE, seymour_life_rust::device] - "Reboots: 0"
2023-06-16T13:24:22.360021161-04:00 - [TRACE, seymour_life_rust::device] - "Reboots" value: [0]
2023-06-16T13:24:22.360059179-04:00 - [TRACE, seymour_life_rust::device] - "Successful BP tests: 0"
2023-06-16T13:24:22.360148919-04:00 - [TRACE, seymour_life_rust::device] - "Successful BP tests" value: [0]
2023-06-16T13:24:22.360190029-04:00 - [TRACE, seymour_life_rust::device] - "Successful temp tests: 0"
2023-06-16T13:24:22.360229288-04:00 - [TRACE, seymour_life_rust::device] - "Successful temp tests" value: [0]
2023-06-16T13:24:22.360269880-04:00 - [TRACE, seymour_life_rust::tty] - writing Login to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.2:1.0-port0...
2023-06-16T13:24:22.364684165-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\0 \r\r\nimx8mplus-seymour-mel login: " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.3:1.0-port0, which matches pattern LoginPrompt
2023-06-16T13:24:22.364785719-04:00 - [DEBUG, seymour_life_rust] - /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.3:1.0-port0 is valid port!
2023-06-16T13:24:22.364705535-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of " \r\r\nimx8mplus-seymour-mel login: " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.1:1.0-port0, which matches pattern LoginPrompt
2023-06-16T13:24:22.364908847-04:00 - [DEBUG, seymour_life_rust] - /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.1:1.0-port0 is valid port!
2023-06-16T13:24:22.364850218-04:00 - [DEBUG, seymour_life_rust::device] - "uninitialised"
2023-06-16T13:24:22.364974291-04:00 - [DEBUG, seymour_life_rust::device] - "uninitialised"
2023-06-16T13:24:22.365107992-04:00 - [TRACE, seymour_life_rust::device] - "Reboots: 0\nSuccessful BP tests: 0\nSuccessful temp tests: 0\n"
2023-06-16T13:24:22.365155510-04:00 - [TRACE, seymour_life_rust::device] - "Reboots: 0\nSuccessful BP tests: 0\nSuccessful temp tests: 0\n"
2023-06-16T13:24:22.365217472-04:00 - [TRACE, seymour_life_rust::device] - "Reboots: 0"
2023-06-16T13:24:22.365270027-04:00 - [TRACE, seymour_life_rust::device] - "Reboots" value: [0]
2023-06-16T13:24:22.365320730-04:00 - [TRACE, seymour_life_rust::device] - "Successful BP tests: 0"
2023-06-16T13:24:22.365372803-04:00 - [TRACE, seymour_life_rust::device] - "Successful BP tests" value: [0]
2023-06-16T13:24:22.365423673-04:00 - [TRACE, seymour_life_rust::device] - "Successful temp tests: 0"
2023-06-16T13:24:22.365474709-04:00 - [TRACE, seymour_life_rust::device] - "Successful temp tests" value: [0]
2023-06-16T13:24:22.365527412-04:00 - [TRACE, seymour_life_rust::tty] - writing Login to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.1:1.0-port0...
2023-06-16T13:24:22.365158269-04:00 - [TRACE, seymour_life_rust::device] - "Reboots: 0"
2023-06-16T13:24:22.365630614-04:00 - [TRACE, seymour_life_rust::device] - "Reboots" value: [0]
2023-06-16T13:24:22.365670484-04:00 - [TRACE, seymour_life_rust::device] - "Successful BP tests: 0"
2023-06-16T13:24:22.365711243-04:00 - [TRACE, seymour_life_rust::device] - "Successful BP tests" value: [0]
2023-06-16T13:24:22.365750909-04:00 - [TRACE, seymour_life_rust::device] - "Successful temp tests: 0"
2023-06-16T13:24:22.365790612-04:00 - [TRACE, seymour_life_rust::device] - "Successful temp tests" value: [0]
2023-06-16T13:24:22.365831037-04:00 - [TRACE, seymour_life_rust::tty] - writing Login to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.3:1.0-port0...
2023-06-16T13:24:22.369334447-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of " \r\r\nimx8mplus-seymour-mel login: " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.1:1.0-port0, which matches pattern LoginPrompt
2023-06-16T13:24:22.369416280-04:00 - [DEBUG, seymour_life_rust] - /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.1:1.0-port0 is valid port!
2023-06-16T13:24:22.369466834-04:00 - [DEBUG, seymour_life_rust::device] - "uninitialised"
2023-06-16T13:24:22.369578981-04:00 - [TRACE, seymour_life_rust::device] - "Reboots: 0\nSuccessful BP tests: 0\nSuccessful temp tests: 0\n"
2023-06-16T13:24:22.369670591-04:00 - [TRACE, seymour_life_rust::device] - "Reboots: 0"
2023-06-16T13:24:22.369712349-04:00 - [TRACE, seymour_life_rust::device] - "Reboots" value: [0]
2023-06-16T13:24:22.369749978-04:00 - [TRACE, seymour_life_rust::device] - "Successful BP tests: 0"
2023-06-16T13:24:22.369788663-04:00 - [TRACE, seymour_life_rust::device] - "Successful BP tests" value: [0]
2023-06-16T13:24:22.369826477-04:00 - [TRACE, seymour_life_rust::device] - "Successful temp tests: 0"
2023-06-16T13:24:22.369865143-04:00 - [TRACE, seymour_life_rust::device] - "Successful temp tests" value: [0]
2023-06-16T13:24:22.369905143-04:00 - [TRACE, seymour_life_rust::tty] - writing Login to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.1:1.0-port0...
2023-06-16T13:24:22.370206823-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of " \r\r\nimx8mplus-seymour-mel login: " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.2:1.0-port0, which matches pattern LoginPrompt
2023-06-16T13:24:22.370292637-04:00 - [DEBUG, seymour_life_rust] - /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.2:1.0-port0 is valid port!
2023-06-16T13:24:22.370343729-04:00 - [DEBUG, seymour_life_rust::device] - "uninitialised"
2023-06-16T13:24:22.370458560-04:00 - [TRACE, seymour_life_rust::device] - "Reboots: 0\nSuccessful BP tests: 0\nSuccessful temp tests: 0\n"
2023-06-16T13:24:22.370507078-04:00 - [TRACE, seymour_life_rust::device] - "Reboots: 0"
2023-06-16T13:24:22.370546448-04:00 - [TRACE, seymour_life_rust::device] - "Reboots" value: [0]
2023-06-16T13:24:22.370583688-04:00 - [TRACE, seymour_life_rust::device] - "Successful BP tests: 0"
2023-06-16T13:24:22.370622465-04:00 - [TRACE, seymour_life_rust::device] - "Successful BP tests" value: [0]
2023-06-16T13:24:22.370660613-04:00 - [TRACE, seymour_life_rust::device] - "Successful temp tests: 0"
2023-06-16T13:24:22.370698964-04:00 - [TRACE, seymour_life_rust::device] - "Successful temp tests" value: [0]
2023-06-16T13:24:22.370738741-04:00 - [TRACE, seymour_life_rust::tty] - writing Login to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.2:1.0-port0...
2023-06-16T13:24:22.553102264-04:00 - [DEBUG, seymour_life_rust] - /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0 is valid port!
2023-06-16T13:24:22.553205374-04:00 - [DEBUG, seymour_life_rust::device] - "uninitialised"
2023-06-16T13:24:22.553326650-04:00 - [TRACE, seymour_life_rust::device] - "Reboots: 0\nSuccessful BP tests: 0\nSuccessful temp tests: 0\n"
2023-06-16T13:24:22.553375871-04:00 - [TRACE, seymour_life_rust::device] - "Reboots: 0"
2023-06-16T13:24:22.553415871-04:00 - [TRACE, seymour_life_rust::device] - "Reboots" value: [0]
2023-06-16T13:24:22.553453741-04:00 - [TRACE, seymour_life_rust::device] - "Successful BP tests: 0"
2023-06-16T13:24:22.553492777-04:00 - [TRACE, seymour_life_rust::device] - "Successful BP tests" value: [0]
2023-06-16T13:24:22.553530240-04:00 - [TRACE, seymour_life_rust::device] - "Successful temp tests: 0"
2023-06-16T13:24:22.553569239-04:00 - [TRACE, seymour_life_rust::device] - "Successful temp tests" value: [0]
2023-06-16T13:24:22.553610090-04:00 - [TRACE, seymour_life_rust::tty] - writing Login to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0...
2023-06-16T13:24:23.356013718-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "q\r\nUnknown command 'q' - try 'help'\r\nu-boot=> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.3:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:23.356199919-04:00 - [TRACE, seymour_life_rust::tty] - writing Newline to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.3:1.0-port0...
2023-06-16T13:24:23.936752728-04:00 - [DEBUG, seymour_life_rust] - /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.4:1.0-port0 is valid port!
2023-06-16T13:24:23.936934521-04:00 - [DEBUG, seymour_life_rust::device] - "uninitialised"
2023-06-16T13:24:23.937176314-04:00 - [TRACE, seymour_life_rust::device] - "Reboots: 0\nSuccessful BP tests: 0\nSuccessful temp tests: 0\n"
2023-06-16T13:24:23.937228554-04:00 - [TRACE, seymour_life_rust::device] - "Reboots: 0"
2023-06-16T13:24:23.937269794-04:00 - [TRACE, seymour_life_rust::device] - "Reboots" value: [0]
2023-06-16T13:24:23.937308701-04:00 - [TRACE, seymour_life_rust::device] - "Successful BP tests: 0"
2023-06-16T13:24:23.937347719-04:00 - [TRACE, seymour_life_rust::device] - "Successful BP tests" value: [0]
2023-06-16T13:24:23.937386107-04:00 - [TRACE, seymour_life_rust::device] - "Successful temp tests: 0"
2023-06-16T13:24:23.937425940-04:00 - [TRACE, seymour_life_rust::device] - "Successful temp tests" value: [0]
2023-06-16T13:24:23.937470384-04:00 - [TRACE, seymour_life_rust::tty] - writing Login to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.4:1.0-port0...
2023-06-16T13:24:24.358985874-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\nUnknown command 'q' - try 'help'\r\nu-boot=> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.3:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:24.359177982-04:00 - [ERROR, seymour_life_rust::device] - Unknown state for TTY TTY { Serial port name: "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.3:1.0-port0" }!!! Consult logs immediately.
2023-06-16T13:24:25.360298184-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "root\r\r\nLast login: Sun Jun 11 00:42:39 UTC 2023\r\n\u{1b}7\u{1b}[r\u{1b}[999;999H\u{1b}[6n" from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.1:1.0-port0, which matches pattern PreShellPrompt
2023-06-16T13:24:25.360489959-04:00 - [ERROR, seymour_life_rust::device] - Unexpected response from device uninitialised!
2023-06-16T13:24:25.360586291-04:00 - [ERROR, seymour_life_rust::device] - Unsure how to continue. Expect data from device uninitialised to be erratic until next cycle.
2023-06-16T13:24:25.360663364-04:00 - [TRACE, seymour_life_rust::tty] - writing DebugMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.1:1.0-port0...
2023-06-16T13:24:25.360741362-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "root\r\r\nLast login: Thu Jun 15 09:15:47 UTC 2023\r\n\u{1b}7\u{1b}[r\u{1b}[999;999H\u{1b}[6n" from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.2:1.0-port0, which matches pattern PreShellPrompt
2023-06-16T13:24:25.360839750-04:00 - [ERROR, seymour_life_rust::device] - Unexpected response from device uninitialised!
2023-06-16T13:24:25.360978970-04:00 - [ERROR, seymour_life_rust::device] - Unsure how to continue. Expect data from device uninitialised to be erratic until next cycle.
2023-06-16T13:24:25.361114968-04:00 - [TRACE, seymour_life_rust::tty] - writing DebugMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.2:1.0-port0...
2023-06-16T13:24:25.362313339-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "root\r\r\nLast login: Sun Jun 11 00:28:04 UTC 2023\r\n\u{1b}7\u{1b}[r\u{1b}[999;999H\u{1b}[6n" from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.2:1.0-port0, which matches pattern PreShellPrompt
2023-06-16T13:24:25.362484114-04:00 - [ERROR, seymour_life_rust::device] - Unexpected response from device uninitialised!
2023-06-16T13:24:25.362575594-04:00 - [ERROR, seymour_life_rust::device] - Unsure how to continue. Expect data from device uninitialised to be erratic until next cycle.
2023-06-16T13:24:25.362652704-04:00 - [TRACE, seymour_life_rust::tty] - writing DebugMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.2:1.0-port0...
2023-06-16T13:24:25.367849441-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "root\r\r\nLast login: Sun Jun 11 00:56:47 UTC 2023\r\n\u{1b}7\u{1b}[r\u{1b}[999;999H\u{1b}[6n" from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.1:1.0-port0, which matches pattern PreShellPrompt
2023-06-16T13:24:25.368084956-04:00 - [ERROR, seymour_life_rust::device] - Unexpected response from device uninitialised!
2023-06-16T13:24:25.368174547-04:00 - [ERROR, seymour_life_rust::device] - Unsure how to continue. Expect data from device uninitialised to be erratic until next cycle.
2023-06-16T13:24:25.368269435-04:00 - [TRACE, seymour_life_rust::tty] - writing DebugMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.1:1.0-port0...
2023-06-16T13:24:25.368280342-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "root\r\r\nLast login: Sun Jun 11 01:01:08 UTC 2023\r\n\u{1b}7\u{1b}[r\u{1b}[999;999H\u{1b}[6n" from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.3:1.0-port0, which matches pattern PreShellPrompt
2023-06-16T13:24:25.368363674-04:00 - [ERROR, seymour_life_rust::device] - Unexpected response from device uninitialised!
2023-06-16T13:24:25.368432821-04:00 - [ERROR, seymour_life_rust::device] - Unsure how to continue. Expect data from device uninitialised to be erratic until next cycle.
2023-06-16T13:24:25.368550542-04:00 - [TRACE, seymour_life_rust::tty] - writing DebugMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.3:1.0-port0...
2023-06-16T13:24:25.372596018-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "root\r\r\nLast login: Sun Jun 11 00:47:31 UTC 2023\r\n\u{1b}7\u{1b}[r\u{1b}[999;999H\u{1b}[6n" from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.1:1.0-port0, which matches pattern PreShellPrompt
2023-06-16T13:24:25.372769534-04:00 - [ERROR, seymour_life_rust::device] - Unexpected response from device uninitialised!
2023-06-16T13:24:25.372858440-04:00 - [ERROR, seymour_life_rust::device] - Unsure how to continue. Expect data from device uninitialised to be erratic until next cycle.
2023-06-16T13:24:25.372934865-04:00 - [TRACE, seymour_life_rust::tty] - writing DebugMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.1:1.0-port0...
2023-06-16T13:24:25.375055407-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "root\r\r\nLast login: Thu Jun 15 20:49:41 UTC 2023\r\n\u{1b}7\u{1b}[r\u{1b}[999;999H\u{1b}[6n" from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.2:1.0-port0, which matches pattern PreShellPrompt
2023-06-16T13:24:25.375237700-04:00 - [ERROR, seymour_life_rust::device] - Unexpected response from device uninitialised!
2023-06-16T13:24:25.375334643-04:00 - [ERROR, seymour_life_rust::device] - Unsure how to continue. Expect data from device uninitialised to be erratic until next cycle.
2023-06-16T13:24:25.375411013-04:00 - [TRACE, seymour_life_rust::tty] - writing DebugMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.2:1.0-port0...
2023-06-16T13:24:25.557097398-04:00 - [ERROR, seymour_life_rust::device] - Unexpected response from device uninitialised!
2023-06-16T13:24:25.557296913-04:00 - [ERROR, seymour_life_rust::device] - Unsure how to continue. Expect data from device uninitialised to be erratic until next cycle.
2023-06-16T13:24:25.557379616-04:00 - [TRACE, seymour_life_rust::tty] - writing DebugMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0...
2023-06-16T13:24:26.568658516-04:00 - [DEBUG, seymour_life_rust::tty] - Read an empty string from device TTY { Serial port name: "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0" }. Possible read error.
2023-06-16T13:24:26.610508925-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\u{1b}8python3 -m debugmenu; shutdown -r now\r\nroot@imx8mplus-seymour-mel:~# python3 -m debugmenu; shutdown -r now\r\nLoading App-Framework from: libapp-framework.so.0.01.00\r\n" from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.2:1.0-port0, which matches pattern ShellPrompt
2023-06-16T13:24:26.610670997-04:00 - [ERROR, seymour_life_rust::device] - Unexpected response from device uninitialised!
2023-06-16T13:24:26.610823513-04:00 - [ERROR, seymour_life_rust::device] - Unsure how to continue. Expect data from device uninitialised to be erratic until next cycle.
2023-06-16T13:24:26.610902919-04:00 - [TRACE, seymour_life_rust::tty] - writing LifecycleMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.2:1.0-port0...
2023-06-16T13:24:26.635031576-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\u{1b}8ython3 -m debugmenu; shutdown -r now\r\nroot@imx8mplus-seymour-mel:~# python3 -m debugmenu; shutdown -r now\r\nLoading App-Framework from: libapp-framework.so.0.01.00\r\n" from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.3:1.0-port0, which matches pattern ShellPrompt
2023-06-16T13:24:26.635233406-04:00 - [ERROR, seymour_life_rust::device] - Unexpected response from device uninitialised!
2023-06-16T13:24:26.635330349-04:00 - [ERROR, seymour_life_rust::device] - Unsure how to continue. Expect data from device uninitialised to be erratic until next cycle.
2023-06-16T13:24:26.635402885-04:00 - [TRACE, seymour_life_rust::tty] - writing LifecycleMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.3:1.0-port0...
2023-06-16T13:24:27.069456557-04:00 - [DEBUG, seymour_life_rust::tty] - Read an empty string from device TTY { Serial port name: "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0" }. Possible read error.
2023-06-16T13:24:27.188577455-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\u{1b}8python3 -m debugmenu; shutdown -r now\r\nroot@imx8mplus-seymour-mel:~# python3 -m debugmenu; shutdown -r now\r\nLoading App-Framework from: libapp-framework.so.0.01.00\r\n\r\n\r\nDebug Menu\r\n========================================\r\nThis menu is defined in debugmenu.xml. Add submenu tags to this file to add new\r\ncategories for your debug programs and scripts.\r\n----------------------------------------\r\na) Menu Demo\r\nb) Alarms Manager Menu\r\nB) Barcode Manager Menu\r\nc) Connectivity Manager Menu\r\nC) SCRM Menu\r\nd) Software Update Menu\r\nD) Pulse Rate Menu\r\ne) Events Menu\r\nE) Respiration Menu\r\nf) Configuration Application Menu\r\nh) HostProxy Menu\r\nH) HL7Proxy Menu\r\nl) LDAP/Active Directory Menu\r\nL) Life Cycle Testing Menu\r\nm) ModManager Menu\r\nM) Manual Set Parameters Menu\r\nn) NIBP Menu\r\nP) Power Manager Menu\r\np) PDM Menu\r\nr) Radio Menu\r\nR) Braun Menu\r\ns) SpO2 Menu\r\nS) SvcMonProxy Menu\r\nT) NTPProxy Menu\r\nu) UI Menu\r\nU) SureTemp Menu\r\nv) Connector Test\r\nx) Proxy Events Menu\r\ny) SysCtrl Menu\r\nw) Weight App Manager Menu\r\nW) BEST menu\r\nz) Print Manager Debug Menu\r\nZ) LCD Test Menu\r\nv) Debug Menu Verbosity\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.1:1.0-port0, which matches pattern ShellPrompt
2023-06-16T13:24:27.188883358-04:00 - [ERROR, seymour_life_rust::device] - Unexpected response from device uninitialised!
2023-06-16T13:24:27.188974579-04:00 - [ERROR, seymour_life_rust::device] - Unsure how to continue. Expect data from device uninitialised to be erratic until next cycle.
2023-06-16T13:24:27.189053614-04:00 - [TRACE, seymour_life_rust::tty] - writing LifecycleMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.1:1.0-port0...
2023-06-16T13:24:27.210484478-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\u{1b}8ython3 -m debugmenu; shutdown -r now\r\nroot@imx8mplus-seymour-mel:~# python3 -m debugmenu; shutdown -r now\r\nLoading App-Framework from: libapp-framework.so.0.01.00\r\n\r\n\r\nDebug Menu\r\n========================================\r\nThis menu is defined in debugmenu.xml. Add submenu tags to this file to add new\r\ncategories for your debug programs and scripts.\r\n----------------------------------------\r\na) Menu Demo\r\nb) Alarms Manager Menu\r\nB) Barcode Manager Menu\r\nc) Connectivity Manager Menu\r\nC) SCRM Menu\r\nd) Software Update Menu\r\nD) Pulse Rate Menu\r\ne) Events Menu\r\nE) Respiration Menu\r\nf) Configuration Application Menu\r\nh) HostProxy Menu\r\nH) HL7Proxy Menu\r\nl) LDAP/Active Directory Menu\r\nL) Life Cycle Testing Menu\r\nm) ModManager Menu\r\nM) Manual Set Parameters Menu\r\nn) NIBP Menu\r\nP) Power Manager Menu\r\np) PDM Menu\r\nr) Radio Menu\r\nR) Braun Menu\r\ns) SpO2 Menu\r\nS) SvcMonProxy Menu\r\nT) NTPProxy Menu\r\nu) UI Menu\r\nU) SureTemp Menu\r\nv) Connector Test\r\nx) Proxy Events Menu\r\ny) SysCtrl Menu\r\nw) Weight App Manager Menu\r\nW) BEST menu\r\nz) Print Manager Debug Menu\r\nZ) LCD Test Menu\r\nv) Debug Menu Verbosity\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.2:1.0-port0, which matches pattern ShellPrompt
2023-06-16T13:24:27.210824158-04:00 - [ERROR, seymour_life_rust::device] - Unexpected response from device uninitialised!
2023-06-16T13:24:27.210907972-04:00 - [ERROR, seymour_life_rust::device] - Unsure how to continue. Expect data from device uninitialised to be erratic until next cycle.
2023-06-16T13:24:27.210970026-04:00 - [TRACE, seymour_life_rust::tty] - writing LifecycleMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.2:1.0-port0...
2023-06-16T13:24:27.231532384-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\u{1b}8ython3 -m debugmenu; shutdown -r now\r\nroot@imx8mplus-seymour-mel:~# python3 -m debugmenu; shutdown -r now\r\nLoading App-Framework from: libapp-framework.so.0.01.00\r\n\r\n\r\nDebug Menu\r\n========================================\r\nThis menu is defined in debugmenu.xml. Add submenu tags to this file to add new\r\ncategories for your debug programs and scripts.\r\n----------------------------------------\r\na) Menu Demo\r\nb) Alarms Manager Menu\r\nB) Barcode Manager Menu\r\nc) Connectivity Manager Menu\r\nC) SCRM Menu\r\nd) Software Update Menu\r\nD) Pulse Rate Menu\r\ne) Events Menu\r\nE) Respiration Menu\r\nf) Configuration Application Menu\r\nh) HostProxy Menu\r\nH) HL7Proxy Menu\r\nl) LDAP/Active Directory Menu\r\nL) Life Cycle Testing Menu\r\nm) ModManager Menu\r\nM) Manual Set Parameters Menu\r\nn) NIBP Menu\r\nP) Power Manager Menu\r\np) PDM Menu\r\nr) Radio Menu\r\nR) Braun Menu\r\ns) SpO2 Menu\r\nS) SvcMonProxy Menu\r\nT) NTPProxy Menu\r\nu) UI Menu\r\nU) SureTemp Menu\r\nv) Connector Test\r\nx) Proxy Events Menu\r\ny) SysCtrl Menu\r\nw) Weight App Manager Menu\r\nW) BEST menu\r\nz) Print Manager Debug Menu\r\nZ) LCD Test Menu\r\nv) Debug Menu Verbosity\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.2:1.0-port0, which matches pattern ShellPrompt
2023-06-16T13:24:27.231821806-04:00 - [ERROR, seymour_life_rust::device] - Unexpected response from device uninitialised!
2023-06-16T13:24:27.231910323-04:00 - [ERROR, seymour_life_rust::device] - Unsure how to continue. Expect data from device uninitialised to be erratic until next cycle.
2023-06-16T13:24:27.231979193-04:00 - [TRACE, seymour_life_rust::tty] - writing LifecycleMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.2:1.0-port0...
2023-06-16T13:24:27.232081413-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\u{1b}8ython3 -m debugmenu; shutdown -r now\r\nroot@imx8mplus-seymour-mel:~# python3 -m debugmenu; shutdown -r now\r\nLoading App-Framework from: libapp-framework.so.0.01.00\r\n\r\n\r\nDebug Menu\r\n========================================\r\nThis menu is defined in debugmenu.xml. Add submenu tags to this file to add new\r\ncategories for your debug programs and scripts.\r\n----------------------------------------\r\na) Menu Demo\r\nb) Alarms Manager Menu\r\nB) Barcode Manager Menu\r\nc) Connectivity Manager Menu\r\nC) SCRM Menu\r\nd) Software Update Menu\r\nD) Pulse Rate Menu\r\ne) Events Menu\r\nE) Respiration Menu\r\nf) Configuration Application Menu\r\nh) HostProxy Menu\r\nH) HL7Proxy Menu\r\nl) LDAP/Active Directory Menu\r\nL) Life Cycle Testing Menu\r\nm) ModManager Menu\r\nM) Manual Set Parameters Menu\r\nn) NIBP Menu\r\nP) Power Manager Menu\r\np) PDM Menu\r\nr) Radio Menu\r\nR) Braun Menu\r\ns) SpO2 Menu\r\nS) SvcMonProxy Menu\r\nT) NTPProxy Menu\r\nu) UI Menu\r\nU) SureTemp Menu\r\nv) Connector Test\r\nx) Proxy Events Menu\r\ny) SysCtrl Menu\r\nw) Weight App Manager Menu\r\nW) BEST menu\r\nz) Print Manager Debug Menu\r\nZ) LCD Test Menu\r\nv) Debug Menu Verbosity\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.1:1.0-port0, which matches pattern ShellPrompt
2023-06-16T13:24:27.232402112-04:00 - [ERROR, seymour_life_rust::device] - Unexpected response from device uninitialised!
2023-06-16T13:24:27.232481111-04:00 - [ERROR, seymour_life_rust::device] - Unsure how to continue. Expect data from device uninitialised to be erratic until next cycle.
2023-06-16T13:24:27.232543628-04:00 - [TRACE, seymour_life_rust::tty] - writing LifecycleMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.1:1.0-port0...
2023-06-16T13:24:27.237853808-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\u{1b}8ython3 -m debugmenu; shutdown -r now\r\nroot@imx8mplus-seymour-mel:~# python3 -m debugmenu; shutdown -r now\r\nLoading App-Framework from: libapp-framework.so.0.01.00\r\n\r\n\r\nDebug Menu\r\n========================================\r\nThis menu is defined in debugmenu.xml. Add submenu tags to this file to add new\r\ncategories for your debug programs and scripts.\r\n----------------------------------------\r\na) Menu Demo\r\nb) Alarms Manager Menu\r\nB) Barcode Manager Menu\r\nc) Connectivity Manager Menu\r\nC) SCRM Menu\r\nd) Software Update Menu\r\nD) Pulse Rate Menu\r\ne) Events Menu\r\nE) Respiration Menu\r\nf) Configuration Application Menu\r\nh) HostProxy Menu\r\nH) HL7Proxy Menu\r\nl) LDAP/Active Directory Menu\r\nL) Life Cycle Testing Menu\r\nm) ModManager Menu\r\nM) Manual Set Parameters Menu\r\nn) NIBP Menu\r\nP) Power Manager Menu\r\np) PDM Menu\r\nr) Radio Menu\r\nR) Braun Menu\r\ns) SpO2 Menu\r\nS) SvcMonProxy Menu\r\nT) NTPProxy Menu\r\nu) UI Menu\r\nU) SureTemp Menu\r\nv) Connector Test\r\nx) Proxy Events Menu\r\ny) SysCtrl Menu\r\nw) Weight App Manager Menu\r\nW) BEST menu\r\nz) Print Manager Debug Menu\r\nZ) LCD Test Menu\r\nv) Debug Menu Verbosity\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.1:1.0-port0, which matches pattern ShellPrompt
2023-06-16T13:24:27.238178618-04:00 - [ERROR, seymour_life_rust::device] - Unexpected response from device uninitialised!
2023-06-16T13:24:27.238273191-04:00 - [ERROR, seymour_life_rust::device] - Unsure how to continue. Expect data from device uninitialised to be erratic until next cycle.
2023-06-16T13:24:27.238340579-04:00 - [TRACE, seymour_life_rust::tty] - writing LifecycleMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.1:1.0-port0...
2023-06-16T13:24:27.499435661-04:00 - [ERROR, seymour_life_rust::device] - Unexpected response from device uninitialised!
2023-06-16T13:24:27.499701990-04:00 - [ERROR, seymour_life_rust::device] - Unsure how to continue. Expect data from device uninitialised to be erratic until next cycle.
2023-06-16T13:24:27.499787489-04:00 - [TRACE, seymour_life_rust::tty] - writing DebugMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.4:1.0-port0...
2023-06-16T13:24:27.570194729-04:00 - [DEBUG, seymour_life_rust::tty] - Read an empty string from device TTY { Serial port name: "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0" }. Possible read error.
2023-06-16T13:24:27.772097088-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n\r\nDebug Menu\r\n========================================\r\nThis menu is defined in debugmenu.xml. Add submenu tags to this file to add new\r\ncategories for your debug programs and scripts.\r\n----------------------------------------\r\na) Menu Demo\r\nb) Alarms Manager Menu\r\nB) Barcode Manager Menu\r\nc) Connectivity Manager Menu\r\nC) SCRM Menu\r\nd) Software Update Menu\r\nD) Pulse Rate Menu\r\ne) Events Menu\r\nE) Respiration Menu\r\nf) Configuration Application Menu\r\nh) HostProxy Menu\r\nH) HL7Proxy Menu\r\nl) LDAP/Active Directory Menu\r\nL) Life Cycle Testing Menu\r\nm) ModManager Menu\r\nM) Manual Set Parameters Menu\r\nn) NIBP Menu\r\nP) Power Manager Menu\r\np) PDM Menu\r\nr) Radio Menu\r\nR) Braun Menu\r\ns) SpO2 Menu\r\nS) SvcMonProxy Menu\r\nT) NTPProxy Menu\r\nu) UI Menu\r\nU) SureTemp Menu\r\nv) Connector Test\r\nx) Proxy Events Menu\r\ny) SysCtrl Menu\r\nw) Weight App Manager Menu\r\nW) BEST menu\r\nz) Print Manager Debug Menu\r\nZ) LCD Test Menu\r\nv) Debug Menu Verbosity\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> \r\n\r\nLife Cycle Testing Menu\r\n========================================\r\na) EEPROM Data\r\nB) Screen Brightness Menu\r\nb) Power Down Device\r\nc) Reboot Device\r\nd) Check UI Started\r\ne) Read Battery Charge Level\r\nf) Nurse Call On\r\ng) Nurse Call Off\r\nh) Display Current Readings\r\nH) Display Cycle Counts\r\ni) Force Log Rotation\r\nj) Display Patient ID\r\nk) Activate Wireless Networking\r\nl) Deactivate Wireless Networking\r\nN) Start NIBP Reading\r\nn) Check NIBP In Progress\r\np) Bluetooth Info\r\nr) WiFi Radio Info\r\ns) Enable and Start SSH\r\nt) Disable and Stop SSH\r\nu) Check WACP USB Connection\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.2:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:27.772521156-04:00 - [TRACE, seymour_life_rust::tty] - writing BrightnessMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.2:1.0-port0...
2023-06-16T13:24:27.962626155-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n\r\nDebug Menu\r\n========================================\r\nThis menu is defined in debugmenu.xml. Add submenu tags to this file to add new\r\ncategories for your debug programs and scripts.\r\n----------------------------------------\r\na) Menu Demo\r\nb) Alarms Manager Menu\r\nB) Barcode Manager Menu\r\nc) Connectivity Manager Menu\r\nC) SCRM Menu\r\nd) Software Update Menu\r\nD) Pulse Rate Menu\r\ne) Events Menu\r\nE) Respiration Menu\r\nf) Configuration Application Menu\r\nh) HostProxy Menu\r\nH) HL7Proxy Menu\r\nl) LDAP/Active Directory Menu\r\nL) Life Cycle Testing Menu\r\nm) ModManager Menu\r\nM) Manual Set Parameters Menu\r\nn) NIBP Menu\r\nP) Power Manager Menu\r\np) PDM Menu\r\nr) Radio Menu\r\nR) Braun Menu\r\ns) SpO2 Menu\r\nS) SvcMonProxy Menu\r\nT) NTPProxy Menu\r\nu) UI Menu\r\nU) SureTemp Menu\r\nv) Connector Test\r\nx) Proxy Events Menu\r\ny) SysCtrl Menu\r\nw) Weight App Manager Menu\r\nW) BEST menu\r\nz) Print Manager Debug Menu\r\nZ) LCD Test Menu\r\nv) Debug Menu Verbosity\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> \r\n\r\nLife Cycle Testing Menu\r\n========================================\r\na) EEPROM Data\r\nB) Screen Brightness Menu\r\nb) Power Down Device\r\nc) Reboot Device\r\nd) Check UI Started\r\ne) Read Battery Charge Level\r\nf) Nurse Call On\r\ng) Nurse Call Off\r\nh) Display Current Readings\r\nH) Display Cycle Counts\r\ni) Force Log Rotation\r\nj) Display Patient ID\r\nk) Activate Wireless Networking\r\nl) Deactivate Wireless Networking\r\nN) Start NIBP Reading\r\nn) Check NIBP In Progress\r\np) Bluetooth Info\r\nr) WiFi Radio Info\r\ns) Enable and Start SSH\r\nt) Disable and Stop SSH\r\nu) Check WACP USB Connection\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.3:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:27.962938539-04:00 - [TRACE, seymour_life_rust::tty] - writing BrightnessMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.3:1.0-port0...
2023-06-16T13:24:28.070936955-04:00 - [DEBUG, seymour_life_rust::tty] - Read an empty string from device TTY { Serial port name: "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0" }. Possible read error.
2023-06-16T13:24:28.191593793-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n\r\nLife Cycle Testing Menu\r\n========================================\r\na) EEPROM Data\r\nB) Screen Brightness Menu\r\nb) Power Down Device\r\nc) Reboot Device\r\nd) Check UI Started\r\ne) Read Battery Charge Level\r\nf) Nurse Call On\r\ng) Nurse Call Off\r\nh) Display Current Readings\r\nH) Display Cycle Counts\r\ni) Force Log Rotation\r\nj) Display Patient ID\r\nk) Activate Wireless Networking\r\nl) Deactivate Wireless Networking\r\nN) Start NIBP Reading\r\nn) Check NIBP In Progress\r\np) Bluetooth Info\r\nr) WiFi Radio Info\r\ns) Enable and Start SSH\r\nt) Disable and Stop SSH\r\nu) Check WACP USB Connection\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.1:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:28.191799808-04:00 - [TRACE, seymour_life_rust::tty] - writing BrightnessMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.1:1.0-port0...
2023-06-16T13:24:28.214286786-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n\r\nLife Cycle Testing Menu\r\n========================================\r\na) EEPROM Data\r\nB) Screen Brightness Menu\r\nb) Power Down Device\r\nc) Reboot Device\r\nd) Check UI Started\r\ne) Read Battery Charge Level\r\nf) Nurse Call On\r\ng) Nurse Call Off\r\nh) Display Current Readings\r\nH) Display Cycle Counts\r\ni) Force Log Rotation\r\nj) Display Patient ID\r\nk) Activate Wireless Networking\r\nl) Deactivate Wireless Networking\r\nN) Start NIBP Reading\r\nn) Check NIBP In Progress\r\np) Bluetooth Info\r\nr) WiFi Radio Info\r\ns) Enable and Start SSH\r\nt) Disable and Stop SSH\r\nu) Check WACP USB Connection\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.2:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:28.214407414-04:00 - [TRACE, seymour_life_rust::tty] - writing BrightnessMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.2:1.0-port0...
2023-06-16T13:24:28.234680906-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n\r\nLife Cycle Testing Menu\r\n========================================\r\na) EEPROM Data\r\nB) Screen Brightness Menu\r\nb) Power Down Device\r\nc) Reboot Device\r\nd) Check UI Started\r\ne) Read Battery Charge Level\r\nf) Nurse Call On\r\ng) Nurse Call Off\r\nh) Display Current Readings\r\nH) Display Cycle Counts\r\ni) Force Log Rotation\r\nj) Display Patient ID\r\nk) Activate Wireless Networking\r\nl) Deactivate Wireless Networking\r\nN) Start NIBP Reading\r\nn) Check NIBP In Progress\r\np) Bluetooth Info\r\nr) WiFi Radio Info\r\ns) Enable and Start SSH\r\nt) Disable and Stop SSH\r\nu) Check WACP USB Connection\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.1:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:28.234810478-04:00 - [TRACE, seymour_life_rust::tty] - writing BrightnessMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.1:1.0-port0...
2023-06-16T13:24:28.235528337-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n\r\nLife Cycle Testing Menu\r\n========================================\r\na) EEPROM Data\r\nB) Screen Brightness Menu\r\nb) Power Down Device\r\nc) Reboot Device\r\nd) Check UI Started\r\ne) Read Battery Charge Level\r\nf) Nurse Call On\r\ng) Nurse Call Off\r\nh) Display Current Readings\r\nH) Display Cycle Counts\r\ni) Force Log Rotation\r\nj) Display Patient ID\r\nk) Activate Wireless Networking\r\nl) Deactivate Wireless Networking\r\nN) Start NIBP Reading\r\nn) Check NIBP In Progress\r\np) Bluetooth Info\r\nr) WiFi Radio Info\r\ns) Enable and Start SSH\r\nt) Disable and Stop SSH\r\nu) Check WACP USB Connection\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.2:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:28.235729483-04:00 - [TRACE, seymour_life_rust::tty] - writing BrightnessMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.2:1.0-port0...
2023-06-16T13:24:28.241015237-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n\r\nLife Cycle Testing Menu\r\n========================================\r\na) EEPROM Data\r\nB) Screen Brightness Menu\r\nb) Power Down Device\r\nc) Reboot Device\r\nd) Check UI Started\r\ne) Read Battery Charge Level\r\nf) Nurse Call On\r\ng) Nurse Call Off\r\nh) Display Current Readings\r\nH) Display Cycle Counts\r\ni) Force Log Rotation\r\nj) Display Patient ID\r\nk) Activate Wireless Networking\r\nl) Deactivate Wireless Networking\r\nN) Start NIBP Reading\r\nn) Check NIBP In Progress\r\np) Bluetooth Info\r\nr) WiFi Radio Info\r\ns) Enable and Start SSH\r\nt) Disable and Stop SSH\r\nu) Check WACP USB Connection\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.1:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:28.241136050-04:00 - [TRACE, seymour_life_rust::tty] - writing BrightnessMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.1:1.0-port0...
2023-06-16T13:24:28.571600591-04:00 - [DEBUG, seymour_life_rust::tty] - Read an empty string from device TTY { Serial port name: "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0" }. Possible read error.
2023-06-16T13:24:28.767729907-04:00 - [ERROR, seymour_life_rust::device] - Unexpected response from device uninitialised!
2023-06-16T13:24:28.767923015-04:00 - [ERROR, seymour_life_rust::device] - Unsure how to continue. Expect data from device uninitialised to be erratic until next cycle.
2023-06-16T13:24:28.768003866-04:00 - [TRACE, seymour_life_rust::tty] - writing LifecycleMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.4:1.0-port0...
2023-06-16T13:24:28.775642881-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n\r\nSet Screen Brightness\r\n****************************************\r\n1) 10%\r\n2) 20%\r\n3) 30%\r\n4) 40%\r\n5) 50%\r\n6) 60%\r\n7) 70%\r\n8) 80%\r\n9) 90%\r\n0) 100%\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.2:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:28.775835045-04:00 - [TRACE, seymour_life_rust::tty] - writing BrightnessLow to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.2:1.0-port0...
2023-06-16T13:24:28.965444866-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n\r\nSet Screen Brightness\r\n****************************************\r\n1) 10%\r\n2) 20%\r\n3) 30%\r\n4) 40%\r\n5) 50%\r\n6) 60%\r\n7) 70%\r\n8) 80%\r\n9) 90%\r\n0) 100%\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.3:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:28.965630567-04:00 - [TRACE, seymour_life_rust::tty] - writing BrightnessLow to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.3:1.0-port0...
2023-06-16T13:24:29.072294448-04:00 - [DEBUG, seymour_life_rust::tty] - Read an empty string from device TTY { Serial port name: "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0" }. Possible read error.
2023-06-16T13:24:29.194344987-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n\r\nSet Screen Brightness\r\n****************************************\r\n1) 10%\r\n2) 20%\r\n3) 30%\r\n4) 40%\r\n5) 50%\r\n6) 60%\r\n7) 70%\r\n8) 80%\r\n9) 90%\r\n0) 100%\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.1:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:29.194530725-04:00 - [TRACE, seymour_life_rust::tty] - writing BrightnessLow to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.1:1.0-port0...
2023-06-16T13:24:29.217018795-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n\r\nSet Screen Brightness\r\n****************************************\r\n1) 10%\r\n2) 20%\r\n3) 30%\r\n4) 40%\r\n5) 50%\r\n6) 60%\r\n7) 70%\r\n8) 80%\r\n9) 90%\r\n0) 100%\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.2:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:29.217122145-04:00 - [TRACE, seymour_life_rust::tty] - writing BrightnessLow to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.2:1.0-port0...
2023-06-16T13:24:29.237575949-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n\r\nSet Screen Brightness\r\n****************************************\r\n1) 10%\r\n2) 20%\r\n3) 30%\r\n4) 40%\r\n5) 50%\r\n6) 60%\r\n7) 70%\r\n8) 80%\r\n9) 90%\r\n0) 100%\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.1:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:29.237682688-04:00 - [TRACE, seymour_life_rust::tty] - writing BrightnessLow to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.1:1.0-port0...
2023-06-16T13:24:29.238352863-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n\r\nSet Screen Brightness\r\n****************************************\r\n1) 10%\r\n2) 20%\r\n3) 30%\r\n4) 40%\r\n5) 50%\r\n6) 60%\r\n7) 70%\r\n8) 80%\r\n9) 90%\r\n0) 100%\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.2:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:29.238449325-04:00 - [TRACE, seymour_life_rust::tty] - writing BrightnessLow to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.2:1.0-port0...
2023-06-16T13:24:29.243788745-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n\r\nSet Screen Brightness\r\n****************************************\r\n1) 10%\r\n2) 20%\r\n3) 30%\r\n4) 40%\r\n5) 50%\r\n6) 60%\r\n7) 70%\r\n8) 80%\r\n9) 90%\r\n0) 100%\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.1:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:29.243882484-04:00 - [TRACE, seymour_life_rust::tty] - writing BrightnessLow to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.1:1.0-port0...
2023-06-16T13:24:29.573068322-04:00 - [DEBUG, seymour_life_rust::tty] - Read an empty string from device TTY { Serial port name: "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0" }. Possible read error.
2023-06-16T13:24:29.769913868-04:00 - [TRACE, seymour_life_rust::tty] - writing BrightnessMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.4:1.0-port0...
2023-06-16T13:24:29.778399111-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.2:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:29.968241114-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.3:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:30.073820511-04:00 - [DEBUG, seymour_life_rust::tty] - Read an empty string from device TTY { Serial port name: "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0" }. Possible read error.
2023-06-16T13:24:30.197146679-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.1:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:30.219818172-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.2:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:30.240324253-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.1:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:30.241143352-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.3.2:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:30.246195221-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.1:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:30.574508720-04:00 - [DEBUG, seymour_life_rust::tty] - Read an empty string from device TTY { Serial port name: "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0" }. Possible read error.
2023-06-16T13:24:30.772775781-04:00 - [DEBUG, seymour_life_rust::tty] - Read an empty string from device TTY { Serial port name: "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.4:1.0-port0" }. Possible read error.
2023-06-16T13:24:30.772934297-04:00 - [TRACE, seymour_life_rust::tty] - writing BrightnessLow to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.4:1.0-port0...
2023-06-16T13:24:31.075258075-04:00 - [DEBUG, seymour_life_rust::tty] - Read an empty string from device TTY { Serial port name: "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0" }. Possible read error.
2023-06-16T13:24:31.575960987-04:00 - [DEBUG, seymour_life_rust::tty] - Read an empty string from device TTY { Serial port name: "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0" }. Possible read error.
2023-06-16T13:24:31.775642249-04:00 - [DEBUG, seymour_life_rust::tty] - Read an empty string from device TTY { Serial port name: "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.1.4:1.0-port0" }. Possible read error.
2023-06-16T13:24:32.076730194-04:00 - [DEBUG, seymour_life_rust::tty] - Read an empty string from device TTY { Serial port name: "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0" }. Possible read error.
2023-06-16T13:24:32.577459105-04:00 - [DEBUG, seymour_life_rust::tty] - Read an empty string from device TTY { Serial port name: "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0" }. Possible read error.
2023-06-16T13:24:33.078236348-04:00 - [DEBUG, seymour_life_rust::tty] - Read an empty string from device TTY { Serial port name: "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0" }. Possible read error.
2023-06-16T13:24:33.578938852-04:00 - [DEBUG, seymour_life_rust::tty] - Read an empty string from device TTY { Serial port name: "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0" }. Possible read error.
2023-06-16T13:24:34.513333606-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\r\nimx8mplus-seymour-mel ttymxc2\r\n\r\nHillrom Front Line Care Embedded Linux for mel 12 imx8mplus-seymour-mel ttymxc2\r\n\r\nimx8mplus-seymour-mel login: " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0, which matches pattern LoginPrompt
2023-06-16T13:24:34.513549158-04:00 - [TRACE, seymour_life_rust::tty] - writing Login to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0...
2023-06-16T13:24:37.516918467-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "root\r\r\nLast login: Fri Jun 16 13:04:18 UTC 2023\r\n\u{1b}7\u{1b}[r\u{1b}[999;999H\u{1b}[6n" from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0, which matches pattern PreShellPrompt
2023-06-16T13:24:38.255944578-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "root@imx8mplus-seymour-mel:~# " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0, which matches pattern ShellPrompt
2023-06-16T13:24:38.256092890-04:00 - [TRACE, seymour_life_rust::tty] - writing DebugMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0...
2023-06-16T13:24:39.503439425-04:00 - [ERROR, seymour_life_rust::device] - Unexpected response from device uninitialised!
2023-06-16T13:24:39.503664681-04:00 - [ERROR, seymour_life_rust::device] - Unsure how to continue. Expect data from device uninitialised to be erratic until next cycle.
2023-06-16T13:24:39.503739235-04:00 - [TRACE, seymour_life_rust::tty] - writing LifecycleMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0...
2023-06-16T13:24:40.739795958-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n\r\nDebug Menu\r\n========================================\r\nThis menu is defined in debugmenu.xml. Add submenu tags to this file to add new\r\ncategories for your debug programs and scripts.\r\n----------------------------------------\r\na) Menu Demo\r\nb) Alarms Manager Menu\r\nB) Barcode Manager Menu\r\nc) Connectivity Manager Menu\r\nC) SCRM Menu\r\nd) Software Update Menu\r\nD) Pulse Rate Menu\r\ne) Events Menu\r\nE) Respiration Menu\r\nf) Configuration Application Menu\r\nh) HostProxy Menu\r\nH) HL7Proxy Menu\r\nl) LDAP/Active Directory Menu\r\nL) Life Cycle Testing Menu\r\nm) ModManager Menu\r\nM) Manual Set Parameters Menu\r\nn) NIBP Menu\r\nP) Power Manager Menu\r\np) PDM Menu\r\nr) Radio Menu\r\nR) Braun Menu\r\ns) SpO2 Menu\r\nS) SvcMonProxy Menu\r\nT) NTPProxy Menu\r\nu) UI Menu\r\nU) SureTemp Menu\r\nv) Connector Test\r\nx) Proxy Events Menu\r\ny) SysCtrl Menu\r\nw) Weight App Manager Menu\r\nW) BEST menu\r\nz) Print Manager Debug Menu\r\nZ) LCD Test Menu\r\nv) Debug Menu Verbosity\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> \r\n\r\nLife Cycle Testing Menu\r\n========================================\r\na) EEPROM Data\r\nB) Screen Brightness Menu\r\nb) Power Down Device\r\nc) Reboot Device\r\nd) Check UI Started\r\ne) Read Battery Charge Level\r\nf) Nurse Call On\r\ng) Nurse Call Off\r\nh) Display Current Readings\r\nH) Display Cycle Counts\r\ni) Force Log Rotation\r\nj) Display Patient ID\r\nk) Activate Wireless Networking\r\nl) Deactivate Wireless Networking\r\nN) Start NIBP Reading\r\nn) Check NIBP In Progress\r\np) Bluetooth Info\r\nr) WiFi Radio Info\r\ns) Enable and Start SSH\r\nt) Disable and Stop SSH\r\nu) Check WACP USB Connection\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:40.740159952-04:00 - [TRACE, seymour_life_rust::tty] - writing BrightnessMenu to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0...
2023-06-16T13:24:41.742733809-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n\r\nSet Screen Brightness\r\n****************************************\r\n1) 10%\r\n2) 20%\r\n3) 30%\r\n4) 40%\r\n5) 50%\r\n6) 60%\r\n7) 70%\r\n8) 80%\r\n9) 90%\r\n0) 100%\r\n----------------------------------------\r\n\\) Back\r\nq) Quit\r\n?) Redraw menu\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:41.742998323-04:00 - [TRACE, seymour_life_rust::tty] - writing BrightnessLow to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0...
2023-06-16T13:24:42.745470643-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0, which matches pattern DebugMenu
2023-06-16T13:24:42.745983006-04:00 - [INFO, seymour_life_rust] - --------------------------------------
2023-06-16T13:24:42.746109393-04:00 - [INFO, seymour_life_rust] - Number of devices detected: 9
2023-06-16T13:24:42.746264298-04:00 - [INFO, seymour_life_rust] - --------------------------------------
2023-06-16T13:24:42.746362074-04:00 - [TRACE, seymour_life_rust::tty] - writing BrightnessHigh to tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0...
2023-06-16T13:24:43.748400808-04:00 - [TRACE, seymour_life_rust::tty] - Successful read of "\r\n> " from tty /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2.2.3:1.0-port0, which matches pattern DebugMenu

8
notes.md Normal file
View file

@ -0,0 +1,8 @@
Boot time isn't static.
Boot time can (in theory) be sped up by forcing a clearing of the screen of all vitals before rebooting.
Clearing the screen of all vitals is theoretically possible in the UI menu, with a Spoof Touch, but I don't know the object name of the 'clear' button.
Can check for reboot completed by reading in serial, check for `reboot: Restarting System`
once done, read for `login:`
First command sent to shell gets dropped (possibly due to timing issue?)

4
shell.nix Normal file
View file

@ -0,0 +1,4 @@
{pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
nativeBuildInputs = with pkgs; [ cargo rustc pkg-config libudev-zero ];
}

View file

@ -2,8 +2,7 @@ use std::{fs::{self, File}, path::Path, io::Write, thread, time::Duration};
use crate::tty::{TTY, Response,Command};
use rppal::gpio::{Gpio,OutputPin};
const BOOT_TIME:Duration = Duration::new(60, 0);
const BP_RUN:Duration = Duration::new(75, 0);
const TEMP_WAIT:Duration = Duration::from_secs(3);
const REBOOTS_SECTION: &str = "Reboots: ";
const BP_SECTION: &str = "Successful BP tests: ";
const TEMP_SECTION: &str = "Successful temp tests: ";
@ -11,6 +10,7 @@ const OUTPUT_FOLDER: &str = "output/";
const UNINITIALISED_SERIAL: &str = "uninitialised";
#[derive(PartialEq,Debug)]
pub enum State{
Shutdown,
LoginPrompt,
DebugMenu,
LifecycleMenu,
@ -28,6 +28,7 @@ pub struct Device{
current_state: State,
reboots: u64,
temps: u64,
init_temps: u64,
bps: u64
}
@ -37,10 +38,10 @@ impl Device{
_ = fs::create_dir(&OUTPUT_FOLDER);
};
log::debug!("{:?}",&self.serial);
let output_path = OUTPUT_FOLDER.to_owned() + &self.serial + ".txt";
let output_path:String = OUTPUT_FOLDER.to_owned() + &self.serial + ".txt";
if ! Path::new(&output_path).exists(){
log::debug!("Creating file {}",output_path);
let temp = fs::File::create(&output_path);
log::debug!("Creating file {}",&output_path);
let temp:Result<File, std::io::Error> = fs::File::create(&output_path);
match temp{
Ok(file) => {
self.output_file = Some(file);
@ -52,17 +53,17 @@ impl Device{
}
}
else {
let temp = std::fs::read_to_string(output_path);
let temp:Result<String, std::io::Error> = std::fs::read_to_string(output_path);
match temp{
Ok(file_contents) =>{
let file_lines = file_contents.split("\n");
let file_lines:Vec<&str> = file_contents.split("\n").collect();
log::trace!("{:?}",file_contents);
for line in file_lines {
if line.len() > 0{
log::trace!("{:?}",line);
let section_and_data:Vec<&str> = line.split(": ").collect();
let section = section_and_data[0];
let possible_value = section_and_data[1].trim().parse::<u64>();
let section:&str = section_and_data[0];
let possible_value:Result<u64, std::num::ParseIntError> = section_and_data[1].trim().parse::<u64>();
match possible_value{
Ok(value) => {
log::trace!("{:?} value: [{:?}]",section,value);
@ -80,7 +81,7 @@ impl Device{
};
}
Err(_) => {
log::warn!("Unable to parse value [{}] into integer",section_and_data[1]);
log::warn!("Unable to parse value [{:?}] into integer",section_and_data);
}
}
};
@ -104,15 +105,36 @@ impl Device{
_ = usb_port.read_from_device(None);
initial_state = State::LoginPrompt;
},
Response::Other | Response::Empty | Response::ShellPrompt
| Response::LoginPrompt | Response::Rebooting =>
initial_state = State::LoginPrompt,
Response::BPOn | Response::BPOff | Response::TempFailed
| Response::TempSuccess =>
initial_state = State::LifecycleMenu,
Response::DebugMenuReady | Response::DebugMenuWithContinuedMessage=>
initial_state = State::DebugMenu,
}
//Response::Empty parsing here is potentially in bad faith
Response::Other | Response::Empty | Response::ShellPrompt | Response::FailedDebugMenu | Response::DebugInit |
Response::LoginPrompt | Response::ShuttingDown | Response::Rebooting | Response::PreShellPrompt =>
initial_state = State::LoginPrompt,
Response::BPOn | Response::BPOff | Response::TempCount(_) |
Response::DebugMenu=>{
usb_port.write_to_device(Command::Quit);
_ = usb_port.read_from_device(None);
usb_port.write_to_device(Command::Newline);
match usb_port.read_from_device(None){
Response::Rebooting => {
while usb_port.read_from_device(None) != Response::LoginPrompt {}
initial_state = State::LoginPrompt;
},
Response::ShellPrompt => {
usb_port.write_to_device(Command::Shutdown);
while usb_port.read_from_device(None) != Response::LoginPrompt {}
initial_state = State::LoginPrompt;
},
_ => {
log::error!("Unknown state for TTY {:?}!!! Consult logs immediately.",usb_port);
return Err("Failed TTY init. Unknown state, cannot trust.".to_string());
}
};
},
Response::EmptyNewline => {
log::error!("Unknown state for TTY {:?}!!! Consult logs immediately.",usb_port);
return Err("Failed TTY init. Unknown state, cannot trust.".to_string());
},
};
},
None => initial_state = State::LoginPrompt
};
@ -129,6 +151,7 @@ impl Device{
current_state: initial_state,
reboots: 0,
temps: 0,
init_temps: 0,
bps: 0
};
if !output.load_values(){
@ -144,22 +167,6 @@ impl Device{
}
}
fn go_to_login_prompt(&mut self) -> &mut Self{
while !(self.current_state == State::LoginPrompt){
match self.current_state {
State::LoginPrompt => return self,
State::DebugMenu | State::LifecycleMenu | State::BrightnessMenu => {
self.usb_tty.write_to_device(Command::Quit);
_ = self.usb_tty.read_from_device(None);
self.current_state = State::LoginPrompt;
self.reboots+=1;
return self;
},
};
};
return self;
}
fn go_to_brightness_menu(&mut self) -> &mut Self{
while !(self.current_state == State::BrightnessMenu){
match self.current_state {
@ -177,42 +184,59 @@ impl Device{
},
State::LoginPrompt => {
self.usb_tty.write_to_device(Command::Login);
_ = self.usb_tty.read_from_device(None);
loop {
match self.usb_tty.read_from_device(None){
Response::PreShellPrompt | Response::Empty | Response::ShuttingDown |
Response::DebugInit | Response::EmptyNewline | Response::Rebooting => {},
Response::PasswordPrompt => {self.usb_tty.write_to_device(Command::Newline);},
Response::ShellPrompt => break,
_ => {
log::error!("Unexpected response from device {}!",self.serial);
log::debug!("brightness menu, catch-all, first loop, {}, {:?}",self.serial,self.usb_tty);
log::error!("Unsure how to continue. Expect data from device {} to be erratic until next cycle.",self.serial);
break;
},
};
};
//_ = self.usb_tty.read_from_device(None);
self.usb_tty.write_to_device(Command::DebugMenu);
_ = self.usb_tty.read_from_device(None);
loop {
match self.usb_tty.read_from_device(None) {
Response::PreShellPrompt | Response::Empty | Response::ShuttingDown |
Response::DebugInit | Response::EmptyNewline | Response::Rebooting => {},
Response::LoginPrompt => {
self.usb_tty.write_to_device(Command::Login);
while self.usb_tty.read_from_device(None) != Response::ShellPrompt {};
self.usb_tty.write_to_device(Command::DebugMenu);
},
Response::DebugMenu =>
break,
Response::FailedDebugMenu => {
while self.usb_tty.read_from_device(None) != Response::LoginPrompt {};
self.usb_tty.write_to_device(Command::Login);
while self.usb_tty.read_from_device(None) != Response::ShellPrompt {};
self.usb_tty.write_to_device(Command::DebugMenu);
},
_ => {
log::error!("Unexpected response from device {}!", self.serial);
log::debug!("brightness menu, catch-all, second loop, {}, {:?}",self.serial,self.usb_tty);
log::error!("Unsure how to continue. Expect data from device {} to be erratic until next cycle.",self.serial);
break;
},
};
};
//_ = self.usb_tty.read_from_device(None);
self.current_state = State::DebugMenu;
},
State::Shutdown => {
while self.usb_tty.read_from_device(None) != Response::LoginPrompt{}
self.current_state = State::LoginPrompt;
},
};
};
return self;
}
#[allow(dead_code)]
fn go_to_debug_menu(&mut self) -> &mut Self{
while !(self.current_state == State::DebugMenu){
match self.current_state {
State::DebugMenu => return self,
State::BrightnessMenu => {
self.usb_tty.write_to_device(Command::UpMenuLevel);
_ = self.usb_tty.read_from_device(None);
self.current_state = State::LifecycleMenu;
},
State::LifecycleMenu =>{
self.usb_tty.write_to_device(Command::UpMenuLevel);
_ = self.usb_tty.read_from_device(None);
self.current_state = State::BrightnessMenu;
},
State::LoginPrompt => {
self.usb_tty.write_to_device(Command::Login);
_ = self.usb_tty.read_from_device(None);
self.usb_tty.write_to_device(Command::DebugMenu);
_ = self.usb_tty.read_from_device(None);
self.current_state = State::DebugMenu;
return self;
},
};
};
return self;
}
fn go_to_lifecycle_menu(&mut self) -> &mut Self{
while !(self.current_state == State::LifecycleMenu){
match self.current_state {
@ -231,26 +255,69 @@ impl Device{
},
State::LoginPrompt => {
self.usb_tty.write_to_device(Command::Login);
_ = self.usb_tty.read_from_device(None);
loop {
match self.usb_tty.read_from_device(None){
Response::PreShellPrompt | Response::Empty | Response::ShuttingDown |
Response::DebugInit | Response::EmptyNewline | Response::Rebooting => {},
Response::PasswordPrompt => {self.usb_tty.write_to_device(Command::Newline);},
Response::ShellPrompt => break,
_ => {
log::error!("Unexpected response from device {}!",self.serial);
log::debug!("lifecycle menu, catch-all, first loop, {}, {:?}",self.serial,self.usb_tty);
log::error!("Unsure how to continue. Expect data from device {} to be erratic until next cycle.",self.serial);
break;
},
};
};
self.usb_tty.write_to_device(Command::DebugMenu);
_ = self.usb_tty.read_from_device(None);
loop {
let read_in = self.usb_tty.read_from_device(None);
match read_in {
Response::PreShellPrompt | Response::Empty | Response::ShuttingDown |
Response::DebugInit | Response::EmptyNewline | Response::Rebooting => {},
Response::LoginPrompt => {
self.usb_tty.write_to_device(Command::Login);
while self.usb_tty.read_from_device(None) != Response::ShellPrompt {};
self.usb_tty.write_to_device(Command::DebugMenu);
},
Response::DebugMenu =>
break,
Response::FailedDebugMenu => {
while self.usb_tty.read_from_device(None) != Response::LoginPrompt {};
self.usb_tty.write_to_device(Command::Login);
while self.usb_tty.read_from_device(None) != Response::ShellPrompt {};
self.usb_tty.write_to_device(Command::DebugMenu);
},
_ => {
log::error!("Unexpected response from device {}! {:?}", self.serial, read_in);
log::debug!("lifecycle menu, catch-all, second loop, {}, {:?}",self.serial,self.usb_tty);
log::error!("Unsure how to continue. Expect data from device {} to be erratic until next cycle.",self.serial);
break;
},
};
};
self.current_state = State::DebugMenu;
},
State::Shutdown => {
while self.usb_tty.read_from_device(None) != Response::LoginPrompt {}
self.current_state = State::LoginPrompt;
},
};
};
return self;
}
fn save_values(&mut self) -> bool{
let output_path = OUTPUT_FOLDER.to_owned() + &self.serial + ".txt";
let temp = fs::OpenOptions::new().write(true).truncate(true).open(output_path);
let temp = fs::OpenOptions::new().write(true).truncate(true).open(&output_path);
match temp{
Ok(opened_file) => self.output_file = Some(opened_file),
Err(_) => {
log::warn!("Could not open file to write! Potential permissions error.");
log::warn!("Could not open file [{}] to write! Potential permissions error.",&output_path);
return false
}
}
log::trace!("{:?}",self.output_file);
log::trace!("Writing to file: {:?}",self.output_file);
if let Some(ref mut file_name) = self.output_file{
log::debug!("Writing to file!");
let mut output_data = REBOOTS_SECTION.to_string();
@ -260,7 +327,10 @@ impl Device{
output_data.push_str(&self.bps.to_string());
output_data.push_str("\n");
output_data.push_str(TEMP_SECTION);
output_data.push_str(&self.temps.to_string());
log::trace!("Current temps: [{}]",self.temps);
log::trace!("Initial temps: [{}]",self.init_temps);
let saved_temps = self.temps - self.init_temps;
output_data.push_str(&saved_temps.to_string());
output_data.push_str("\n");
let temp = file_name.write_all(output_data.as_bytes());
match temp{
@ -311,7 +381,7 @@ impl Device{
}
return self;
}
pub fn start_bp(&mut self) -> &mut Self {
fn start_bp(&mut self) -> &mut Self {
self.go_to_lifecycle_menu();
self.usb_tty.write_to_device(Command::StartBP);
_ = self.usb_tty.read_from_device(None);
@ -329,78 +399,148 @@ impl Device{
_ = self.usb_tty.read_from_device(None);
return self;
}
pub fn is_temp_running(&mut self) -> bool {
pub fn is_temp_running(&mut self) -> bool{
self.go_to_lifecycle_menu();
self.usb_tty.write_to_device(Command::ReadTemp);
loop {
for _ in 0..10 {
match self.usb_tty.read_from_device(None){
Response::TempSuccess => return true,
Response::TempFailed => return false,
Response::TempCount(count) => return count != self.init_temps ,
_ => {},
}
}
self.usb_tty.write_to_device(Command::ReadTemp);
for _ in 0..10{
match self.usb_tty.read_from_device(None){
Response::TempCount(count) => return count != self.init_temps ,
_ => {},
}
}
log::error!("Temp read failed!!!");
return false
}
pub fn is_bp_running(&mut self) -> bool {
pub fn update_temp_count(&mut self) -> u64 {
self.go_to_lifecycle_menu();
self.usb_tty.write_to_device(Command::ReadTemp);
for _ in 0..10 {
match self.usb_tty.read_from_device(None){
Response::TempCount(count) => {
log::trace!("Count for device {} updated to {}",self.serial,count);
self.temps = count;
return count
},
_ => {},
}
}
self.usb_tty.write_to_device(Command::ReadTemp);
for _ in 0..10{
match self.usb_tty.read_from_device(None){
Response::TempCount(count) => {
log::trace!("Count for device {} updated to {}",self.serial,count);
self.temps = count;
return count
},
_ => {},
}
}
log::error!("Update temp count on device {} failed!!!",self.serial);
return 0;
}
pub fn init_temp_count(&mut self){
self.go_to_lifecycle_menu();
self.usb_tty.write_to_device(Command::ReadTemp);
for _ in 0..10 {
match self.usb_tty.read_from_device(None){
Response::TempCount(count) => {
log::trace!("init temp count set to {} on device {}",count,self.serial);
self.init_temps = count;
return
},
_ => {},
}
};
self.usb_tty.write_to_device(Command::ReadTemp);
for _ in 0..10{
match self.usb_tty.read_from_device(None){
Response::TempCount(count) => {
log::trace!("init temp count set to {} on device {}",count,self.serial);
self.init_temps = count;
return
},
_ => {},
}
};
log::error!("init temp count failed on device {}!!!",self.serial);
}
fn is_bp_running(&mut self) -> bool {
self.go_to_lifecycle_menu();
self.usb_tty.write_to_device(Command::CheckBPState);
loop {
match self.usb_tty.read_from_device(None){
Response::BPOn => return true,
Response::BPOff => return false,
Response::DebugMenuWithContinuedMessage =>{},
_ => return false,
}
}
}
pub fn reboot(&mut self) -> () {
self.go_to_login_prompt();
self.usb_tty.write_to_device(Command::Quit);
let mut successful_reboot:bool = false;
let mut exited_menu:bool = false;
loop{
match self.usb_tty.read_from_device(None){
Response::LoginPrompt => break,
Response::Rebooting => {
log::trace!("Successful reboot detected for device {}.",self.serial);
successful_reboot = true;
if !exited_menu { log::info!("Unusual reboot detected for device {}. Please check logs.",self.serial); }
},
Response::ShuttingDown => {
log::trace!("Exiting debug menu on device {}.",self.serial);
exited_menu = true;
},
_ => {}
}
};
if successful_reboot { self.reboots += 1; }
self.current_state = State::LoginPrompt;
}
pub fn is_rebooted(&mut self) -> bool {
if self.current_state == State::LoginPrompt{
return true;
}
else{
self.go_to_login_prompt();
self.reboots +=1;
self.save_values();
return true;
}
}
pub fn test_cycle(&mut self, bp_cycles: Option<u64>, temp_cycles: Option<u64>) -> () {
pub fn test_cycle(&mut self, bp_cycles: Option<u64>) -> () {
let local_bp_cycles: u64 = bp_cycles.unwrap_or(3);
let local_temp_cycles: u64 = temp_cycles.unwrap_or(2);
self.go_to_login_prompt();
thread::sleep(BOOT_TIME);
if self.current_state != State::LoginPrompt { self.reboot(); }
self.go_to_lifecycle_menu();
_ = self.usb_tty.read_from_device(Some("["));
self.update_temp_count();
for _bp_count in 1..=local_bp_cycles{
log::info!("Running bp {} on device {} ...",(self.bps+1),self.serial);
self.start_bp();
let bp_start = self.is_bp_running();
log::trace!("{:?}",bp_start);
thread::sleep(BP_RUN);
let bp_start:bool = self.is_bp_running();
log::trace!("Has bp started on device {}? : {:?}",self.serial,bp_start);
if bp_start{
log::trace!("Starting temp on device {}",self.serial);
self.start_temp();
thread::sleep(TEMP_WAIT);
log::trace!("Stopping temp on device {}",self.serial);
self.stop_temp();
};
while self.is_bp_running() {};
let bp_end = self.is_bp_running();
log::trace!("{:?}",bp_end);
log::trace!("Has bp ended on device {}? : {:?}",self.serial,bp_end);
if bp_start != bp_end {
self.bps +=1;
log::debug!("Increasing bp count to {}",self.bps);
self.save_values();
}
}
for _temp_count in 1..=local_temp_cycles{
log::info!("Running temp {} on device {} ...",(self.temps+1),self.serial);
let temp_start = self.start_temp().is_temp_running();
let temp_end = self.stop_temp().is_temp_running();
if temp_start != temp_end {
self.temps +=1;
log::debug!("Increasing temp count to {}",self.temps);
log::debug!("Increasing bp count for device {} to {}",self.serial,self.bps);
self.save_values();
}
}
log::info!("Rebooting {} for the {}th time",self.serial, self.reboots);
self.reboot();
self.reboots += 1;
self.save_values();
}
}

View file

@ -1,6 +1,6 @@
use seymour_poc_rust::{device::Device,
tty::{self,TTY,Response},
gpio_facade::GpioPins};
use seymour_life_rust::{device::Device,
tty::{self,TTY,Response},
gpio_facade::GpioPins};
use std::{io::{stdin,stdout,Write},
thread::{self, JoinHandle},
path::Path,
@ -15,7 +15,7 @@ struct Args{
debug:bool
}
const VERSION:&str="2.1.0";
const VERSION:&str="2.2.0";
fn int_input_filtering(prompt:Option<&str>) -> u64{
let internal_prompt = prompt.unwrap_or(">>>");
@ -49,8 +49,8 @@ fn input_filtering(prompt:Option<&str>) -> String{
}
fn main(){
setup_logs();
let args = Args::parse();
setup_logs(&args.debug);
log::info!("Seymour Life Testing version: {}",VERSION);
if args.debug{
log::debug!("Debug enabled!");
@ -110,7 +110,7 @@ fn main(){
}
}
log::info!("\n\n--------------------------------------");
log::info!("--------------------------------------");
log::info!("Number of devices detected: {}",devices.len());
log::info!("--------------------------------------\n\n");
@ -118,6 +118,7 @@ fn main(){
device.brighten_screen();
if args.debug{
let location = device.get_location();
log::info!("Init device {}...", location);
device.set_serial(&location);
}
else{
@ -132,17 +133,23 @@ fn main(){
}
let mut iteration_count:u64 = 0;
while iteration_count < 1{
iteration_count = int_input_filtering(Some("Enter the number of iterations to complete: "));
if args.debug {
iteration_count = 10000;
}
else {
while iteration_count < 1{
iteration_count = int_input_filtering(Some("Enter the number of iterations to complete: "));
}
}
let mut iteration_threads = Vec::new();
while let Some(mut device) = devices.pop(){
iteration_threads.push(thread::spawn(move||{
device.init_temp_count();
for i in 1..=iteration_count{
log::info!("Starting iteration {} of {} for device {}...",
i,iteration_count,device.get_serial());
device.test_cycle(None, None);
device.test_cycle(None);
}
}));
}
@ -161,6 +168,7 @@ fn main(){
}
fn find_gpio(device:&mut Device,gpio:&mut GpioPins) -> bool{
device.init_temp_count();
for &address in gpio.get_unassigned_addresses(){
device.set_pin_address(address).start_temp();
if device.is_temp_running(){
@ -175,7 +183,7 @@ fn find_gpio(device:&mut Device,gpio:&mut GpioPins) -> bool{
return false;
}
pub fn setup_logs(){
pub fn setup_logs(debug:&bool){
let chrono_now: DateTime<Local> = Local::now();
if ! Path::new("logs").is_dir(){
_ = fs::create_dir("logs");
@ -198,10 +206,15 @@ pub fn setup_logs(){
chrono_now.format("%Y-%m-%d_%H.%M").to_string()
)).unwrap()),
)
.chain(
fern::Dispatch::new()
.level(log::LevelFilter::Info)
.chain(std::io::stdout())
)
.chain({
let mut stdout_logger = fern::Dispatch::new();
if *debug {
stdout_logger = stdout_logger.level(log::LevelFilter::Trace);
}
else {
stdout_logger = stdout_logger.level(log::LevelFilter::Info);
}
stdout_logger.chain(std::io::stdout())
})
.apply();
}

View file

@ -23,6 +23,7 @@ pub enum Command{
Login,
DebugMenu,
Newline,
Shutdown,
}
#[derive(Clone,Eq,Derivative,Debug)]
@ -32,14 +33,17 @@ pub enum Response{
ShellPrompt,
BPOn,
BPOff,
TempFailed,
TempSuccess,
TempCount(u64),
LoginPrompt,
DebugMenuReady,
DebugMenuWithContinuedMessage,
DebugMenu,
Rebooting,
Other,
Empty,
ShuttingDown,
FailedDebugMenu,
PreShellPrompt,
EmptyNewline,
DebugInit,
}
@ -51,25 +55,28 @@ const COMMAND_MAP:Lazy<HashMap<Command,&str>> = Lazy::new(||HashMap::from([
(Command::BrightnessMenu, "B"),
(Command::BrightnessHigh, "0"),
(Command::BrightnessLow, "1"),
(Command::ReadTemp, "h"),
(Command::ReadTemp, "H"),
(Command::UpMenuLevel, "\\"),
(Command::Login,"root\n"),
(Command::RedrawMenu,"?"),
(Command::DebugMenu," python3 -m debugmenu; shutdown -r now\n"),
(Command::Newline,"\n"),
(Command::Shutdown,"shutdown -r now\n"),
]));
const RESPONSES:[(&str,Response);10] = [
const RESPONSES:[(&str,Response);12] = [
("Last login:",Response::PreShellPrompt),
("reboot: Restarting",Response::Rebooting),
("command not found",Response::FailedDebugMenu),
("login:",Response::LoginPrompt),
("Password:",Response::PasswordPrompt),
("EXIT Debug menu",Response::ShuttingDown),
("root@",Response::ShellPrompt),
("Check NIBP In Progress: True",Response::BPOn),
("Check NIBP In Progress: False",Response::BPOff),
("Temp: 0",Response::TempFailed),
("Temp:",Response::TempSuccess),
("> ",Response::DebugMenuWithContinuedMessage),
(">",Response::DebugMenuReady),
("[",Response::Rebooting),
("SureTemp Probe Pulls:",Response::TempCount(0)),
(">",Response::DebugMenu),
("Loading App-Framework",Response::DebugInit)
];
pub struct TTY{
@ -78,8 +85,20 @@ pub struct TTY{
}
impl std::fmt::Debug for TTY{
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result{
let absolute_location = self.tty.name();
let relative_location:String;
match absolute_location{
Some(abs_location_string) => {
let sectioned_abs_location = abs_location_string.rsplit_once('/');
match sectioned_abs_location{
Some((_,serial_device_name)) => relative_location = serial_device_name.to_string(),
None => relative_location = "unknown".to_string()
}
},
None => relative_location = "unknown".to_string()
};
f.debug_struct("TTY")
.field("Serial port name",&self.tty.name().unwrap_or("Unknown".to_string()))
.field("Serial port name",&relative_location)
.finish()
}
}
@ -98,9 +117,10 @@ impl TTY{
}
pub fn write_to_device(&mut self,command:Command) -> bool {
log::debug!("writing {:?} to tty {}...", command, self.tty.name().unwrap_or("unknown".to_string()));
log::trace!("writing {:?} to tty {}...", command, self.tty.name().unwrap_or("unknown".to_string()));
let output = self.tty.write_all(COMMAND_MAP.get(&command).unwrap().as_bytes()).is_ok();
_ = self.tty.flush();
if command == Command::Login { std::thread::sleep(std::time::Duration::from_secs(2)); }
std::thread::sleep(std::time::Duration::from_millis(500));
return output;
}
@ -111,17 +131,58 @@ impl TTY{
_ = reader.read_to_end(&mut read_buffer);
if read_buffer.len() > 0 {
let read_line:String = String::from_utf8_lossy(read_buffer.as_slice()).to_string();
if read_line.eq("\r\n") {
return Response::EmptyNewline;
}
for (string,enum_value) in RESPONSES{
if read_line.contains(string){
log::debug!("Successful read of {:?} from tty {}, which matches pattern {:?}",read_line,self.tty.name().unwrap_or("unknown shell".to_string()),enum_value);
self.failed_read_count = 0;
return enum_value;
if(enum_value == Response::BPOn) || (enum_value == Response::BPOff) {
//Don't log BPOn or BPOff, we're gonna see a LOT of those and we don't want
//to overfill the SD card
}
else{
log::trace!("Successful read of {:?} from tty {}, which matches pattern {:?}",read_line,self.tty.name().unwrap_or("unknown shell".to_string()),enum_value);
};
self.failed_read_count = 0;
if enum_value == Response::TempCount(0){
let mut lines = read_line.lines();
while let Some(single_line) = lines.next(){
if single_line.contains(string){
let trimmed_line = single_line.trim();
match trimmed_line.rsplit_once(' '){
None => return enum_value,
Some((_header,temp_count)) => {
match temp_count.trim().parse::<u64>(){
Err(_) => {
log::error!("String {} from device {} unable to be parsed!",temp_count,self.tty.name().unwrap_or("unknown shell".to_string()));
return Response::TempCount(0)
},
Ok(parsed_temp_count) => {
//log::trace!("Header: {}",header);
log::trace!("parsed temp count for device {}: {}",self.tty.name().unwrap_or("unknown shell".to_string()),temp_count);
return Response::TempCount(parsed_temp_count)
}
}
}
}
}
}
}
else if enum_value == Response::PasswordPrompt {
log::error!("Recieved password prompt on device {}! Something fell apart here. Check preceeding log lines.",self.tty.name().unwrap_or("unknown shell".to_string()));
self.write_to_device(Command::Newline);
_ = self.read_from_device(None);
}
else{
return enum_value;
}
}
}
log::trace!("Unable to determine response. Response string is: [{:?}]",read_line);
return Response::Other;
}
else {
log::debug!("Read an empty string. Possible read error.");
log::debug!("Read an empty string from device {:?}. Possible read error.", self);
//Due to a linux kernel power-saving setting that is overly complicated to fix,
//Serial connections will drop for a moment before re-opening, at seemingly-random
//intervals. The below is an attempt to catch and recover from this behaviour.