forked from M-Labs/humpback-dds
mqtt_client: take out scpi
This commit is contained in:
parent
74f7b7ce61
commit
72770d9276
|
@ -1,8 +1,7 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
#[macro_use]
|
||||
extern crate log;
|
||||
use log::{info, warn};
|
||||
|
||||
use smoltcp as net;
|
||||
use stm32h7xx_hal::ethernet;
|
||||
|
@ -31,44 +30,9 @@ use firmware::{
|
|||
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 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;
|
||||
use firmware::Urukul;
|
||||
use firmware::mqtt_mux::{MqttCommandType, MqttMux};
|
||||
|
||||
#[path = "util/logger.rs"]
|
||||
mod logger;
|
||||
|
@ -216,16 +180,9 @@ fn main() -> ! {
|
|||
cp.SCB.invalidate_icache();
|
||||
cp.SCB.enable_icache();
|
||||
|
||||
// Define SCPI tree
|
||||
let tree = scpi_tree!();
|
||||
|
||||
// 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
|
||||
// TODO: Remove this simple test
|
||||
let mut mqtt_mux = MqttMux::new(urukul);
|
||||
info!("{:?}", mqtt_mux.handle_command("Urukul/Control/Channel0/Switch", "on".as_bytes()));
|
||||
|
||||
// Time unit in ms
|
||||
let mut time: u32 = 0;
|
||||
|
@ -274,10 +231,7 @@ fn main() -> ! {
|
|||
topic => {
|
||||
info!("On '{:?}', received: {:?}", topic, message);
|
||||
// Why is topic a string while message is a slice?
|
||||
context.run_with_mqtt(topic,
|
||||
core::str::from_utf8(message).unwrap(),
|
||||
&mut buf)
|
||||
.unwrap();
|
||||
mqtt_mux.handle_command(topic, message).unwrap();
|
||||
},
|
||||
}).is_ok();
|
||||
|
||||
|
|
Loading…
Reference in New Issue