mqtt_client: take out scpi
This commit is contained in:
parent
74f7b7ce61
commit
72770d9276
|
@ -1,8 +1,7 @@
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
|
|
||||||
#[macro_use]
|
use log::{info, warn};
|
||||||
extern crate log;
|
|
||||||
|
|
||||||
use smoltcp as net;
|
use smoltcp as net;
|
||||||
use stm32h7xx_hal::ethernet;
|
use stm32h7xx_hal::ethernet;
|
||||||
|
@ -31,44 +30,9 @@ use firmware::{
|
||||||
cpld::{
|
cpld::{
|
||||||
CPLD,
|
CPLD,
|
||||||
},
|
},
|
||||||
scpi::{
|
|
||||||
HelloWorldCommand,
|
|
||||||
Channel0SwitchCommand,
|
|
||||||
Channel1SwitchCommand,
|
|
||||||
Channel2SwitchCommand,
|
|
||||||
Channel3SwitchCommand,
|
|
||||||
Channel0AttenuationCommand,
|
|
||||||
Channel1AttenuationCommand,
|
|
||||||
Channel2AttenuationCommand,
|
|
||||||
Channel3AttenuationCommand,
|
|
||||||
ClockSourceCommand,
|
|
||||||
ClockDivisionCommand,
|
|
||||||
ProfileCommand,
|
|
||||||
Channel0Profile0Singletone
|
|
||||||
},
|
|
||||||
Urukul, scpi_root, recursive_scpi_tree, scpi_tree
|
|
||||||
};
|
};
|
||||||
use firmware::translation::MqttScpiTranslator;
|
use firmware::Urukul;
|
||||||
|
use firmware::mqtt_mux::{MqttCommandType, MqttMux};
|
||||||
use scpi::prelude::*;
|
|
||||||
use scpi::ieee488::commands::*;
|
|
||||||
use scpi::scpi::commands::*;
|
|
||||||
use scpi::{
|
|
||||||
ieee488_cls,
|
|
||||||
ieee488_ese,
|
|
||||||
ieee488_esr,
|
|
||||||
ieee488_idn,
|
|
||||||
ieee488_opc,
|
|
||||||
ieee488_rst,
|
|
||||||
ieee488_sre,
|
|
||||||
ieee488_stb,
|
|
||||||
ieee488_tst,
|
|
||||||
ieee488_wai,
|
|
||||||
scpi_crate_version,
|
|
||||||
scpi_status,
|
|
||||||
scpi_system,
|
|
||||||
};
|
|
||||||
use scpi::Context;
|
|
||||||
|
|
||||||
#[path = "util/logger.rs"]
|
#[path = "util/logger.rs"]
|
||||||
mod logger;
|
mod logger;
|
||||||
|
@ -216,16 +180,9 @@ fn main() -> ! {
|
||||||
cp.SCB.invalidate_icache();
|
cp.SCB.invalidate_icache();
|
||||||
cp.SCB.enable_icache();
|
cp.SCB.enable_icache();
|
||||||
|
|
||||||
// Define SCPI tree
|
// TODO: Remove this simple test
|
||||||
let tree = scpi_tree!();
|
let mut mqtt_mux = MqttMux::new(urukul);
|
||||||
|
info!("{:?}", mqtt_mux.handle_command("Urukul/Control/Channel0/Switch", "on".as_bytes()));
|
||||||
// Device was declared in prior
|
|
||||||
let mut errors = ArrayErrorQueue::<[Error; 10]>::new();
|
|
||||||
let mut context = Context::new(&mut urukul, &mut errors, tree);
|
|
||||||
|
|
||||||
//Response bytebuffer
|
|
||||||
let mut buf = ArrayVecFormatter::<[u8; 256]>::new();
|
|
||||||
// SCPI configs END
|
|
||||||
|
|
||||||
// Time unit in ms
|
// Time unit in ms
|
||||||
let mut time: u32 = 0;
|
let mut time: u32 = 0;
|
||||||
|
@ -274,10 +231,7 @@ fn main() -> ! {
|
||||||
topic => {
|
topic => {
|
||||||
info!("On '{:?}', received: {:?}", topic, message);
|
info!("On '{:?}', received: {:?}", topic, message);
|
||||||
// Why is topic a string while message is a slice?
|
// Why is topic a string while message is a slice?
|
||||||
context.run_with_mqtt(topic,
|
mqtt_mux.handle_command(topic, message).unwrap();
|
||||||
core::str::from_utf8(message).unwrap(),
|
|
||||||
&mut buf)
|
|
||||||
.unwrap();
|
|
||||||
},
|
},
|
||||||
}).is_ok();
|
}).is_ok();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue