mirror of
https://github.com/saymrwulf/xous-core.git
synced 2026-11-13 07:48:30 +00:00
roll back heapless crate on ime-frontend
This commit is contained in:
parent
a24803354c
commit
a8a35fa434
5 changed files with 91 additions and 26 deletions
81
Cargo.lock
generated
81
Cargo.lock
generated
|
|
@ -32,6 +32,18 @@ version = "1.0.38"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "afddf7f520a80dbf76e6f50a35bca42a2331ef227a28b3b6dc5c2e2338d114b1"
|
||||
|
||||
[[package]]
|
||||
name = "as-slice"
|
||||
version = "0.1.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "45403b49e3954a4b8428a0ac21a4b7afadccf92bfd96273f1a58cd4812496ae0"
|
||||
dependencies = [
|
||||
"generic-array 0.12.4",
|
||||
"generic-array 0.13.3",
|
||||
"generic-array 0.14.4",
|
||||
"stable_deref_trait",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "atomic-polyfill"
|
||||
version = "0.1.2"
|
||||
|
|
@ -326,7 +338,7 @@ name = "com"
|
|||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"com_rs-ref",
|
||||
"heapless",
|
||||
"heapless 0.7.0",
|
||||
"log",
|
||||
"log-server",
|
||||
"num-derive",
|
||||
|
|
@ -515,7 +527,7 @@ dependencies = [
|
|||
"com",
|
||||
"content-plugin-api",
|
||||
"graphics-server",
|
||||
"heapless",
|
||||
"heapless 0.7.0",
|
||||
"ime-plugin-api",
|
||||
"keyboard",
|
||||
"log",
|
||||
|
|
@ -532,6 +544,34 @@ dependencies = [
|
|||
"xous-names",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "generic-array"
|
||||
version = "0.12.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
|
||||
dependencies = [
|
||||
"typenum",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "generic-array"
|
||||
version = "0.13.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f797e67af32588215eaaab8327027ee8e71b9dd0b2b26996aedf20c030fce309"
|
||||
dependencies = [
|
||||
"typenum",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "generic-array"
|
||||
version = "0.14.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817"
|
||||
dependencies = [
|
||||
"typenum",
|
||||
"version_check",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "getrandom"
|
||||
version = "0.2.2"
|
||||
|
|
@ -554,7 +594,7 @@ name = "graphics-server"
|
|||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"blitstr-ref",
|
||||
"hash32",
|
||||
"hash32 0.2.1",
|
||||
"hash32-derive",
|
||||
"keyboard",
|
||||
"log",
|
||||
|
|
@ -570,6 +610,15 @@ dependencies = [
|
|||
"xous-names",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hash32"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d4041af86e63ac4298ce40e5cca669066e75b6f1aa3390fe2561ffa5e1d9f4cc"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hash32"
|
||||
version = "0.2.1"
|
||||
|
|
@ -590,6 +639,18 @@ dependencies = [
|
|||
"syn 0.13.11",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "heapless"
|
||||
version = "0.5.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "74911a68a1658cfcfb61bc0ccfbd536e3b6e906f8c2f7883ee50157e3e2184f1"
|
||||
dependencies = [
|
||||
"as-slice",
|
||||
"generic-array 0.13.3",
|
||||
"hash32 0.1.1",
|
||||
"stable_deref_trait",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "heapless"
|
||||
version = "0.7.0"
|
||||
|
|
@ -597,7 +658,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "e94c13b78b595d2adbd708bce276664f1047f98fc32ddbf463b4c191158334a6"
|
||||
dependencies = [
|
||||
"atomic-polyfill",
|
||||
"hash32",
|
||||
"hash32 0.2.1",
|
||||
"stable_deref_trait",
|
||||
]
|
||||
|
||||
|
|
@ -670,7 +731,7 @@ dependencies = [
|
|||
name = "ime-plugin-shell"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"heapless",
|
||||
"heapless 0.5.6",
|
||||
"ime-plugin-api",
|
||||
"log",
|
||||
"log-server",
|
||||
|
|
@ -705,7 +766,7 @@ dependencies = [
|
|||
name = "keyboard"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"heapless",
|
||||
"heapless 0.7.0",
|
||||
"llio",
|
||||
"log",
|
||||
"log-server",
|
||||
|
|
@ -752,7 +813,7 @@ dependencies = [
|
|||
name = "llio"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"heapless",
|
||||
"heapless 0.7.0",
|
||||
"log",
|
||||
"log-server",
|
||||
"num-derive",
|
||||
|
|
@ -1338,7 +1399,7 @@ dependencies = [
|
|||
"content-plugin-api",
|
||||
"gam",
|
||||
"graphics-server",
|
||||
"heapless",
|
||||
"heapless 0.7.0",
|
||||
"ime-plugin-api",
|
||||
"keyboard",
|
||||
"llio",
|
||||
|
|
@ -1484,7 +1545,7 @@ dependencies = [
|
|||
name = "ticktimer-server"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"heapless",
|
||||
"heapless 0.7.0",
|
||||
"log",
|
||||
"log-server",
|
||||
"num-derive",
|
||||
|
|
@ -1844,7 +1905,7 @@ dependencies = [
|
|||
name = "xous-names"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"hash32",
|
||||
"hash32 0.2.1",
|
||||
"hash32-derive",
|
||||
"log",
|
||||
"log-server",
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ name = "ime-plugin-shell"
|
|||
version = "0.1.0"
|
||||
|
||||
[dependencies]
|
||||
heapless = "0.7"
|
||||
heapless = "0.5.6"
|
||||
ime-plugin-api = {path = "../ime-plugin-api"}
|
||||
log = "0.4"
|
||||
log-server = {path = "../log-server"}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ use ime_plugin_api::*;
|
|||
|
||||
use log::{error, info};
|
||||
use heapless::spsc::Queue;
|
||||
use heapless::consts::*;
|
||||
|
||||
use xous_ipc::{String, Buffer};
|
||||
use num_traits::FromPrimitive;
|
||||
|
|
@ -19,7 +20,7 @@ fn xmain() -> ! {
|
|||
let ime_sh_sid = xns.register_name(xous::names::SERVER_NAME_IME_PLUGIN_SHELL).expect("can't register server");
|
||||
log::trace!("registered with NS -- {:?}", ime_sh_sid);
|
||||
|
||||
let mut history: Queue<String<64>, 4> = Queue::new(); // this has 2^4 elements = 16??? or does it just have 4 elements.
|
||||
let mut history: Queue<String<64>, U4> = Queue::new(); // this has 2^4 elements = 16??? or does it just have 4 elements.
|
||||
let history_max = 4;
|
||||
|
||||
if false { // loads defaults into the predictor array to test things
|
||||
|
|
|
|||
|
|
@ -109,15 +109,17 @@ pub struct CmdEnv {
|
|||
impl CmdEnv {
|
||||
pub fn new(xns: &xous_names::XousNames) -> CmdEnv {
|
||||
let ticktimer = ticktimer_server::Ticktimer::new().expect("Couldn't connect to Ticktimer");
|
||||
let mut common = CommonEnv {
|
||||
llio: llio::Llio::new(&xns).expect("couldn't connect to LLIO"),
|
||||
com: com::Com::new(&xns).expect("could't connect to COM"),
|
||||
ticktimer: ticktimer,
|
||||
gam: gam::Gam::new(&xns).expect("couldn't connect to GAM"),
|
||||
cb_registrations: FnvIndexMap::new(),
|
||||
trng: trng::Trng::new(&xns).unwrap(),
|
||||
};
|
||||
let fcc = Fcc::new(&mut common);
|
||||
CmdEnv {
|
||||
common_env: CommonEnv {
|
||||
llio: llio::Llio::new(&xns).expect("couldn't connect to LLIO"),
|
||||
com: com::Com::new(&xns).expect("could't connect to COM"),
|
||||
ticktimer: ticktimer,
|
||||
gam: gam::Gam::new(&xns).expect("couldn't connect to GAM"),
|
||||
cb_registrations: FnvIndexMap::new(),
|
||||
trng: trng::Trng::new(&xns).unwrap(),
|
||||
},
|
||||
common_env: common,
|
||||
lastverb: String::<256>::new(),
|
||||
///// 3. initialize your storage, by calling new()
|
||||
//test_cmd: Test::new(),
|
||||
|
|
@ -129,7 +131,7 @@ impl CmdEnv {
|
|||
ssid_cmd: Ssid::new(),
|
||||
audio_cmd: Audio::new(&xns),
|
||||
|
||||
fcc_cmd: Fcc::new(),
|
||||
fcc_cmd: fcc,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ use xous::{Message, ScalarMessage, MessageEnvelope};
|
|||
use core::sync::atomic::{AtomicBool, Ordering};
|
||||
static CB_RUN: AtomicBool = AtomicBool::new(false);
|
||||
static CB_GO: AtomicBool = AtomicBool::new(false);
|
||||
pub fn callback_thread() {
|
||||
pub fn callback_thread(callback_id: usize) {
|
||||
let ticktimer = ticktimer_server::Ticktimer::new().expect("Couldn't connect to Ticktimer");
|
||||
let xns = xous_names::XousNames::new().unwrap();
|
||||
let callback_conn = xns.request_connection_blocking(crate::SERVER_NAME_SHELLCHAT).unwrap();
|
||||
|
|
@ -26,9 +26,9 @@ pub fn callback_thread() {
|
|||
ticktimer.sleep_ms(20_000).unwrap();
|
||||
// after we wait, check and see if we still need the callback...
|
||||
if CB_GO.load(Ordering::Relaxed) {
|
||||
// just send a bogus message
|
||||
// send a message that will get routed to our callback handler, locatable with the `callback_id`
|
||||
xous::send_message(callback_conn, Message::Scalar(ScalarMessage{
|
||||
id: 0xdeadbeef, arg1: 0, arg2: 0, arg3: 0, arg4: 0,
|
||||
id: callback_id, arg1: 0, arg2: 0, arg3: 0, arg4: 0,
|
||||
})).unwrap();
|
||||
}
|
||||
} else {
|
||||
|
|
@ -46,8 +46,9 @@ pub struct Fcc {
|
|||
tx_start_time: u64,
|
||||
}
|
||||
impl Fcc {
|
||||
pub fn new() -> Fcc {
|
||||
xous::create_thread_0(callback_thread).expect("couldn't create callback generator thread");
|
||||
pub fn new(env: &mut CommonEnv) -> Fcc {
|
||||
let callback_id = env.register_handler(String::<256>::from_str("fcc"));
|
||||
xous::create_thread_1(callback_thread, callback_id as usize).expect("couldn't create callback generator thread");
|
||||
Fcc {
|
||||
channel: None, //Some(2), // default to simplify testing, replace with None
|
||||
rate: None, //Some(Rate::B1Mbps), // default to simplify testing, replace with None
|
||||
|
|
|
|||
Loading…
Reference in a new issue