comparison libpwon/etmoff.c @ 953:ab54957dbe35

libpwon: implement -Petmoff mode
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 07 Jun 2023 20:06:12 +0000
parents
children
comparison
equal deleted inserted replaced
952:68d4474c1a36 953:ab54957dbe35
1 /*
2 * This libpwon module implements -Petmoff mode: set the baud rate to 115200
3 * and send out ETM command doing Iota poweroff, triggering a VRPC reboot cycle
4 * on the USB-charging phone. The "wakeup shot" logic is a copy of what we do
5 * in rvinterf.
6 */
7
8 #include <sys/types.h>
9 #include <unistd.h>
10
11 extern int target_fd;
12
13 static u_char wakeup_shot[64];
14 static u_char etm_devoff_pkt[9] =
15 {0x02, 0x14, 0x01, 0x67, 0x1E, 0x01, 0x00, 0x79, 0x02};
16
17 void
18 bootctrl_do_etmoff()
19 {
20 set_fixed_baudrate("115200");
21 set_serial_nonblock(0);
22 write(target_fd, wakeup_shot, sizeof wakeup_shot);
23 usleep(100000);
24 write(target_fd, etm_devoff_pkt, sizeof etm_devoff_pkt);
25 }