From 7cda449922409313f725a3a045dc9cf310f20d71 Mon Sep 17 00:00:00 2001 From: Dreaded_X Date: Fri, 1 Sep 2023 02:00:22 +0200 Subject: [PATCH] Slight code cleanup, made (dis)connect message retained --- src/main.rs | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/src/main.rs b/src/main.rs index 138f647..f2a5ea2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,6 +4,7 @@ use core::str::FromStr; +use cyw43::PowerManagementMode; use cyw43_pio::PioSpi; use defmt::{debug, info, warn, Format}; use dsmr5::Readout; @@ -35,7 +36,13 @@ use rand::{ rngs::{SmallRng, StdRng}, RngCore, SeedableRng, }; -use rust_mqtt::client::{client::MqttClient, client_config::ClientConfig}; +use rust_mqtt::{ + client::{ + client::MqttClient, + client_config::{ClientConfig, MqttVersion}, + }, + packet::v5::publish_packet::QualityOfService, +}; use static_cell::make_static; use {defmt_rtt as _, panic_probe as _}; @@ -171,7 +178,7 @@ async fn main(spawner: Spawner) { control.init(clm).await; control - .set_power_management(cyw43::PowerManagementMode::PowerSave) + .set_power_management(PowerManagementMode::PowerSave) .await; // Turn LED on while trying to connect @@ -224,7 +231,7 @@ async fn main(spawner: Spawner) { info!("TCP Connected!"); let mut config = ClientConfig::new( - rust_mqtt::client::client_config::MqttVersion::MQTTv5, + MqttVersion::MQTTv5, // Use fast and simple PRNG to generate packet identifiers, there is no need for this to be // cryptographically secure SmallRng::from_rng(&mut rng_rosc).unwrap(), @@ -232,10 +239,10 @@ async fn main(spawner: Spawner) { config.add_username(env!("MQTT_USERNAME")); config.add_password(env!("MQTT_PASSWORD")); - config.add_max_subscribe_qos(rust_mqtt::packet::v5::publish_packet::QualityOfService::QoS1); + config.add_max_subscribe_qos(QualityOfService::QoS1); config.add_client_id("pico"); // Leads to InsufficientBufferSize error - config.add_will("pico/test", b"disconnected", false); + config.add_will("pico/test", b"disconnected", true); let mut recv_buffer = [0; 4096]; let mut write_buffer = [0; 4096]; @@ -243,16 +250,12 @@ async fn main(spawner: Spawner) { let mut client = MqttClient::<_, 5, _>::new(socket, &mut write_buffer, &mut recv_buffer, config); + info!("Connecting to MQTT..."); client.connect_to_broker().await.unwrap(); info!("MQTT Connected!"); client - .send_message( - "pico/test", - b"connected", - rust_mqtt::packet::v5::publish_packet::QualityOfService::QoS0, - false, - ) + .send_message("pico/test", b"connected", QualityOfService::QoS0, true) .await .unwrap(); @@ -274,12 +277,7 @@ async fn main(spawner: Spawner) { info!("len: {}", msg.len()); client - .send_message( - "pico/test", - &msg, - rust_mqtt::packet::v5::publish_packet::QualityOfService::QoS0, - false, - ) + .send_message("pico/test", &msg, QualityOfService::QoS0, false) .await .unwrap(); }