Skip to content

Commit 63eabf6

Browse files
authored
upgrade to esp-wifi 0.9.1 (#51)
* upgrade to esp-wifi 0.9.1 removed duplicate functions increased heap memory updated examples cargo.toml * reduced heap size back, will not run but will compile on esp32 the increased size of the heap does not compile. * removed unused StrBuf::from
1 parent c9225fd commit 63eabf6

File tree

2 files changed

+1
-133
lines changed

2 files changed

+1
-133
lines changed

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ embassy-net = { version = "0.4.0", features = [
4242
], optional = true }
4343

4444

45-
esp-wifi = { version = "0.8.0", features = [
45+
esp-wifi = { version = "0.9.1", features = [
4646
"phy-enable-usb",
4747
"embedded-svc",
4848
"wifi-default",

esp-mbedtls/src/compat/mod.rs

-132
Original file line numberDiff line numberDiff line change
@@ -1,123 +1,7 @@
1-
use core::ffi::VaListImpl;
2-
use core::fmt::Write;
3-
41
/// Implements edge-nal traits
52
#[cfg(feature = "edge-nal")]
63
pub mod edge_nal_compat;
74

8-
#[no_mangle]
9-
pub unsafe extern "C" fn snprintf(dst: *mut u8, n: u32, format: *const u8, args: ...) -> i32 {
10-
vsnprintf(dst, n, format, args)
11-
}
12-
13-
#[no_mangle]
14-
extern "C" fn vsnprintf(
15-
dst: *mut u8,
16-
_max_len: u32,
17-
format: *const u8,
18-
mut args: VaListImpl,
19-
) -> i32 {
20-
unsafe {
21-
let fmt_str_ptr = format;
22-
let mut res_str = StrBuf::new();
23-
24-
let strbuf = StrBuf::from(fmt_str_ptr);
25-
let s = strbuf.as_str_ref();
26-
27-
let mut format_char = ' ';
28-
let mut is_long = false;
29-
let mut found = false;
30-
for c in s.chars().into_iter() {
31-
if !found {
32-
if c == '%' {
33-
found = true;
34-
}
35-
36-
if !found {
37-
res_str.append_char(c);
38-
}
39-
} else {
40-
if c.is_numeric() || c == '-' || c == 'l' || c == 'z' || c == '#' {
41-
if c == 'l' {
42-
is_long = true;
43-
}
44-
// ignore
45-
} else {
46-
// a format char
47-
format_char = c;
48-
}
49-
}
50-
51-
if found && format_char != ' ' {
52-
// have to format an arg
53-
match format_char {
54-
'd' => {
55-
if is_long {
56-
let v = args.arg::<i32>();
57-
write!(res_str, "{}", v).ok();
58-
} else {
59-
let v = args.arg::<i32>();
60-
write!(res_str, "{}", v).ok();
61-
}
62-
}
63-
64-
'u' => {
65-
let v = args.arg::<u32>();
66-
write!(res_str, "{}", v).ok();
67-
}
68-
69-
'p' => {
70-
let v = args.arg::<u32>();
71-
write!(res_str, "0x{:x}", v).ok();
72-
}
73-
74-
'X' => {
75-
let v = args.arg::<u32>();
76-
write!(res_str, "{:02x}", (v & 0xff000000) >> 24).ok();
77-
}
78-
79-
'x' => {
80-
let v = args.arg::<u32>();
81-
write!(res_str, "{:02x}", v).ok();
82-
}
83-
84-
's' => {
85-
let v = args.arg::<u32>() as *const i8;
86-
let str = core::ffi::CStr::from_ptr(v);
87-
let str = match str.to_str() {
88-
Ok(str) => str,
89-
Err(_err) => "Invalid",
90-
};
91-
write!(res_str, "{}", str).ok();
92-
}
93-
94-
'c' => {
95-
let v = args.arg::<u8>();
96-
if v != 0 {
97-
write!(res_str, "{}", v as char).ok();
98-
}
99-
}
100-
101-
_ => {
102-
write!(res_str, "<UNKNOWN{}>", format_char).ok();
103-
}
104-
}
105-
106-
format_char = ' ';
107-
found = false;
108-
is_long = false;
109-
}
110-
}
111-
112-
// TODO apply max_len
113-
core::ptr::copy_nonoverlapping(res_str.buffer.as_ptr(), dst, res_str.len);
114-
let idx = res_str.len as isize;
115-
*(dst.offset(idx)) = 0;
116-
117-
idx as i32
118-
}
119-
}
120-
1215
#[no_mangle]
1226
extern "C" fn rand() -> crate::c_ulong {
1237
unsafe { crate::random() }
@@ -136,22 +20,6 @@ impl StrBuf {
13620
}
13721
}
13822

139-
pub unsafe fn from(c_str: *const u8) -> StrBuf {
140-
let mut res = StrBuf {
141-
buffer: [0u8; 512],
142-
len: 0,
143-
};
144-
145-
let mut idx: usize = 0;
146-
while *(c_str.offset(idx as isize)) != 0 {
147-
res.buffer[idx] = *(c_str.offset(idx as isize));
148-
idx += 1;
149-
}
150-
151-
res.len = idx;
152-
res
153-
}
154-
15523
pub fn append(&mut self, s: &str) {
15624
let mut idx: usize = self.len;
15725
s.chars().for_each(|c| {

0 commit comments

Comments
 (0)