mirror of
https://github.com/dekuNukem/USB4VC.git
synced 2025-10-31 11:26:46 -07:00
started working on adb write
This commit is contained in:
BIN
captures/bw powermac g3 adb booot with keyboard and mouse.sal
Normal file
BIN
captures/bw powermac g3 adb booot with keyboard and mouse.sal
Normal file
Binary file not shown.
BIN
captures/bw powermac g3 adb move mouse.sal
Normal file
BIN
captures/bw powermac g3 adb move mouse.sal
Normal file
Binary file not shown.
@@ -7,6 +7,18 @@
|
||||
|
||||
#include "stm32f0xx_hal.h"
|
||||
|
||||
#define ADB_LINE_STATUS_ATTEN 1
|
||||
#define ADB_LINE_STATUS_IDLE 2
|
||||
#define ADB_LINE_STATUS_RESET 3
|
||||
#define ADB_LINE_STATUS_BUSY 4
|
||||
#define ADB_LINE_STATUS_ERROR 5
|
||||
#define ADB_LINE_STATUS_COLLISION 6
|
||||
|
||||
#define ADB_OK 0
|
||||
#define ADB_TIMEOUT -1
|
||||
#define ADB_ERROR ADB_LINE_STATUS_ERROR
|
||||
|
||||
|
||||
void adb_init(GPIO_TypeDef* data_port, uint16_t data_pin, GPIO_TypeDef* psw_port, uint16_t psw_pin);
|
||||
uint8_t adb_recv_cmd(uint8_t* data, uint8_t srq);
|
||||
void parse_adb_cmd(uint8_t data);
|
||||
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -27,15 +27,11 @@ Project File Date: 11/16/2021
|
||||
<h2>Output:</h2>
|
||||
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
|
||||
Build target 'spitestf042'
|
||||
compiling adb.c...
|
||||
..\Src\adb.c(129): warning: #1-D: last line of file ends without a newline
|
||||
}
|
||||
..\Src\adb.c: 1 warning, 0 errors
|
||||
compiling main.c...
|
||||
linking...
|
||||
Program Size: Code=7096 RO-data=248 RW-data=28 ZI-data=1332
|
||||
Program Size: Code=7116 RO-data=248 RW-data=28 ZI-data=1332
|
||||
FromELF: creating hex file...
|
||||
"spitestf042\spitestf042.axf" - 0 Error(s), 1 Warning(s).
|
||||
"spitestf042\spitestf042.axf" - 0 Error(s), 0 Warning(s).
|
||||
|
||||
<h2>Software Packages used:</h2>
|
||||
|
||||
|
||||
@@ -32,8 +32,8 @@
|
||||
:1001E00000F020F838184D4100902046641E002889
|
||||
:1001F000DFDC019B00982946324607B0F0BD0000C5
|
||||
:10020000064C0125064E05E0E36807CC2B430C3C69
|
||||
:1002100098471034B442F7D3FFF756FF901C0008FC
|
||||
:10022000B01C000810B5202A04DB0146203A91409A
|
||||
:1002100098471034B442F7D3FFF756FFA41C0008E8
|
||||
:10022000C41C000810B5202A04DB0146203A914086
|
||||
:10023000002010BD914020239C1A0346E34019433F
|
||||
:10024000904010BD70B50024014620314A78022A42
|
||||
:1002500003D004218163012416E0026813680E258F
|
||||
@@ -110,10 +110,10 @@
|
||||
:1006C0006068072109028843E9680843606000F018
|
||||
:1006D0002DF86168084A0906090F515CC8400749AE
|
||||
:1006E00008600020FFF79AFE0020F8BD00200240BD
|
||||
:1006F0000010024088130000781C0008140000203D
|
||||
:1006F00000100240881300008C1C00081400002029
|
||||
:1007000001480068704700001400002004480549B3
|
||||
:1007100000684968044A4905490F515CC840704760
|
||||
:100720001400002000100240881C000830B516A3F9
|
||||
:1007200014000020001002409C1C000830B516A3E5
|
||||
:100730000FCB89B06C460FC417A30FCB0FC41A4957
|
||||
:100740004A680C20144604401848042C05D0184B65
|
||||
:10075000082C04D00C2C00D1184609B030BD9402EE
|
||||
@@ -425,40 +425,41 @@
|
||||
:101A70000000000010B5044C62602380A06061800B
|
||||
:101A800000F04CF810BD00000400002070B50D48B7
|
||||
:101A900041888068FEF798FC00280FD10A4D28463F
|
||||
:101AA00000F0C8F80446284600F0C4F8611C05D0D0
|
||||
:101AA00000F0D2F80446284600F0CEF8611C05D0BC
|
||||
:101AB000411C03D0A04203DD012070BD052070BD94
|
||||
:101AC000002070BD0400002010270000F3B581B095
|
||||
:101AD0000E4600F047F8012806D10F4800F0AAF89A
|
||||
:101AD0000E4600F047F8012806D10F4800F0B4F890
|
||||
:101AE0003238292801D30520FEBD00252C460727C2
|
||||
:101AF000FFF7CCFF0528F7D0391B88402843641C2A
|
||||
:101B0000C5B2082CF4DB002E02D1034800F092F895
|
||||
:101B0000C5B2082CF4DB002E02D1034800F09CF88B
|
||||
:101B1000019805700020FEBD1027000010B5064C8E
|
||||
:101B2000012221886068FEF754FC01226188A068C8
|
||||
:101B3000FEF74FFC10BD00000400002010B5024964
|
||||
:101B40000860FFF78FF910BD0000002013B5642373
|
||||
:101B5000012269460248FFF765FA00981CBD0000A3
|
||||
:101B6000C000002010B50E4841888068FEF72CFCAC
|
||||
:101B7000012802D1002000F05DF80A4800F05AF870
|
||||
:101B7000012802D1002000F067F80A4800F064F85C
|
||||
:101B80007D210901884207DC411C05D04B21C90099
|
||||
:101B9000884203DA042010BD032010BD012010BDCF
|
||||
:101BA000040000201027000008B5FEF727FCFFF70F
|
||||
:101BB00093FBFFF79DFAFFF735FBFFF7EBFAFFF713
|
||||
:101BC00007FB0F48FFF7BAFF0D482021B030FEF7A2
|
||||
:101BD000DBFA0C48012302460221FFF74BFF0AA063
|
||||
:101BE000FFF7BAFD002469460C7000216846FFF734
|
||||
:101BF0006DFF69460A78014607A0FFF7ADFDF2E7E1
|
||||
:101C0000800000200014004868656C6C6F20776FBE
|
||||
:101C1000726C640A00000000256420307825780A80
|
||||
:101C200000000000024800680068406A7047000039
|
||||
:101C300000000020F8B50746FFF7F4FF0D4C0090B8
|
||||
:101C40006188A068FEF7C0FB05460AE0FFF7EAFFDF
|
||||
:101C50000099461A002F04D0BE4202D90020C0438A
|
||||
:101C6000F8BD6188A068FEF7AFFBA842EED0304611
|
||||
:101C7000F8BD00000400002000000000000000008B
|
||||
:101C80000102030406070809000000000102030422
|
||||
:101C9000B01C0008000000201C000000781700089D
|
||||
:101CA000CC1C00081C000020340500008817000828
|
||||
:101CB0000000000000000000000000000000000024
|
||||
:0C1CC0000000000000127A00000000008C
|
||||
:101BC00007FB1448FFF7BAFF12482021B030FEF798
|
||||
:101BD000DBFA1148012302460221FFF74BFF0FA059
|
||||
:101BE000FFF7BAFD00250926F606684605700021B4
|
||||
:101BF000FFF76CFF040001D0012200E00022012168
|
||||
:101C00003046FEF7E6FB68460278214607A0FFF75C
|
||||
:101C1000A3FDEAE7800000200014004868656C6CB2
|
||||
:101C20006F20776F726C640A00000000256420301A
|
||||
:101C30007825780A00000000024800680068406AC1
|
||||
:101C40007047000000000020F8B50746FFF7F4FFDA
|
||||
:101C50000D4C00906188A068FEF7B6FB05460AE0CF
|
||||
:101C6000FFF7EAFF0099461A002F04D0BE4202D9BE
|
||||
:101C70000020C043F8BD6188A068FEF7A5FBA8421C
|
||||
:101C8000EED03046F8BD0000040000200000000047
|
||||
:101C9000000000000102030406070809000000001C
|
||||
:101CA00001020304C41C0008000000201C00000006
|
||||
:101CB00078170008E01C00081C0000203405000014
|
||||
:101CC000881700080000000000000000000000006D
|
||||
:101CD000000000000000000000127A000000000078
|
||||
:04000005080000C12E
|
||||
:00000001FF
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<title>Static Call Graph - [spitestf042\spitestf042.axf]</title></head>
|
||||
<body><HR>
|
||||
<H1>Static Call Graph for image spitestf042\spitestf042.axf</H1><HR>
|
||||
<BR><P>#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Tue Nov 16 12:18:56 2021
|
||||
<BR><P>#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Tue Nov 16 18:48:37 2021
|
||||
<BR><P>
|
||||
<H3>Maximum Stack Usage = 196 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
|
||||
Call chain for Maximum Stack Depth:</H3>
|
||||
@@ -252,6 +252,7 @@ Global Symbols
|
||||
|
||||
<P><STRONG><a name="[55]"></a>HAL_GPIO_WritePin</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f0xx_hal_gpio.o(i.HAL_GPIO_WritePin))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[61]">>></a> adb_release_lines
|
||||
<LI><a href="#[21]">>></a> main
|
||||
<LI><a href="#[54]">>></a> MX_GPIO_Init
|
||||
</UL>
|
||||
|
||||
@@ -649,12 +650,13 @@ Global Symbols
|
||||
<BR>[Called By]<UL><LI><a href="#[65]">>></a> adb_recv_cmd
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[21]"></a>main</STRONG> (Thumb, 88 bytes, Stack size 8 bytes, main.o(i.main))
|
||||
<P><STRONG><a name="[21]"></a>main</STRONG> (Thumb, 108 bytes, Stack size 8 bytes, main.o(i.main))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 196<LI>Call Chain = main ⇒ SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_RCC_GetSysClockFreq ⇒ __aeabi_uidivmod
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[65]">>></a> adb_recv_cmd
|
||||
<LI><a href="#[60]">>></a> adb_init
|
||||
<LI><a href="#[2f]">>></a> HAL_Init
|
||||
<LI><a href="#[55]">>></a> HAL_GPIO_WritePin
|
||||
<LI><a href="#[5b]">>></a> SystemClock_Config
|
||||
<LI><a href="#[59]">>></a> MX_USART1_UART_Init
|
||||
<LI><a href="#[57]">>></a> MX_TIM2_Init
|
||||
|
||||
@@ -65,6 +65,7 @@ Section Cross References
|
||||
main.o(i.main) refers to adb.o(i.adb_init) for adb_init
|
||||
main.o(i.main) refers to printf5.o(i.__0printf$5) for __2printf
|
||||
main.o(i.main) refers to adb.o(i.adb_recv_cmd) for adb_recv_cmd
|
||||
main.o(i.main) refers to stm32f0xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin
|
||||
main.o(i.main) refers to main.o(.bss) for .bss
|
||||
stm32f0xx_it.o(i.SPI1_IRQHandler) refers to stm32f0xx_hal_spi.o(i.HAL_SPI_IRQHandler) for HAL_SPI_IRQHandler
|
||||
stm32f0xx_it.o(i.SPI1_IRQHandler) refers to main.o(.bss) for hspi1
|
||||
@@ -1735,10 +1736,10 @@ Image Symbol Table
|
||||
i.fputc 0x08001b4c Section 0 main.o(i.fputc)
|
||||
i.look_for_atten 0x08001b64 Section 0 adb.o(i.look_for_atten)
|
||||
i.main 0x08001ba8 Section 0 main.o(i.main)
|
||||
i.micros 0x08001c24 Section 0 delay_us.o(i.micros)
|
||||
i.wait_until_change 0x08001c34 Section 0 adb.o(i.wait_until_change)
|
||||
.constdata 0x08001c78 Section 16 system_stm32f0xx.o(.constdata)
|
||||
.constdata 0x08001c88 Section 8 system_stm32f0xx.o(.constdata)
|
||||
i.micros 0x08001c38 Section 0 delay_us.o(i.micros)
|
||||
i.wait_until_change 0x08001c48 Section 0 adb.o(i.wait_until_change)
|
||||
.constdata 0x08001c8c Section 16 system_stm32f0xx.o(.constdata)
|
||||
.constdata 0x08001c9c Section 8 system_stm32f0xx.o(.constdata)
|
||||
.data 0x20000000 Section 4 delay_us.o(.data)
|
||||
.data 0x20000004 Section 12 adb.o(.data)
|
||||
.data 0x20000010 Section 4 stm32f0xx_hal.o(.data)
|
||||
@@ -1914,13 +1915,13 @@ Image Symbol Table
|
||||
delay_us_init 0x08001b3d Thumb Code 12 delay_us.o(i.delay_us_init)
|
||||
fputc 0x08001b4d Thumb Code 18 main.o(i.fputc)
|
||||
look_for_atten 0x08001b65 Thumb Code 60 adb.o(i.look_for_atten)
|
||||
main 0x08001ba9 Thumb Code 88 main.o(i.main)
|
||||
micros 0x08001c25 Thumb Code 10 delay_us.o(i.micros)
|
||||
wait_until_change 0x08001c35 Thumb Code 62 adb.o(i.wait_until_change)
|
||||
AHBPrescTable 0x08001c78 Data 16 system_stm32f0xx.o(.constdata)
|
||||
APBPrescTable 0x08001c88 Data 8 system_stm32f0xx.o(.constdata)
|
||||
Region$$Table$$Base 0x08001c90 Number 0 anon$$obj.o(Region$$Table)
|
||||
Region$$Table$$Limit 0x08001cb0 Number 0 anon$$obj.o(Region$$Table)
|
||||
main 0x08001ba9 Thumb Code 108 main.o(i.main)
|
||||
micros 0x08001c39 Thumb Code 10 delay_us.o(i.micros)
|
||||
wait_until_change 0x08001c49 Thumb Code 62 adb.o(i.wait_until_change)
|
||||
AHBPrescTable 0x08001c8c Data 16 system_stm32f0xx.o(.constdata)
|
||||
APBPrescTable 0x08001c9c Data 8 system_stm32f0xx.o(.constdata)
|
||||
Region$$Table$$Base 0x08001ca4 Number 0 anon$$obj.o(Region$$Table)
|
||||
Region$$Table$$Limit 0x08001cc4 Number 0 anon$$obj.o(Region$$Table)
|
||||
us_timer 0x20000000 Data 4 delay_us.o(.data)
|
||||
adb_psw_pin 0x20000004 Data 2 adb.o(.data)
|
||||
adb_data_pin 0x20000006 Data 2 adb.o(.data)
|
||||
@@ -1943,9 +1944,9 @@ Memory Map of the image
|
||||
|
||||
Image Entry point : 0x080000c1
|
||||
|
||||
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00001ccc, Max: 0x00008000, ABSOLUTE)
|
||||
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00001ce0, Max: 0x00008000, ABSOLUTE)
|
||||
|
||||
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00001cb0, Max: 0x00008000, ABSOLUTE)
|
||||
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00001cc4, Max: 0x00008000, ABSOLUTE)
|
||||
|
||||
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
@@ -2046,23 +2047,23 @@ Memory Map of the image
|
||||
0x08001b3c 0x08001b3c 0x00000010 Code RO 13 i.delay_us_init delay_us.o
|
||||
0x08001b4c 0x08001b4c 0x00000018 Code RO 253 i.fputc main.o
|
||||
0x08001b64 0x08001b64 0x00000044 Code RO 441 i.look_for_atten adb.o
|
||||
0x08001ba8 0x08001ba8 0x0000007c Code RO 254 i.main main.o
|
||||
0x08001c24 0x08001c24 0x00000010 Code RO 14 i.micros delay_us.o
|
||||
0x08001c34 0x08001c34 0x00000044 Code RO 443 i.wait_until_change adb.o
|
||||
0x08001c78 0x08001c78 0x00000010 Data RO 3486 .constdata system_stm32f0xx.o
|
||||
0x08001c88 0x08001c88 0x00000008 Data RO 3487 .constdata system_stm32f0xx.o
|
||||
0x08001c90 0x08001c90 0x00000020 Data RO 3858 Region$$Table anon$$obj.o
|
||||
0x08001ba8 0x08001ba8 0x00000090 Code RO 254 i.main main.o
|
||||
0x08001c38 0x08001c38 0x00000010 Code RO 14 i.micros delay_us.o
|
||||
0x08001c48 0x08001c48 0x00000044 Code RO 443 i.wait_until_change adb.o
|
||||
0x08001c8c 0x08001c8c 0x00000010 Data RO 3486 .constdata system_stm32f0xx.o
|
||||
0x08001c9c 0x08001c9c 0x00000008 Data RO 3487 .constdata system_stm32f0xx.o
|
||||
0x08001ca4 0x08001ca4 0x00000020 Data RO 3858 Region$$Table anon$$obj.o
|
||||
|
||||
|
||||
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08001cb0, Size: 0x00000550, Max: 0x00001800, ABSOLUTE)
|
||||
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08001cc4, Size: 0x00000550, Max: 0x00001800, ABSOLUTE)
|
||||
|
||||
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
0x20000000 0x08001cb0 0x00000004 Data RW 15 .data delay_us.o
|
||||
0x20000004 0x08001cb4 0x0000000c Data RW 444 .data adb.o
|
||||
0x20000010 0x08001cc0 0x00000004 Data RW 2317 .data stm32f0xx_hal.o
|
||||
0x20000014 0x08001cc4 0x00000004 Data RW 3488 .data system_stm32f0xx.o
|
||||
0x20000018 0x08001cc8 0x00000004 Data RW 3832 .data mc_p.l(stdout.o)
|
||||
0x20000000 0x08001cc4 0x00000004 Data RW 15 .data delay_us.o
|
||||
0x20000004 0x08001cc8 0x0000000c Data RW 444 .data adb.o
|
||||
0x20000010 0x08001cd4 0x00000004 Data RW 2317 .data stm32f0xx_hal.o
|
||||
0x20000014 0x08001cd8 0x00000004 Data RW 3488 .data system_stm32f0xx.o
|
||||
0x20000018 0x08001cdc 0x00000004 Data RW 3832 .data mc_p.l(stdout.o)
|
||||
0x2000001c - 0x00000134 Zero RW 255 .bss main.o
|
||||
0x20000150 - 0x00000400 Zero RW 1 STACK startup_stm32f042x6.o
|
||||
|
||||
@@ -2076,7 +2077,7 @@ Image component sizes
|
||||
|
||||
336 38 0 12 0 5250 adb.o
|
||||
32 10 0 4 0 463068 delay_us.o
|
||||
618 76 0 0 308 4973 main.o
|
||||
638 76 0 0 308 4973 main.o
|
||||
88 38 192 0 1024 648 startup_stm32f042x6.o
|
||||
94 18 0 4 0 3059 stm32f0xx_hal.o
|
||||
178 28 0 0 0 10527 stm32f0xx_hal_cortex.o
|
||||
@@ -2093,7 +2094,7 @@ Image component sizes
|
||||
92 14 24 4 0 1143 system_stm32f0xx.o
|
||||
|
||||
----------------------------------------------------------------------
|
||||
6000 450 248 24 1332 521497 Object Totals
|
||||
6020 450 248 24 1332 521497 Object Totals
|
||||
0 0 32 0 0 0 (incl. Generated)
|
||||
20 0 0 0 0 0 (incl. Padding)
|
||||
|
||||
@@ -2139,15 +2140,15 @@ Image component sizes
|
||||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug
|
||||
|
||||
7096 518 248 28 1332 519329 Grand Totals
|
||||
7096 518 248 28 1332 519329 ELF Image Totals
|
||||
7096 518 248 28 0 0 ROM Totals
|
||||
7116 518 248 28 1332 519329 Grand Totals
|
||||
7116 518 248 28 1332 519329 ELF Image Totals
|
||||
7116 518 248 28 0 0 ROM Totals
|
||||
|
||||
==============================================================================
|
||||
|
||||
Total RO Size (Code + RO Data) 7344 ( 7.17kB)
|
||||
Total RO Size (Code + RO Data) 7364 ( 7.19kB)
|
||||
Total RW Size (RW Data + ZI Data) 1360 ( 1.33kB)
|
||||
Total ROM Size (Code + RO Data + RW Data) 7372 ( 7.20kB)
|
||||
Total ROM Size (Code + RO Data + RW Data) 7392 ( 7.22kB)
|
||||
|
||||
==============================================================================
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h)(0x5DFA0893)
|
||||
I (../Inc/helpers.h)(0x617D5578)
|
||||
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h)(0x5DFA0893)
|
||||
I (../Inc/stm32f0xx_hal_conf.h)(0x61936D26)
|
||||
I (../Inc/main.h)(0x61936D27)
|
||||
I (../Inc/main.h)(0x61936D27)
|
||||
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h)(0x5DFA0893)
|
||||
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h)(0x5DFA0893)
|
||||
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h)(0x5DFA0880)
|
||||
|
||||
@@ -45,16 +45,6 @@ void adb_init(GPIO_TypeDef* data_port, uint16_t data_pin, GPIO_TypeDef* psw_port
|
||||
adb_release_lines();
|
||||
}
|
||||
|
||||
#define ADB_LINE_STATUS_ATTEN 1
|
||||
#define ADB_LINE_STATUS_IDLE 2
|
||||
#define ADB_LINE_STATUS_RESET 3
|
||||
#define ADB_LINE_STATUS_BUSY 4
|
||||
#define ADB_LINE_STATUS_ERROR 5
|
||||
|
||||
#define ADB_OK 0
|
||||
#define ADB_TIMEOUT -1
|
||||
#define ADB_ERROR ADB_LINE_STATUS_ERROR
|
||||
|
||||
int32_t wait_until_change(int32_t timeout_us)
|
||||
{
|
||||
uint32_t start_time = micros();
|
||||
@@ -97,6 +87,7 @@ uint8_t adb_read_bit(void)
|
||||
|
||||
uint8_t adb_recv_cmd(uint8_t* data, uint8_t srq)
|
||||
{
|
||||
*data = 0;
|
||||
uint8_t atten_result = look_for_atten();
|
||||
if(atten_result != ADB_LINE_STATUS_ATTEN)
|
||||
return atten_result;
|
||||
|
||||
@@ -178,10 +178,18 @@ int main(void)
|
||||
|
||||
/* USER CODE BEGIN 3 */
|
||||
|
||||
adb_data = 0;
|
||||
adb_status = adb_recv_cmd(&adb_data, 0);
|
||||
|
||||
if(adb_status != ADB_OK)
|
||||
continue
|
||||
|
||||
if(adb_status != 0)
|
||||
HAL_GPIO_WritePin(DEBUG0_GPIO_Port, DEBUG0_Pin, GPIO_PIN_SET);
|
||||
else
|
||||
HAL_GPIO_WritePin(DEBUG0_GPIO_Port, DEBUG0_Pin, GPIO_PIN_RESET);
|
||||
|
||||
printf("%d 0x%x\n", adb_status, adb_data);
|
||||
|
||||
|
||||
}
|
||||
/* USER CODE END 3 */
|
||||
|
||||
|
||||
@@ -26,4 +26,75 @@ void adb_recv_cmd(void)
|
||||
// parse_adb_cmd(adb_data);
|
||||
printf("%d 0x%x\n", adb_status, adb_data);
|
||||
HAL_GPIO_WritePin(DEBUG0_GPIO_Port, DEBUG0_Pin, GPIO_PIN_RESET);
|
||||
// HAL_Delay(4);
|
||||
// HAL_Delay(4);
|
||||
|
||||
if(adb_status != 0)
|
||||
HAL_GPIO_WritePin(DEBUG0_GPIO_Port, DEBUG0_Pin, GPIO_PIN_SET);
|
||||
else
|
||||
HAL_GPIO_WritePin(DEBUG0_GPIO_Port, DEBUG0_Pin, GPIO_PIN_RESET);
|
||||
|
||||
if((adb_data & 0xf) == 0x4)
|
||||
HAL_GPIO_WritePin(DEBUG1_GPIO_Port, DEBUG1_Pin, GPIO_PIN_SET);
|
||||
else
|
||||
HAL_GPIO_WritePin(DEBUG1_GPIO_Port, DEBUG1_Pin, GPIO_PIN_RESET);
|
||||
// printf("%d 0x%x %x\n", adb_status, adb_data, adb_data & 0xf);
|
||||
|
||||
|
||||
default addr:
|
||||
2 = keyboard
|
||||
3 = mouse
|
||||
|
||||
host: 0000 1111 = 0x0f addr 0 talk reg 3
|
||||
no response
|
||||
|
||||
host: 0001 1111 = 0x1f addr 1 talk reg 3
|
||||
no response
|
||||
|
||||
host: 0010 1111 = 0x2f addr 2 talk reg 3
|
||||
device: 0110 0000 0000 0101
|
||||
keyboard
|
||||
|
||||
host: 0011 1111 = 0x3f addr 3 talk reg 3
|
||||
device: 0110 1010 0000 0001
|
||||
mouse
|
||||
|
||||
host: 0100 1111 = 0x4f addr 4 talk reg 3
|
||||
no response
|
||||
|
||||
...
|
||||
|
||||
host: 1111 1111 = 0xff addr 15 talk reg 3
|
||||
no response
|
||||
|
||||
----------
|
||||
|
||||
host: 0010 1011 addr 2 listen reg 3
|
||||
0000 1111 1111 1110 change addr to 0xf
|
||||
|
||||
host: 00101111 addr 2 talk reg 3
|
||||
no response
|
||||
|
||||
host: 1111 1011 addr 0xf listen reg 3
|
||||
0000 0010 1111 1110 change addr to 0x2
|
||||
|
||||
host: 1111 1111 addr 0xf talk reg 3
|
||||
no response
|
||||
|
||||
-----------
|
||||
|
||||
host: 0011 1011 addr 3 listen reg 3
|
||||
0000 1111 1111 1110 change addr to 0xf
|
||||
|
||||
host: 0011 1111 addr 3 talk reg 3
|
||||
no response
|
||||
|
||||
host: 1111 1011 addr 0xf listen reg 3
|
||||
0000 0011 1111 1110 change addr to 0x3
|
||||
|
||||
|
||||
host: 1111 1111 addr 0xf talk reg 3
|
||||
no response
|
||||
|
||||
-----
|
||||
|
||||
host: 0010 1011
|
||||
Reference in New Issue
Block a user