show build version in html
This commit is contained in:
@@ -105,7 +105,7 @@ fn safe_main() -> anyhow::Result<()> {
|
||||
// Bind the log crate to the ESP Logging facilities
|
||||
esp_idf_svc::log::EspLogger::initialize_default();
|
||||
|
||||
if esp_idf_sys::CONFIG_MAIN_TASK_STACK_SIZE < 20000 {
|
||||
if esp_idf_sys::CONFIG_MAIN_TASK_STACK_SIZE < 25000 {
|
||||
error!(
|
||||
"stack too small: {} bail!",
|
||||
esp_idf_sys::CONFIG_MAIN_TASK_STACK_SIZE
|
||||
@@ -517,7 +517,7 @@ fn safe_main() -> anyhow::Result<()> {
|
||||
let _ = board.mqtt_publish(
|
||||
&config,
|
||||
"/deepsleep",
|
||||
"Entering low voltage long deep sleep".as_bytes(),
|
||||
"low Volt 12h".as_bytes(),
|
||||
);
|
||||
}
|
||||
12 * 60
|
||||
@@ -527,7 +527,7 @@ fn safe_main() -> anyhow::Result<()> {
|
||||
let _ = board.mqtt_publish(
|
||||
&config,
|
||||
"/deepsleep",
|
||||
"Entering after pump restart deep sleep".as_bytes(),
|
||||
"after pump".as_bytes(),
|
||||
);
|
||||
}
|
||||
0
|
||||
@@ -536,7 +536,7 @@ fn safe_main() -> anyhow::Result<()> {
|
||||
let _ = board.mqtt_publish(
|
||||
&config,
|
||||
"/deepsleep",
|
||||
"Entering normal mode 20m deep sleep".as_bytes(),
|
||||
"normal 20m".as_bytes(),
|
||||
);
|
||||
}
|
||||
20
|
||||
@@ -546,11 +546,16 @@ fn safe_main() -> anyhow::Result<()> {
|
||||
let _ = board.mqtt_publish(
|
||||
&config,
|
||||
"/deepsleep",
|
||||
"Entering night mode 1h deep sleep".as_bytes(),
|
||||
"night 1h".as_bytes(),
|
||||
);
|
||||
}
|
||||
60
|
||||
};
|
||||
if online_mode == OnlineMode::Online {
|
||||
let _ = board.mqtt_publish(&config, "/state", "sleep".as_bytes());
|
||||
}
|
||||
|
||||
|
||||
//determine next event
|
||||
//is light out of work trigger soon?
|
||||
//is battery low ??
|
||||
|
@@ -621,6 +621,7 @@ impl PlantCtrlBoardInteraction for PlantCtrlBoard<'_> {
|
||||
qos: AtLeastOnce,
|
||||
retain: true,
|
||||
}),
|
||||
client_id: Some("plantctrl"),
|
||||
keep_alive_interval : Some(Duration::from_secs(60*60*2)),
|
||||
//room for improvement
|
||||
..Default::default()
|
||||
@@ -716,14 +717,22 @@ impl PlantCtrlBoardInteraction for PlantCtrlBoard<'_> {
|
||||
println!("Some error assembling full_topic 2");
|
||||
bail!("Some error assembling full_topic 2")
|
||||
};
|
||||
client.publish(
|
||||
let publish = client.publish(
|
||||
&full_topic,
|
||||
embedded_svc::mqtt::client::QoS::ExactlyOnce,
|
||||
true,
|
||||
message,
|
||||
)?;
|
||||
);
|
||||
|
||||
match publish {
|
||||
OkStd(_) => return Ok(()),
|
||||
Err(err) => {
|
||||
println!("Error during mqtt send on topic {} with message {:#?} error is {:?}",full_topic, message, err);
|
||||
return Err(err)?
|
||||
},
|
||||
}
|
||||
|
||||
return Ok(());
|
||||
;
|
||||
}
|
||||
|
||||
fn state_charge_percent(&mut self) -> Result<u8> {
|
||||
|
@@ -1,6 +1,13 @@
|
||||
<html>
|
||||
<body>
|
||||
<h2>Current Firmware</h2>
|
||||
<div>
|
||||
<div id="firmware_buildtime">Buildtime loading</div>
|
||||
<div id="firmware_githash">Build githash loading</div>
|
||||
</div>
|
||||
|
||||
<h2>firmeware OTA v3</h2>
|
||||
|
||||
<form id="upload_form" method="post">
|
||||
<input type="file" name="file1" id="file1"><br>
|
||||
<progress id="progressBar" value="0" max="100" style="width:300px;"></progress>
|
||||
@@ -9,6 +16,8 @@
|
||||
<p id="loaded_n_total"></p>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
<h2>config</h2>
|
||||
|
||||
<div id="configform">
|
||||
@@ -82,4 +91,4 @@
|
||||
<script src="bundle.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
</html>
|
||||
|
@@ -1,7 +1,11 @@
|
||||
<html>
|
||||
<body>
|
||||
<input type="button" id="test" value="Test">
|
||||
|
||||
<h2>Current Firmware</h2>
|
||||
<div>
|
||||
<div id="firmware_buildtime">Buildtime loading</div>
|
||||
<div id="firmware_githash">Build githash loading</div>
|
||||
</div>
|
||||
<div>
|
||||
<h2>firmeware OTA v3</h2>
|
||||
<form id="upload_form" method="post">
|
||||
|
@@ -22,6 +22,12 @@ struct SSIDList<'a> {
|
||||
ssids: Vec<&'a String<32>>,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Debug)]
|
||||
struct VersionInfo<'a> {
|
||||
git_hash: &'a str,
|
||||
build_time: &'a str
|
||||
}
|
||||
|
||||
pub fn httpd_initial(reboot_now: Arc<AtomicBool>) -> Box<EspHttpServer<'static>> {
|
||||
let mut server = shared();
|
||||
server
|
||||
@@ -170,7 +176,14 @@ pub fn shared() -> Box<EspHttpServer<'static>> {
|
||||
server
|
||||
.fn_handler("/version", Method::Get, |request| {
|
||||
let mut response = request.into_ok_response()?;
|
||||
response.write(env!("VERGEN_GIT_DESCRIBE").as_bytes())?;
|
||||
let git_hash = env!("VERGEN_GIT_DESCRIBE");
|
||||
let build_time = env!("VERGEN_BUILD_TIMESTAMP");
|
||||
let version_info = VersionInfo{
|
||||
git_hash,
|
||||
build_time,
|
||||
};
|
||||
let version_info_json = serde_json::to_string(&version_info)?;
|
||||
response.write(version_info_json.as_bytes())?;
|
||||
anyhow::Ok(())
|
||||
})
|
||||
.unwrap();
|
||||
|
Reference in New Issue
Block a user