5
5
extern crate alloc;
6
6
7
7
use alloc:: { collections:: VecDeque , string:: String , vec:: Vec } ;
8
- use esp32c3_hal:: { clock:: { ClockControl , CpuClock } , peripherals :: UART0 } ;
8
+ use esp32c3_hal:: clock:: { ClockControl , CpuClock } ;
9
9
use esp32c3_hal:: prelude:: * ;
10
10
use esp32c3_hal:: timer:: TimerGroup ;
11
11
use esp32c3_hal:: { gpio:: IO , peripherals:: Peripherals , Rtc } ;
12
+ use esp_backtrace as _;
12
13
use esp_println:: println;
13
- use vgaterm:: { Delay , usb_keyboard:: US_ENGLISH , Work , interrupt:: Priority } ;
14
14
use vgaterm:: perf:: configure_counter_for_cpu_cycles;
15
15
use vgaterm:: { self , video} ;
16
- use esp_backtrace as _ ;
16
+ use vgaterm :: { interrupt :: Priority , usb_keyboard :: US_ENGLISH , Work } ;
17
17
18
- use core:: { arch :: asm , fmt:: Write } ;
18
+ use core:: fmt:: Write ;
19
19
20
- core:: arch:: global_asm!( ".global _heap_size; _heap_size = 0xC000 " ) ;
20
+ core:: arch:: global_asm!( ".global _heap_size; _heap_size = 0xB000 " ) ;
21
21
22
22
#[ global_allocator]
23
23
static ALLOCATOR : esp_alloc:: EspHeap = esp_alloc:: EspHeap :: empty ( ) ;
@@ -79,15 +79,17 @@ fn main() -> ! {
79
79
vgaterm:: uart:: interrupt_enable0 ( Priority :: Priority6 ) ;
80
80
vgaterm:: gpio:: interrupt_enable ( Priority :: max ( ) ) ;
81
81
82
-
83
82
unsafe {
84
83
riscv:: interrupt:: enable ( ) ;
85
84
}
86
85
87
86
vgaterm:: timer:: start_repeat_timer0_callback ( 1_000_000 , || unsafe {
88
87
if NUM_BYTES > 0 {
89
- println ! ( "{} bytes" , NUM_BYTES ) ;
90
- println ! ( "{} draw cycles per byte" , vgaterm:: CHARACTER_DRAW_CYCLES as f32 / NUM_BYTES as f32 ) ;
88
+ println ! ( "{} bytes" , NUM_BYTES ) ;
89
+ println ! (
90
+ "{} draw cycles per byte" ,
91
+ vgaterm:: CHARACTER_DRAW_CYCLES as f32 / NUM_BYTES as f32
92
+ ) ;
91
93
NUM_BYTES = 0 ;
92
94
}
93
95
vgaterm:: CHARACTER_DRAW_CYCLES = 0 ;
@@ -176,7 +178,9 @@ fn main() -> ! {
176
178
while let Ok ( r) = serial0. read ( ) {
177
179
b. push ( r) ;
178
180
}
179
- unsafe { NUM_BYTES += b. len ( ) ; }
181
+ unsafe {
182
+ NUM_BYTES += b. len ( ) ;
183
+ }
180
184
String :: from_utf8 ( b) . unwrap ( )
181
185
} ;
182
186
@@ -188,23 +192,23 @@ fn main() -> ! {
188
192
match mode {
189
193
ConnectMode :: ConnectHost => {
190
194
let _ = serial0. write_str ( c) ;
191
- } ,
195
+ }
192
196
ConnectMode :: LocalEcho => {
193
197
terminal. type_str ( c) ;
194
- } ,
195
- ConnectMode :: None => { }
198
+ }
199
+ ConnectMode :: None => { }
196
200
} ;
197
-
198
- } ,
199
- Work :: WouldBlock => { } ,
201
+ }
202
+ Work :: WouldBlock => { }
200
203
Work :: WouldBlockUntil ( _) => { }
201
204
}
202
205
203
206
// Draw the characters on the frame
204
207
// Flush the Display to the BUFFER
205
- // display.flush();
206
-
207
- if !keyvents. is_empty ( ) || unsafe { ( * UART0 :: PTR ) . status . read ( ) . rxfifo_cnt ( ) . bits ( ) } > 0 {
208
+ display. flush ( ) ;
209
+
210
+ if !keyvents. is_empty ( ) {
211
+ println ! ( "{:?}" , keyvents) ;
208
212
continue ;
209
213
}
210
214
0 commit comments