Merge: Tool to enable/disable ADB
This commit is contained in:
parent
0f34d709e4
commit
3a2da4c1ab
9 changed files with 118 additions and 15 deletions
3
makefile
3
makefile
|
|
@ -45,6 +45,7 @@ all-cores:
|
|||
tools:
|
||||
cd ./src/clock && make
|
||||
cd ./src/clear_recent && make
|
||||
cd ./src/toggle_adb && make
|
||||
cd ./other/DinguxCommander && make -j
|
||||
|
||||
bundle:
|
||||
|
|
@ -73,6 +74,7 @@ bundle:
|
|||
cp ./src/minui/minui.elf ./build/SYSTEM/rg35xx/paks/MinUI.pak
|
||||
cp ./src/clock/clock.elf ./build/EXTRAS/Tools/rg35xx/Clock.pak
|
||||
cp ./src/clear_recent/clear_recent.elf "./build/EXTRAS/Tools/rg35xx/Clear Recently Played.pak"
|
||||
cp ./src/toggle_adb/toggle_adb.elf "./build/EXTRAS/Tools/rg35xx/Toggle ADB.pak"
|
||||
|
||||
# stock cores
|
||||
cp ./cores/output/fceumm_libretro.so ./build/SYSTEM/rg35xx/cores
|
||||
|
|
@ -131,4 +133,5 @@ clean:
|
|||
cd ./cores && make clean
|
||||
cd ./src/clock && make clean
|
||||
cd ./src/clear_recent && make clean
|
||||
cd ./src/toggle_adb && make clean
|
||||
cd ./other/DinguxCommander && make clean
|
||||
|
|
|
|||
0
skeleton/BASE/Screenshots/.keep
Normal file
0
skeleton/BASE/Screenshots/.keep
Normal file
5
skeleton/EXTRAS/Tools/rg35xx/Toggle ADB.pak/launch.sh
Executable file
5
skeleton/EXTRAS/Tools/rg35xx/Toggle ADB.pak/launch.sh
Executable file
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/sh
|
||||
|
||||
PATH=$(dirname "$0")
|
||||
cd "$PATH"
|
||||
./toggle_adb.elf
|
||||
|
|
@ -1,10 +1,5 @@
|
|||
#!/system/bin/sh
|
||||
|
||||
# Enable Android Debug Bridge
|
||||
if [ -f /misc/enableADB ]; then
|
||||
/usbdbg.sh device
|
||||
fi
|
||||
|
||||
echo 0xF > /sys/devices/system/cpu/autoplug/plug_mask
|
||||
|
||||
TF1_PATH=/mnt/mmc # ROMS partition
|
||||
|
|
@ -31,6 +26,11 @@ if [ $? -ne 0 ]; then
|
|||
fi
|
||||
fi
|
||||
|
||||
# Enable Android Debug Bridge
|
||||
if [ -f /mnt/mmc/enableADB ]; then
|
||||
/usbdbg.sh device
|
||||
fi
|
||||
|
||||
if [ -d ${TF1_PATH}${SYSTEM_FRAG} ] || [ -f ${TF1_PATH}${UPDATE_FRAG} ]; then
|
||||
if [ ! -L $TF2_PATH ]; then
|
||||
# .system found on TF1 but TF2 is present
|
||||
|
|
|
|||
|
|
@ -1560,9 +1560,7 @@ void POW_update(int* _dirty, int* _show_setting, POW_callback_t before_sleep, PO
|
|||
void POW_disablePowerOff(void) {
|
||||
pow.can_poweroff = 0;
|
||||
}
|
||||
void POW_powerOff(void) {
|
||||
if (pow.can_poweroff) {
|
||||
char* msg = exists(AUTO_RESUME_PATH) ? "Quicksave created,\npowering off" : "Powering off";
|
||||
void POW_sync(char* msg) {
|
||||
GFX_clear(gfx.screen);
|
||||
GFX_blitMessage(font.large, msg, gfx.screen, NULL);
|
||||
GFX_flip(gfx.screen);
|
||||
|
|
@ -1573,11 +1571,23 @@ void POW_powerOff(void) {
|
|||
system("sync");
|
||||
|
||||
sleep(2);
|
||||
}
|
||||
void POW_powerOff(void) {
|
||||
if (pow.can_poweroff) {
|
||||
char* msg = exists(AUTO_RESUME_PATH) ? "Quicksave created,\npowering off" : "Powering off";
|
||||
POW_sync(msg);
|
||||
|
||||
// actual shutdown
|
||||
system("echo o > /proc/sysrq-trigger");
|
||||
}
|
||||
}
|
||||
void POW_reboot(void) {
|
||||
char* msg = "Rebooting";
|
||||
POW_sync(msg);
|
||||
|
||||
// trigger reboot
|
||||
system("echo b > /proc/sysrq-trigger");
|
||||
}
|
||||
|
||||
#define BACKLIGHT_PATH "/sys/class/backlight/backlight.2/bl_power"
|
||||
|
||||
|
|
|
|||
|
|
@ -220,8 +220,10 @@ void POW_warn(int enable);
|
|||
|
||||
void POW_update(int* dirty, int* show_setting, POW_callback_t before_sleep, POW_callback_t after_sleep);
|
||||
|
||||
void POW_sync(char* msg);
|
||||
void POW_disablePowerOff(void);
|
||||
void POW_powerOff(void);
|
||||
void POW_reboot(void);
|
||||
|
||||
void POW_fauxSleep(void);
|
||||
void POW_disableAutosleep(void);
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@
|
|||
#define COLLECTIONS_PATH SDCARD_PATH "/Collections"
|
||||
#define BATTERY_PATH SDCARD_PATH "/battery.txt"
|
||||
#define SCREENSHOTS_PATH SDCARD_PATH "/Screenshots"
|
||||
#define ADB_FLAG_PATH SDCARD_PATH "/enableADB"
|
||||
|
||||
#define LAST_PATH "/tmp/last.txt" // transient
|
||||
#define CHANGE_DISC_PATH "/tmp/change_disc.txt"
|
||||
|
|
|
|||
15
src/toggle_adb/makefile
Normal file
15
src/toggle_adb/makefile
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
ifeq (,$(CROSS_COMPILE))
|
||||
$(error missing CROSS_COMPILE for this toolchain)
|
||||
endif
|
||||
|
||||
TARGET = toggle_adb
|
||||
|
||||
CC = $(CROSS_COMPILE)gcc
|
||||
CFLAGS = -Os -marm -mtune=cortex-a9 -mfpu=neon-fp16 -mfloat-abi=hard -march=armv7-a -fomit-frame-pointer
|
||||
CFLAGS += -I. -I../common -DPLATFORM=\"$(UNION_PLATFORM)\"
|
||||
LDFLAGS = -ldl -lSDL -lSDL_image -lSDL_ttf -lmsettings -lpthread
|
||||
|
||||
all:
|
||||
$(CC) $(TARGET).c ../common/utils.c ../common/api.c -o $(TARGET).elf $(CFLAGS) $(LDFLAGS)
|
||||
clean:
|
||||
rm -f $(TARGET).elf
|
||||
67
src/toggle_adb/toggle_adb.c
Normal file
67
src/toggle_adb/toggle_adb.c
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
#include <SDL/SDL.h>
|
||||
#include <SDL/SDL_image.h>
|
||||
#include <msettings.h>
|
||||
|
||||
#include "defines.h"
|
||||
#include "utils.h"
|
||||
#include "api.h"
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
POW_setCPUSpeed(CPU_SPEED_MENU);
|
||||
|
||||
SDL_Surface* screen = GFX_init(MODE_MAIN);
|
||||
POW_init();
|
||||
InitSettings();
|
||||
|
||||
SDL_Event event;
|
||||
int quit = 0;
|
||||
int save_changes = 0;
|
||||
int adb_enabled = 0;
|
||||
|
||||
// Show confirmation message
|
||||
// GFX_blitHardwareGroup(screen, show_setting);
|
||||
FILE *file = fopen(ADB_FLAG_PATH, "r");
|
||||
if (file) {
|
||||
adb_enabled = 1;
|
||||
GFX_blitMessage(font.large, "ADB is currently enabled\nDisable and reboot?", screen, NULL);
|
||||
GFX_blitButtonGroup((char*[]){ "B","CANCEL", "A","DISABLE", NULL }, screen, 1);
|
||||
} else {
|
||||
GFX_blitMessage(font.large, "ADB is not enabled\nEnable and reboot?", screen, NULL);
|
||||
GFX_blitButtonGroup((char*[]){ "B","CANCEL", "A","ENABLE", NULL }, screen, 1);
|
||||
}
|
||||
|
||||
GFX_flip(screen);
|
||||
|
||||
// Wait for user's input
|
||||
while (!quit) {
|
||||
PAD_poll();
|
||||
if (PAD_justPressed(BTN_A)) {
|
||||
save_changes = 1;
|
||||
quit = 1;
|
||||
} else if (PAD_justPressed(BTN_B)) {
|
||||
quit = 1;
|
||||
} else {
|
||||
GFX_sync();
|
||||
}
|
||||
}
|
||||
|
||||
// Execute main program based on user's input
|
||||
if (save_changes) {
|
||||
if (!adb_enabled){
|
||||
fclose(fopen(ADB_FLAG_PATH, "w"));
|
||||
} else {
|
||||
remove(ADB_FLAG_PATH);
|
||||
}
|
||||
LOG_info("Rebooting to save changes\n");
|
||||
POW_reboot();
|
||||
}
|
||||
|
||||
QuitSettings();
|
||||
POW_quit();
|
||||
GFX_quit();
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue