Skip to content

Commit dbf46b0

Browse files
committed
[io] Get Ticker events befeore sending APDU
(cherry picked from commit f48979a)
1 parent a61da40 commit dbf46b0

File tree

1 file changed

+17
-0
lines changed
  • ledger_device_sdk/src

1 file changed

+17
-0
lines changed

ledger_device_sdk/src/io.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,23 @@ impl Comm {
185185
// This is private. Users should call reply to set the satus word and
186186
// transmit the response.
187187
fn apdu_send(&mut self) {
188+
#[cfg(any(target_os = "stax", target_os = "flex", feature = "nano_nbgl"))]
189+
{
190+
let mut buffer: [u8; 273] = [0; 273];
191+
let status = sys_seph::io_rx(&mut buffer, false);
192+
if status > 0 {
193+
let packet_type = seph::PacketTypes::from(buffer[0]);
194+
let event = seph::Events::from(buffer[1]);
195+
match (packet_type, event) {
196+
(seph::PacketTypes::PacketTypeSeph, seph::Events::TickerEvent) => {
197+
unsafe {
198+
ux_process_ticker_event();
199+
}
200+
}
201+
(_, _) => {}
202+
}
203+
}
204+
}
188205
if self.tx != 0 {
189206
sys_seph::io_tx(self.apdu_type, &self.apdu_buffer, self.tx);
190207
self.tx = 0;

0 commit comments

Comments
 (0)