tested on computer itself, might need to add a seperate mode

This commit is contained in:
dekunukem
2022-05-02 18:05:35 +01:00
parent 572ceea0e0
commit a8fd9fb21a
14 changed files with 249 additions and 252 deletions

View File

@@ -22,6 +22,8 @@ uint8_t ps2mouse_get_outgoing_data(mouse_event* this_event, ps2_outgoing_buf* pb
uint8_t ps2mouse_send_update(ps2_outgoing_buf* pbuf);
uint8_t ps2mouse_write_nowait(uint8_t data);
void ps2mouse_reset(void);
void ps2mouse_restore_defaults(void);
#define PS2_OK 0
#define PS2_ERROR_SCAN_DISABLED 1

View File

@@ -3606,9 +3606,9 @@
<ActiveTab>0</ActiveTab>
<Doc>
<Name>../Src/main.c</Name>
<ColumnNumber>3</ColumnNumber>
<TopLine>317</TopLine>
<CurrentLine>345</CurrentLine>
<ColumnNumber>19</ColumnNumber>
<TopLine>301</TopLine>
<CurrentLine>327</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>

View File

Binary file not shown.

View File

@@ -27,24 +27,11 @@ Project File Date: 03/28/2022
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'ibmpc'
compiling main.c...
../Src/main.c(311): warning: #223-D: function "ps2mouse_restore_defaults" declared implicitly
ps2mouse_restore_defaults();
../Src/main.c(489): warning: #188-D: enumerated type mixed with another type
HAL_GPIO_WritePin(GAMEPAD_B1_GPIO_Port, GAMEPAD_B1_Pin, !(this_gamepad_event->button_1));
../Src/main.c(490): warning: #188-D: enumerated type mixed with another type
HAL_GPIO_WritePin(GAMEPAD_B2_GPIO_Port, GAMEPAD_B2_Pin, !(this_gamepad_event->button_2));
../Src/main.c(491): warning: #188-D: enumerated type mixed with another type
HAL_GPIO_WritePin(GAMEPAD_B3_GPIO_Port, GAMEPAD_B3_Pin, !(this_gamepad_event->button_3));
../Src/main.c(492): warning: #188-D: enumerated type mixed with another type
HAL_GPIO_WritePin(GAMEPAD_B4_GPIO_Port, GAMEPAD_B4_Pin, !(this_gamepad_event->button_4));
../Src/main.c(723): warning: #177-D: function "MX_IWDG_Init" was declared but never referenced
static void MX_IWDG_Init(void)
../Src/main.c: 6 warnings, 0 errors
compiling ps2mouse.c...
linking...
Program Size: Code=16424 RO-data=428 RW-data=132 ZI-data=2164
Program Size: Code=16428 RO-data=428 RW-data=132 ZI-data=2164
FromELF: creating hex file...
"ibmpc\ibmpc.axf" - 0 Error(s), 6 Warning(s).
"ibmpc\ibmpc.axf" - 0 Error(s), 0 Warning(s).
<h2>Software Packages used:</h2>

View File

@@ -23,7 +23,7 @@
:10015000F6E710B513460A4604461946FFF7F0FFC6
:10016000204610BD064C0125064E05E0E36807CC8D
:100170002B430C3C98471034B442F7D3FFF7A4FF4D
:10018000B4410008D441000810B5022000F042F844
:10018000B8410008D841000810B5022000F042F83C
:1001900010BD70B50024014620314A78022A03D0F0
:1001A00004218163012416E0026813680E25AB4325
:1001B0001360026813685B085B0013600122056C22
@@ -172,10 +172,10 @@
:100AA00009028843E9680843606000F02DF8616836
:100AB000084A0906090F515CC84007490860002030
:100AC000FFF790FE0020F8BD002002400010024019
:100AD000881300009C410008740000200148006851
:100AD00088130000A041000874000020014800684D
:100AE0007047000074000020044805490068496808
:100AF000044A4905490F515CC84070477400002002
:100B000000100240AC41000830B516A30FCB89B0ED
:100B000000100240B041000830B516A30FCB89B0E9
:100B10006C460FC417A30FCB0FC41A494A680C20A8
:100B2000144604401848042C05D0184B082C04D057
:100B30000C2C00D1184609B030BD9402240F6D462C
@@ -694,11 +694,11 @@
:102B4000C901102C24D2214D285D002820D0002955
:102B50001FD002281CD11E482300FFF703FE0817D0
:102B6000050C170F17171517FF23013302465900DD
:102B700000F074FB0AE001F0C9F907E010230246F7
:102B700000F074FB0AE001F0CBF907E010230246F5
:102B8000202100F04FFF01E0FFF7B8FF012028559A
:102B900070BD0128FCD1022028552300FFF7E2FD7B
:102BA0000805060B050E05051305F1E700F0D6FC38
:102BB00000F0E4FC70BD01F0F9F970BD00F0CCFF4D
:102BB00000F0E4FC70BD01F0FBF970BD00F0CCFF4B
:102BC00000F0BAFF70BDFFF799FF70BDE102002071
:102BD00000040048102803D20249085C012800D0F4
:102BE00000207047E102002070B515460E460446ED
@@ -735,9 +735,9 @@
:102DD000E3FF00210220019100900B462278554923
:102DE00055A0FFF7AFFC5948FFF7CCFD00F004FAFF
:102DF000FF250135564E6F0032462B4639461046A8
:102E000000F02CFA32462B463946104601F088F87D
:102E000000F02CFA32462B463946104601F08AF87B
:102E1000324610232021104600F004FE0220FFF766
:102E2000D9FE002801D001F071F810214948FFF7C0
:102E2000D9FE002801D001F073F810214948FFF7BE
:102E3000F3FE3F481021143000F0A1F93C48102166
:102E40001C30FFF7CCFD00F0E5F842482021603847
:102E5000FDF77DF93F4A3D48203A1146202340398D
@@ -745,16 +745,16 @@
:102E7000C1F8002812D13CA0FFF764FC002708210C
:102E80003046FDF784FA3220FDF7A7F97F1C0A2FA0
:102E9000F5DB012208213046FDF77DFA6421AA20E6
:102EA00000F001FF6421002000F0FDFE0927FF066D
:102EA00000F009FF6421002000F005FF0927FF065C
:102EB0000420FFF78FFE002809D00121C903304606
:102EC000FDF760FA002802D000F076FE06E005204B
:102ED000FFF780FE002801D000F0D6F80120FFF7B0
:102EE00079FE002808D029463846FDF74BFA00281D
:102EF00002D000F04BFB0CE00220FFF76BFE002835
:102F000007D029463846FDF73DFA002801D001F0E8
:102F10006DF80720FFF75EFE002801D0FFF79CFD4B
:102F2000607A0028C4D000F07DFF0000C0F7FF1FCA
:102F30004C0000206541000825730A7265762564FF
:102F10006FF80720FFF75EFE002801D0FFF79CFD49
:102F2000607A0028C4D000F07FFF0000C0F7FF1FC8
:102F30004C0000206941000825730A7265762564FB
:102F4000207625642E25642E25640A003401002095
:102F500000040048B4020020666C6173685F736906
:102F60007A653A2025640A004469676974616C20B7
@@ -774,7 +774,7 @@
:1030400003B583B0042802D3FF2005B000BD0849B2
:103050006423085C01210007020E04A80293019179
:1030600000900B4658210348FDF7D4FAEDE7000025
:103070006141000884000020024800680068406A3E
:103070006541000884000020024800680068406A3A
:10308000704700000000002070B52E4C207A00250B
:10309000002807D04D20E0710122E11D2A48FEF7EB
:1030A000FCFB25722748143000F083F8002806D076
@@ -836,7 +836,7 @@
:1034200000F00EF9002815D114220021772000F0B9
:1034300007F900280ED110BD022010BD1422012171
:1034400020468CE714220021E02000F0F9F8002843
:1034500000D149E7452010BD032010BDE840000819
:1034500000D149E7452010BD032010BDEC40000815
:10346000F3B581B00F4600250126FCF79BFF3A4CCF
:10347000206107E0FCF796FF2169401AB84201D3AA
:103480000420FEBDFFF7C8FE0128F3D11220FFF78C
@@ -910,25 +910,25 @@
:1038C000EC281ED0A17902291DD0E638012703007B
:1038D000FEF748FF11989E8A5D5A5550504B50454F
:1038E000503C2523201D500000F036F91421FA2009
:1038F00000F0E6F9FA21AA2000F0D5F91421002001
:1039000002E0E07933E0142100F0CDF9F8BD00F0D9
:1038F00000F0EEF9FA21AA2000F0DDF914210020F1
:1039000002E0E07933E0142100F0D5F9F8BD00F0D1
:103910002FF92FE0002020702AE0277028E01421E2
:10392000FA2000F0CDF900F075FA3D489621401CD0
:10392000FA2000F0D5F900F077FA3D489621401CC6
:1039300000F086F80028E9D1394A207918326178F8
:103940001154072816D2401C207113E000F062FACF
:103950001421FA2000F0B4F900206071D3E700F0E0
:1039600059FAA079E071A77104E0E1710220A07119
:1039700000F050FA1421FA2000F0A2F9F8BD142149
:10398000FA2000F09DF93AE0E1710020EFE7142100
:10399000FA2000F095F9A079012800D1402520787F
:103940001154072816D2401C207113E000F064FACD
:103950001421FA2000F0BCF900206071D3E700F0D8
:103960005BFAA079E071A77104E0E1710220A07117
:1039700000F052FA1421FA2000F0AAF9F8BD14213F
:10398000FA2000F0A5F93AE0E1710020EFE71421F8
:10399000FA2000F09DF9A079012800D14025207877
:1039A000002801D020200543E078022801D1102012
:1039B0000543B079002801D004200543F0790028A0
:1039C00001D002200543307A002800D03D43142165
:1039D000284600F068F91421A07800F064F9142159
:1039E000607800F060F90AE01421FA2000F068F92C
:1039D000284600F070F91421A07800F06CF9142149
:1039E000607800F068F90AE01421FA2000F070F91C
:1039F0000B489621801C00F023F80028BFD000F06F
:103A000009FAF8BD1421FA2000F05AF9E770F8BD60
:103A10001421FA2000F054F90220E070F8BD0000F3
:103A00000BFAF8BD1421FA2000F062F9E770F8BD56
:103A10001421FA2000F05CF90220E070F8BD0000EB
:103A20001800002010B5054C2061A1816261E3817E
:103A300000F092F800F080F810BD0000180000209F
:103A4000F3B581B00F4600250126FCF7ABFC044618
@@ -951,115 +951,115 @@
:103B500010BD00001800002000B500F009F803496E
:103B6000002008718861C861487100BD18000020FC
:103B700000B5074864214170022181700121C170A4
:103B8000002101708171C17100F044F900BD000095
:103B8000017000218171C17100F046F900BD000093
:103B90001800002070B50546002407E02819407879
:103BA000FF2100F080F8002804D1641C2878A0428E
:103BB000F4DC002070BD0000F8B52E4F0121C903D0
:103BC0003846FCF7DFFB00262B4C0546012808D1C0
:103BA000032100F088F8002804D1641C2878A04282
:103BB000F4DC002070BD0000F8B5324F0121C903CC
:103BC0003846FCF7DFFB00262F4C0546012808D1BC
:103BD000A07A002805D101263220FCF7FEFAFFF773
:103BE000C7FFA572FFF7E0FD607102281BD0012816
:103BF0001CD0002E07D06421AA2000F054F86421C4
:103C0000002000F050F81C481430FFF7D2FA0028CA
:103C100008D01A49FFF7F8FD002812D016481430D2
:103C2000FFF7D2FAF8BDFFF787FFF8BD12480A2167
:103C3000801CFFF705FF1149A0781839FFF73AFEFD
:103C4000F8BD0E48FFF7A6FF45280DD10122082137
:103C50003846FCF7A0FBFFF7A7FD0328FBD10022A5
:103C600008213846FCF797FB03481430FFF7B8FAF1
:103C7000F8BD0000000400484C000020D8020020DD
:103C800070B50546FCF78EFB044606E0FCF78AFBA0
:103C9000001BA84201D3042070BDFFF785FD032857
:103CA000F4D1002070BD10B504460846FFF7E8FFC8
:103CB000002801D0042010BD204600F013F810BDEC
:103CC00010B504460846FFF7DBFF002801D00420AA
:103CD00010BDAF208000FEF74BFE204600F002F83A
:103CE00010BD0000F8B54A4C054601260022E189C6
:103CF0006069FCF750FB1220FEF73AFE0022A18912
:103D00002069FCF748FB2420FEF732FE0122A1893E
:103D10002069FCF740FB1220FEF72AFEA1892069EA
:103D2000FCF730FB00286FD00027E80701D0012204
:103D300000E00022E1896069FCF72DFB1220FEF70C
:103D400017FE0022A1892069FCF725FB2420FEF73D
:103D50000FFE0122A1892069FCF71DFB1220FEF74E
:103D600007FEA1892069FCF70DFB00284CD0E8076D
:103D7000C00F46406D087F1C082FD6DB002E01D0F7
:103D8000012200E00022E1896069FCF704FB1220B7
:103D9000FEF7EEFD0022A1892069FCF7FCFA242041
:103DA000FEF7E6FD0122A1892069FCF7F4FA122052
:103DB000FEF7DEFDA1892069FCF7E4FA002823D094
:103DC0000122E1896069FCF7E6FA1220FEF7D0FDD6
:103DD0000022A1892069FCF7DEFA2420FEF7C8FD45
:103DE0000122A1892069FCF7D6FA1220FEF7C0FD56
:103DF000A1892069FCF7C6FA002805D0FA20FEF751
:103E0000B7FD0020F8BDFFE7FFF796FE4520F9E774
:103E1000180000200248002101724172817270472F
:103E20001800002011A0FEF78DFC134D0024295D21
:103E300012A0FEF787FC641C202CF8DB10A0FEF714
:103E400081FC134D002408212846FCF7A0FA6420C9
:103E5000FCF7C3F9641C642CF5DBBFF34F8F0E49EC
:103E60000C48C860BFF34F8F00BFFDE75350492097
:103E70004552524F520A000074020020256420006F
:103E80000A7265626F6F74696E672E2E2E0A0000CB
:103E9000000400480400FA0500ED00E070B5064695
:103EA000FCF780FA0446084D06E0FCF77BFA001B9D
:103EB000B04201D9042070BD29886868FCF762FA15
:103EC0000028F2D0002070BD3800002010B50E4C44
:103ED00021886068FCF756FA012802D1FCF762FAE3
:103EE000E060FCF75FFAE168401A14280BD9C8209B
:103EF000FFF7D4FF1420FCF770F9AA2000F094F823
:103F00000A20FCF76AF910BD3800002010B500F057
:103F10005DF8FCF747FA0149C86010BD3800002081
:103F200010B5034C60602180A260638010BD00006A
:103F30003800002070B5044666380300FEF712FC16
:103F40000A1406080A0C0E101216181A482413E058
:103F50004A2411E04B240FE04E240DE04F240BE0E7
:103F6000502409E0512407E0472405E0522403E0EF
:103F7000532401E0532C0BD8022902D000290DD084
:103F80000EE0FCF70FFA084D2969401A502801D8B5
:103F9000002070BDFCF706FA286101E08020044390
:103FA000204600F041F870BD3800002010B5064CE6
:103FB000012221886068FCF7EEF901226188A0687F
:103FC000FCF7E9F910BD00003800002010B5064CE0
:103FD000012221886068FCF7DEF900226188A06870
:103FE000FCF7D9F910BD00003800002010B5FFF72C
:103FF0006DFF0B4A0B48511EFEF72CFE00280AD11C
:104000000748001F0179C078FFF794FF452803D0C7
:104010000448FEF72FFE10BD0120FCF7DEF810BDAE
:1040200050000020B402002070B52E4C05462188B7
:104030006068FCF7A7F900282AD000222188606870
:10404000FCF7A9F90520FEF793FC01226188A0681E
:10405000FCF7A1F96E20FEF78BFC6188A068FCF7E5
:1040600091F9002814D0012221886068FCF793F9A7
:104070004120FEF77DFC002221886068FCF78BF967
:104080001E20FEF775FC0026E80705D0012204E09B
:10409000FFF79CFF452070BD00226188A068FCF7F7
:1040A0007AF9012221886068FCF775F94120FEF752
:1040B0005FFC002221886068FCF76DF91E20FEF786
:1040C00057FC6D08761C082EDEDB01222188606813
:1040D000FCF761F900226188A068FCF75CF9002018
:1040E00070BD000038000020FF76161E26252E36F3
:1040F0003D3E46454E55660D151D242D2C353C4341
:10410000444D545B5A141C1B232B34333B424B4C01
:10411000520E125D1A22212A32313A41494A597C03
:104120001129580506040C030B830A0109777E6CDC
:10413000757D7B6B73747969727A7071FFFF61783A
:10414000075A144AFF11FF6C757D6B7469727A709F
:1041500071FFFFFFFFFFFFFFFFFFFFFFFFFF1F27B5
:104160002F000106075553423456432050726F7496
:104170006F636F6C20426F6172640A49424D205038
:104180004320436F6D70617469626C650A64656B8E
:10419000754E756B656D20323032320000000000C4
:1041A00000000000010203040607080900000000E7
:1041B00001020304D4410008000000208400000034
:1041C0007E27000858420008840000207408000080
:1041D0008E2700080000000002010000000000001F
:103BF0001CD0002E07D06421AA2000F05CF86421BC
:103C0000002000F058F820481430FFF7D2FA0028BE
:103C100008D01E49FFF7F8FD002812D01A481430CA
:103C2000FFF7D2FAF8BDFFF787FFF8BD16480A2163
:103C3000801CFFF705FF1549A0781839FFF73AFEF9
:103C4000F8BD1248FFF7A6FF002816D00122082170
:103C50003846FCF7A0FBFCF7A5FB044604E0FCF7A4
:103C6000A1FB001B192803D8FFF79EFD0328F6D1FE
:103C7000002208213846FCF78EFB03481430FFF77A
:103C8000AFFAF8BD000400484C000020D802002024
:103C900070B50546FCF786FB044606E0FCF782FBA0
:103CA000001BA84201D3042070BDFFF77DFD03284F
:103CB000F4D1002070BD10B504460846FFF7E8FFB8
:103CC000002801D0042010BD204600F013F810BDDC
:103CD00010B504460846FFF7DBFF002801D004209A
:103CE00010BDAF208000FEF743FE204600F002F832
:103CF00010BD0000F8B5474C054601260022E189B9
:103D00006069FCF748FB1220FEF732FE0022A18911
:103D10002069FCF740FB2420FEF72AFE0122A1893E
:103D20002069FCF738FB1220FEF722FEA1892069EA
:103D3000FCF728FB002868D00027E80701D0012203
:103D400000E00022E1896069FCF725FB1220FEF704
:103D50000FFE0022A1892069FCF71DFB2420FEF73D
:103D600007FE0122A1892069FCF715FB1220FEF74E
:103D7000FFFDA1892069FCF705FB002845D0E80775
:103D8000C00F46406D087F1C082FD6DB002E01D0E7
:103D9000012200E00022E1896069FCF7FCFA1220B0
:103DA000FEF7E6FD0022A1892069FCF7F4FA242041
:103DB000FEF7DEFD0122A1892069FCF7ECFA122052
:103DC000FEF7D6FDA1892069FCF7DCFA00281CD09B
:103DD0000122E1896069FCF7DEFA1220FEF7C8FDD6
:103DE0000022A1892069FCF7D6FA2420FEF7C0FD45
:103DF0000122A1892069FCF7CEFA1220FEF7B8FD56
:103E0000FA20FEF7B5FD0020F8BDFFF795FE45202E
:103E1000F8BD000018000020024800210172417224
:103E2000817270471800002011A0FEF78BFC134D23
:103E30000024295D12A0FEF785FC641C202CF8DB11
:103E400010A0FEF77FFC134D002408212846FCF744
:103E50009EFA6420FCF7C1F9641C642CF5DBBFF307
:103E60004F8F0E490C48C860BFF34F8F00BFFDE76E
:103E7000535049204552524F520A0000740200200C
:103E8000256420000A7265626F6F74696E672E2E5A
:103E90002E0A0000000400480400FA0500ED00E0CE
:103EA00070B50646FCF77EFA0446084D06E0FCF7BE
:103EB00079FA001BB04201D9042070BD29886868D6
:103EC000FCF760FA0028F2D0002070BD3800002016
:103ED00010B50E4C21886068FCF754FA012802D115
:103EE000FCF760FAE060FCF75DFAE168401A14281C
:103EF0000BD9C820FFF7D4FF1420FCF76EF9AA20D5
:103F000000F094F80A20FCF768F910BD3800002092
:103F100010B500F05DF8FCF745FA0149C86010BD26
:103F20003800002010B5034C60602180A2606380DF
:103F300010BD00003800002070B50446663803004C
:103F4000FEF710FC0A1406080A0C0E101216181AB6
:103F5000482413E04A2411E04B240FE04E240DE0E6
:103F60004F240BE0502409E0512407E0472405E0EA
:103F7000522403E0532401E0532C0BD8022902D031
:103F800000290DD00EE0FCF70DFA084D2969401A02
:103F9000502801D8002070BDFCF704FA286101E028
:103FA00080200443204600F041F870BD3800002016
:103FB00010B5064C012221886068FCF7ECF901225B
:103FC0006188A068FCF7E7F910BD00003800002008
:103FD00010B5064C012221886068FCF7DCF900224C
:103FE0006188A068FCF7D7F910BD000038000020F8
:103FF00010B5FFF76DFF0B4A0B48511EFEF72AFE66
:1040000000280AD10748001F0179C078FFF794FF04
:10401000452803D00448FEF72DFE10BD0120FCF713
:10402000DCF810BD50000020B402002070B52E4C0A
:10403000054621886068FCF7A5F900282AD00022EF
:1040400021886068FCF7A7F90520FEF791FC0122A2
:104050006188A068FCF79FF96E20FEF789FC6188F3
:10406000A068FCF78FF9002814D00122218860682D
:10407000FCF791F94120FEF77BFC00222188606863
:10408000FCF789F91E20FEF773FC0026E80705D02F
:10409000012204E0FFF79CFF452070BD00226188EB
:1040A000A068FCF778F9012221886068FCF773F9B1
:1040B0004120FEF75DFC002221886068FCF76BF967
:1040C0001E20FEF755FC6D08761C082EDEDB012253
:1040D00021886068FCF75FF900226188A068FCF71E
:1040E0005AF9002070BD000038000020FF76161E2F
:1040F00026252E363D3E46454E55660D151D242D72
:104100002C353C43444D545B5A141C1B232B343335
:104110003B424B4C520E125D1A22212A32313A4157
:10412000494A597C1129580506040C030B830A01DE
:1041300009777E6C757D7B6B73747969727A7071A7
:10414000FFFF6178075A144AFF11FF6C757D6B748D
:1041500069727A7071FFFFFFFFFFFFFFFFFFFFFF34
:10416000FFFF1F272F0001060755534234564320F7
:1041700050726F746F636F6C20426F6172640A4992
:10418000424D20504320436F6D70617469626C65CD
:104190000A64656B754E756B656D20323032320086
:1041A00000000000000000000102030406070809E7
:1041B0000000000001020304D841000800000020B4
:1041C000840000007E2700085C4200088400002074
:1041D000740800008E2700080000000002010000A3
:1041E00000000000000000000000000000000000CF
:1041F00000000000000000000000000000000000BF
:1042000000000000000000000000000000000000AE
:10421000000000000000000000000000000000009E
:10422000000000000000000000000000000000008E
:10423000000000000000000000000000000000007E
:10424000000000000000000000127A0000000000E2
:08425000000000000000000066
:1042400000000000000000000000000000127A00E2
:0C42500000000000000000000000000062
:04000005080000C12E
:00000001FF

View File

@@ -3,7 +3,7 @@
<title>Static Call Graph - [ibmpc\ibmpc.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image ibmpc\ibmpc.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Mon May 02 10:31:10 2022
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Mon May 02 18:00:00 2022
<BR><P>
<H3>Maximum Stack Usage = 212 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
@@ -374,6 +374,7 @@ Global Symbols
<LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_OscConfig
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
<LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCCEx_PeriphCLKConfig
<LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2mouse_update
<LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_WaitOnFlagUntilTimeout
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_CheckIdleState
</UL>
@@ -1402,7 +1403,7 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2mouse_update
</UL>
<P><STRONG><a name="[b8]"></a>ps2mouse_update</STRONG> (Thumb, 186 bytes, Stack size 24 bytes, main.o(i.ps2mouse_update))
<P><STRONG><a name="[b8]"></a>ps2mouse_update</STRONG> (Thumb, 204 bytes, Stack size 24 bytes, main.o(i.ps2mouse_update))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = ps2mouse_update &rArr; ps2mouse_host_req_reply &rArr; ps2mouse_write_delay_start &rArr; ps2mouse_write_nowait &rArr; ps2mouse_release_lines
</UL>
<BR>[Calls]<UL><LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Delay
@@ -1414,6 +1415,7 @@ Global Symbols
<LI><a href="#[ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2mouse_host_req_reply
<LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2mouse_get_outgoing_data
<LI><a href="#[c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2mouse_get_bus_status
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
<LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_ReadPin
<LI><a href="#[c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_reset
@@ -1455,7 +1457,7 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2mouse_host_req_reply
</UL>
<P><STRONG><a name="[d1]"></a>ps2mouse_write_nowait</STRONG> (Thumb, 300 bytes, Stack size 24 bytes, ps2mouse.o(i.ps2mouse_write_nowait))
<P><STRONG><a name="[d1]"></a>ps2mouse_write_nowait</STRONG> (Thumb, 286 bytes, Stack size 24 bytes, ps2mouse.o(i.ps2mouse_write_nowait))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = ps2mouse_write_nowait &rArr; ps2mouse_release_lines
</UL>
<BR>[Calls]<UL><LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2mouse_release_lines

View File

@@ -284,6 +284,7 @@ Section Cross References
main.o(i.ps2mouse_update) refers to ps2mouse.o(i.ps2mouse_host_req_reply) for ps2mouse_host_req_reply
main.o(i.ps2mouse_update) refers to ps2mouse.o(i.ps2mouse_send_update) for ps2mouse_send_update
main.o(i.ps2mouse_update) refers to stm32f0xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin
main.o(i.ps2mouse_update) refers to stm32f0xx_hal.o(i.HAL_GetTick) for HAL_GetTick
main.o(i.ps2mouse_update) refers to helpers.o(i.mouse_buf_reset) for mouse_buf_reset
main.o(i.ps2mouse_update) refers to main.o(.data) for .data
main.o(i.ps2mouse_update) refers to main.o(.bss) for .bss
@@ -2050,26 +2051,26 @@ Image Symbol Table
i.ps2mouse_restore_defaults 0x08003b70 Section 0 ps2mouse.o(i.ps2mouse_restore_defaults)
i.ps2mouse_send_update 0x08003b94 Section 0 ps2mouse.o(i.ps2mouse_send_update)
i.ps2mouse_update 0x08003bb8 Section 0 main.o(i.ps2mouse_update)
i.ps2mouse_wait_for_idle 0x08003c80 Section 0 ps2mouse.o(i.ps2mouse_wait_for_idle)
i.ps2mouse_write 0x08003ca6 Section 0 ps2mouse.o(i.ps2mouse_write)
i.ps2mouse_write_delay_start 0x08003cc0 Section 0 ps2mouse.o(i.ps2mouse_write_delay_start)
i.ps2mouse_write_nowait 0x08003ce4 Section 0 ps2mouse.o(i.ps2mouse_write_nowait)
i.reset_accumulators 0x08003e14 Section 0 ps2mouse.o(i.reset_accumulators)
i.spi_error_dump_reboot 0x08003e24 Section 0 main.o(i.spi_error_dump_reboot)
i.wait_for_clk_high 0x08003e9c Section 0 xt_kb.o(i.wait_for_clk_high)
i.xtkb_check_for_softreset 0x08003ecc Section 0 xt_kb.o(i.xtkb_check_for_softreset)
i.xtkb_enable 0x08003f0c Section 0 xt_kb.o(i.xtkb_enable)
i.xtkb_init 0x08003f20 Section 0 xt_kb.o(i.xtkb_init)
i.xtkb_press_key 0x08003f34 Section 0 xt_kb.o(i.xtkb_press_key)
i.xtkb_release_lines 0x08003fac Section 0 xt_kb.o(i.xtkb_release_lines)
i.xtkb_reset_bus 0x08003fcc Section 0 xt_kb.o(i.xtkb_reset_bus)
i.xtkb_update 0x08003fec Section 0 main.o(i.xtkb_update)
i.xtkb_write 0x08004028 Section 0 xt_kb.o(i.xtkb_write)
.constdata 0x080040e8 Section 121 ps2kb.o(.constdata)
.constdata 0x08004161 Section 4 mcp4451.o(.constdata)
.constdata 0x08004165 Section 55 main.o(.constdata)
.constdata 0x0800419c Section 16 system_stm32f0xx.o(.constdata)
.constdata 0x080041ac Section 8 system_stm32f0xx.o(.constdata)
i.ps2mouse_wait_for_idle 0x08003c90 Section 0 ps2mouse.o(i.ps2mouse_wait_for_idle)
i.ps2mouse_write 0x08003cb6 Section 0 ps2mouse.o(i.ps2mouse_write)
i.ps2mouse_write_delay_start 0x08003cd0 Section 0 ps2mouse.o(i.ps2mouse_write_delay_start)
i.ps2mouse_write_nowait 0x08003cf4 Section 0 ps2mouse.o(i.ps2mouse_write_nowait)
i.reset_accumulators 0x08003e18 Section 0 ps2mouse.o(i.reset_accumulators)
i.spi_error_dump_reboot 0x08003e28 Section 0 main.o(i.spi_error_dump_reboot)
i.wait_for_clk_high 0x08003ea0 Section 0 xt_kb.o(i.wait_for_clk_high)
i.xtkb_check_for_softreset 0x08003ed0 Section 0 xt_kb.o(i.xtkb_check_for_softreset)
i.xtkb_enable 0x08003f10 Section 0 xt_kb.o(i.xtkb_enable)
i.xtkb_init 0x08003f24 Section 0 xt_kb.o(i.xtkb_init)
i.xtkb_press_key 0x08003f38 Section 0 xt_kb.o(i.xtkb_press_key)
i.xtkb_release_lines 0x08003fb0 Section 0 xt_kb.o(i.xtkb_release_lines)
i.xtkb_reset_bus 0x08003fd0 Section 0 xt_kb.o(i.xtkb_reset_bus)
i.xtkb_update 0x08003ff0 Section 0 main.o(i.xtkb_update)
i.xtkb_write 0x0800402c Section 0 xt_kb.o(i.xtkb_write)
.constdata 0x080040ec Section 121 ps2kb.o(.constdata)
.constdata 0x08004165 Section 4 mcp4451.o(.constdata)
.constdata 0x08004169 Section 55 main.o(.constdata)
.constdata 0x080041a0 Section 16 system_stm32f0xx.o(.constdata)
.constdata 0x080041b0 Section 8 system_stm32f0xx.o(.constdata)
.data 0x20000000 Section 4 delay_us.o(.data)
.data 0x20000004 Section 20 ps2kb.o(.data)
.data 0x20000018 Section 32 ps2mouse.o(.data)
@@ -2325,30 +2326,30 @@ Image Symbol Table
ps2mouse_reset 0x08003b59 Thumb Code 20 ps2mouse.o(i.ps2mouse_reset)
ps2mouse_restore_defaults 0x08003b71 Thumb Code 30 ps2mouse.o(i.ps2mouse_restore_defaults)
ps2mouse_send_update 0x08003b95 Thumb Code 34 ps2mouse.o(i.ps2mouse_send_update)
ps2mouse_update 0x08003bb9 Thumb Code 186 main.o(i.ps2mouse_update)
ps2mouse_wait_for_idle 0x08003c81 Thumb Code 38 ps2mouse.o(i.ps2mouse_wait_for_idle)
ps2mouse_write 0x08003ca7 Thumb Code 26 ps2mouse.o(i.ps2mouse_write)
ps2mouse_write_delay_start 0x08003cc1 Thumb Code 34 ps2mouse.o(i.ps2mouse_write_delay_start)
ps2mouse_write_nowait 0x08003ce5 Thumb Code 300 ps2mouse.o(i.ps2mouse_write_nowait)
reset_accumulators 0x08003e15 Thumb Code 12 ps2mouse.o(i.reset_accumulators)
spi_error_dump_reboot 0x08003e25 Thumb Code 72 main.o(i.spi_error_dump_reboot)
wait_for_clk_high 0x08003e9d Thumb Code 44 xt_kb.o(i.wait_for_clk_high)
xtkb_check_for_softreset 0x08003ecd Thumb Code 60 xt_kb.o(i.xtkb_check_for_softreset)
xtkb_enable 0x08003f0d Thumb Code 16 xt_kb.o(i.xtkb_enable)
xtkb_init 0x08003f21 Thumb Code 14 xt_kb.o(i.xtkb_init)
xtkb_press_key 0x08003f35 Thumb Code 116 xt_kb.o(i.xtkb_press_key)
xtkb_release_lines 0x08003fad Thumb Code 26 xt_kb.o(i.xtkb_release_lines)
xtkb_reset_bus 0x08003fcd Thumb Code 26 xt_kb.o(i.xtkb_reset_bus)
xtkb_update 0x08003fed Thumb Code 52 main.o(i.xtkb_update)
xtkb_write 0x08004029 Thumb Code 186 xt_kb.o(i.xtkb_write)
linux_keycode_to_ps2_scancode_lookup_single_byte_codeset2 0x080040e8 Data 89 ps2kb.o(.constdata)
linux_keycode_to_ps2_scancode_lookup_special_codeset2 0x08004141 Data 32 ps2kb.o(.constdata)
mcp4451_wiper_id_to_reg_addr_lookup 0x08004161 Data 4 mcp4451.o(.constdata)
boot_message 0x08004165 Data 55 main.o(.constdata)
AHBPrescTable 0x0800419c Data 16 system_stm32f0xx.o(.constdata)
APBPrescTable 0x080041ac Data 8 system_stm32f0xx.o(.constdata)
Region$$Table$$Base 0x080041b4 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x080041d4 Number 0 anon$$obj.o(Region$$Table)
ps2mouse_update 0x08003bb9 Thumb Code 204 main.o(i.ps2mouse_update)
ps2mouse_wait_for_idle 0x08003c91 Thumb Code 38 ps2mouse.o(i.ps2mouse_wait_for_idle)
ps2mouse_write 0x08003cb7 Thumb Code 26 ps2mouse.o(i.ps2mouse_write)
ps2mouse_write_delay_start 0x08003cd1 Thumb Code 34 ps2mouse.o(i.ps2mouse_write_delay_start)
ps2mouse_write_nowait 0x08003cf5 Thumb Code 286 ps2mouse.o(i.ps2mouse_write_nowait)
reset_accumulators 0x08003e19 Thumb Code 12 ps2mouse.o(i.reset_accumulators)
spi_error_dump_reboot 0x08003e29 Thumb Code 72 main.o(i.spi_error_dump_reboot)
wait_for_clk_high 0x08003ea1 Thumb Code 44 xt_kb.o(i.wait_for_clk_high)
xtkb_check_for_softreset 0x08003ed1 Thumb Code 60 xt_kb.o(i.xtkb_check_for_softreset)
xtkb_enable 0x08003f11 Thumb Code 16 xt_kb.o(i.xtkb_enable)
xtkb_init 0x08003f25 Thumb Code 14 xt_kb.o(i.xtkb_init)
xtkb_press_key 0x08003f39 Thumb Code 116 xt_kb.o(i.xtkb_press_key)
xtkb_release_lines 0x08003fb1 Thumb Code 26 xt_kb.o(i.xtkb_release_lines)
xtkb_reset_bus 0x08003fd1 Thumb Code 26 xt_kb.o(i.xtkb_reset_bus)
xtkb_update 0x08003ff1 Thumb Code 52 main.o(i.xtkb_update)
xtkb_write 0x0800402d Thumb Code 186 xt_kb.o(i.xtkb_write)
linux_keycode_to_ps2_scancode_lookup_single_byte_codeset2 0x080040ec Data 89 ps2kb.o(.constdata)
linux_keycode_to_ps2_scancode_lookup_special_codeset2 0x08004145 Data 32 ps2kb.o(.constdata)
mcp4451_wiper_id_to_reg_addr_lookup 0x08004165 Data 4 mcp4451.o(.constdata)
boot_message 0x08004169 Data 55 main.o(.constdata)
AHBPrescTable 0x080041a0 Data 16 system_stm32f0xx.o(.constdata)
APBPrescTable 0x080041b0 Data 8 system_stm32f0xx.o(.constdata)
Region$$Table$$Base 0x080041b8 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x080041d8 Number 0 anon$$obj.o(Region$$Table)
us_timer 0x20000000 Data 4 delay_us.o(.data)
ps2kb_current_scancode_set 0x20000004 Data 1 ps2kb.o(.data)
ps2kb_data_reporting_enabled 0x20000005 Data 1 ps2kb.o(.data)
@@ -2425,9 +2426,9 @@ Memory Map of the image
Image Entry point : 0x080000c1
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00004258, Max: 0x00010000, ABSOLUTE)
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x0000425c, Max: 0x00010000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000041d4, Max: 0x00010000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000041d8, Max: 0x00010000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
@@ -2622,47 +2623,47 @@ Memory Map of the image
0x08003b70 0x08003b70 0x00000024 Code RO 395 i.ps2mouse_restore_defaults ps2mouse.o
0x08003b94 0x08003b94 0x00000022 Code RO 396 i.ps2mouse_send_update ps2mouse.o
0x08003bb6 0x08003bb6 0x00000002 PAD
0x08003bb8 0x08003bb8 0x000000c8 Code RO 613 i.ps2mouse_update main.o
0x08003c80 0x08003c80 0x00000026 Code RO 397 i.ps2mouse_wait_for_idle ps2mouse.o
0x08003ca6 0x08003ca6 0x0000001a Code RO 398 i.ps2mouse_write ps2mouse.o
0x08003cc0 0x08003cc0 0x00000022 Code RO 399 i.ps2mouse_write_delay_start ps2mouse.o
0x08003ce2 0x08003ce2 0x00000002 PAD
0x08003ce4 0x08003ce4 0x00000130 Code RO 400 i.ps2mouse_write_nowait ps2mouse.o
0x08003e14 0x08003e14 0x00000010 Code RO 401 i.reset_accumulators ps2mouse.o
0x08003e24 0x08003e24 0x00000078 Code RO 614 i.spi_error_dump_reboot main.o
0x08003e9c 0x08003e9c 0x00000030 Code RO 525 i.wait_for_clk_high xt_kb.o
0x08003ecc 0x08003ecc 0x00000040 Code RO 526 i.xtkb_check_for_softreset xt_kb.o
0x08003f0c 0x08003f0c 0x00000014 Code RO 527 i.xtkb_enable xt_kb.o
0x08003f20 0x08003f20 0x00000014 Code RO 528 i.xtkb_init xt_kb.o
0x08003f34 0x08003f34 0x00000078 Code RO 529 i.xtkb_press_key xt_kb.o
0x08003fac 0x08003fac 0x00000020 Code RO 530 i.xtkb_release_lines xt_kb.o
0x08003fcc 0x08003fcc 0x00000020 Code RO 531 i.xtkb_reset_bus xt_kb.o
0x08003fec 0x08003fec 0x0000003c Code RO 615 i.xtkb_update main.o
0x08004028 0x08004028 0x000000c0 Code RO 532 i.xtkb_write xt_kb.o
0x080040e8 0x080040e8 0x00000079 Data RO 311 .constdata ps2kb.o
0x08004161 0x08004161 0x00000004 Data RO 490 .constdata mcp4451.o
0x08004165 0x08004165 0x00000037 Data RO 622 .constdata main.o
0x0800419c 0x0800419c 0x00000010 Data RO 3922 .constdata system_stm32f0xx.o
0x080041ac 0x080041ac 0x00000008 Data RO 3923 .constdata system_stm32f0xx.o
0x080041b4 0x080041b4 0x00000020 Data RO 4294 Region$$Table anon$$obj.o
0x08003bb8 0x08003bb8 0x000000d8 Code RO 613 i.ps2mouse_update main.o
0x08003c90 0x08003c90 0x00000026 Code RO 397 i.ps2mouse_wait_for_idle ps2mouse.o
0x08003cb6 0x08003cb6 0x0000001a Code RO 398 i.ps2mouse_write ps2mouse.o
0x08003cd0 0x08003cd0 0x00000022 Code RO 399 i.ps2mouse_write_delay_start ps2mouse.o
0x08003cf2 0x08003cf2 0x00000002 PAD
0x08003cf4 0x08003cf4 0x00000124 Code RO 400 i.ps2mouse_write_nowait ps2mouse.o
0x08003e18 0x08003e18 0x00000010 Code RO 401 i.reset_accumulators ps2mouse.o
0x08003e28 0x08003e28 0x00000078 Code RO 614 i.spi_error_dump_reboot main.o
0x08003ea0 0x08003ea0 0x00000030 Code RO 525 i.wait_for_clk_high xt_kb.o
0x08003ed0 0x08003ed0 0x00000040 Code RO 526 i.xtkb_check_for_softreset xt_kb.o
0x08003f10 0x08003f10 0x00000014 Code RO 527 i.xtkb_enable xt_kb.o
0x08003f24 0x08003f24 0x00000014 Code RO 528 i.xtkb_init xt_kb.o
0x08003f38 0x08003f38 0x00000078 Code RO 529 i.xtkb_press_key xt_kb.o
0x08003fb0 0x08003fb0 0x00000020 Code RO 530 i.xtkb_release_lines xt_kb.o
0x08003fd0 0x08003fd0 0x00000020 Code RO 531 i.xtkb_reset_bus xt_kb.o
0x08003ff0 0x08003ff0 0x0000003c Code RO 615 i.xtkb_update main.o
0x0800402c 0x0800402c 0x000000c0 Code RO 532 i.xtkb_write xt_kb.o
0x080040ec 0x080040ec 0x00000079 Data RO 311 .constdata ps2kb.o
0x08004165 0x08004165 0x00000004 Data RO 490 .constdata mcp4451.o
0x08004169 0x08004169 0x00000037 Data RO 622 .constdata main.o
0x080041a0 0x080041a0 0x00000010 Data RO 3922 .constdata system_stm32f0xx.o
0x080041b0 0x080041b0 0x00000008 Data RO 3923 .constdata system_stm32f0xx.o
0x080041b8 0x080041b8 0x00000020 Data RO 4294 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080041d4, Size: 0x000008f8, Max: 0x00004000, ABSOLUTE)
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080041d8, Size: 0x000008f8, Max: 0x00004000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x080041d4 0x00000004 Data RW 15 .data delay_us.o
0x20000004 0x080041d8 0x00000014 Data RW 312 .data ps2kb.o
0x20000018 0x080041ec 0x00000020 Data RW 402 .data ps2mouse.o
0x20000038 0x0800420c 0x00000014 Data RW 533 .data xt_kb.o
0x2000004c 0x08004220 0x00000024 Data RW 623 .data main.o
0x20000070 0x08004244 0x00000004 Data RW 3217 .data stm32f0xx_hal.o
0x20000074 0x08004248 0x00000004 Data RW 3924 .data system_stm32f0xx.o
0x20000078 0x0800424c 0x00000004 Data RW 4268 .data mc_p.l(stdout.o)
0x2000007c 0x08004250 0x00000004 Data RW 4271 .data mc_p.l(mvars.o)
0x20000080 0x08004254 0x00000004 Data RW 4272 .data mc_p.l(mvars.o)
0x20000000 0x080041d8 0x00000004 Data RW 15 .data delay_us.o
0x20000004 0x080041dc 0x00000014 Data RW 312 .data ps2kb.o
0x20000018 0x080041f0 0x00000020 Data RW 402 .data ps2mouse.o
0x20000038 0x08004210 0x00000014 Data RW 533 .data xt_kb.o
0x2000004c 0x08004224 0x00000024 Data RW 623 .data main.o
0x20000070 0x08004248 0x00000004 Data RW 3217 .data stm32f0xx_hal.o
0x20000074 0x0800424c 0x00000004 Data RW 3924 .data system_stm32f0xx.o
0x20000078 0x08004250 0x00000004 Data RW 4268 .data mc_p.l(stdout.o)
0x2000007c 0x08004254 0x00000004 Data RW 4271 .data mc_p.l(mvars.o)
0x20000080 0x08004258 0x00000004 Data RW 4272 .data mc_p.l(mvars.o)
0x20000084 - 0x0000026d Zero RW 616 .bss main.o
0x200002f1 0x08004258 0x00000007 PAD
0x200002f1 0x0800425c 0x00000007 PAD
0x200002f8 - 0x00000200 Zero RW 2 HEAP startup_stm32f072xb.o
0x200004f8 - 0x00000400 Zero RW 1 STACK startup_stm32f072xb.o
@@ -2676,10 +2677,10 @@ Image component sizes
52 10 0 4 0 506987 delay_us.o
532 0 0 0 0 11932 helpers.o
2968 352 55 36 621 22632 main.o
2984 350 55 36 621 22700 main.o
132 22 4 0 0 2287 mcp4451.o
1526 76 121 20 0 9446 ps2kb.o
1456 70 0 32 0 11410 ps2mouse.o
1444 72 0 32 0 11374 ps2mouse.o
28 8 192 0 1536 628 startup_stm32f072xb.o
122 18 0 4 0 3603 stm32f0xx_hal.o
178 28 0 0 0 10499 stm32f0xx_hal_cortex.o
@@ -2700,7 +2701,7 @@ Image component sizes
528 52 0 20 0 5894 xt_kb.o
----------------------------------------------------------------------
15622 984 428 120 2164 648728 Object Totals
15626 984 428 120 2164 648760 Object Totals
0 0 32 0 0 0 (incl. Generated)
34 0 0 0 7 0 (incl. Padding)
@@ -2746,15 +2747,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
16424 1028 428 132 2164 641988 Grand Totals
16424 1028 428 132 2164 641988 ELF Image Totals
16424 1028 428 132 0 0 ROM Totals
16428 1028 428 132 2164 642020 Grand Totals
16428 1028 428 132 2164 642020 ELF Image Totals
16428 1028 428 132 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 16852 ( 16.46kB)
Total RO Size (Code + RO Data) 16856 ( 16.46kB)
Total RW Size (RW Data + ZI Data) 2296 ( 2.24kB)
Total ROM Size (Code + RO Data + RW Data) 16984 ( 16.59kB)
Total ROM Size (Code + RO Data + RW Data) 16988 ( 16.59kB)
==============================================================================

View File

@@ -114,7 +114,7 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h)(0x5DFA0893)
-D__UVISION_VERSION="529" -D_RTE_ -DSTM32F072xB -DUSE_HAL_DRIVER -DSTM32F072xB
-o ibmpc\ps2kb.o --omf_browse ibmpc\ps2kb.crf --depend ibmpc\ps2kb.d)
-o ibmpc\ps2kb.o --omf_browse ibmpc\ps2kb.crf --depend ibmpc\ps2kb.d)
I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5D9B429A)
I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x5D9B4298)
I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x5D9B429A)
@@ -152,12 +152,12 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h)(0x5DFA0893)
I (../Inc/shared.h)(0x61B61A00)
I (../Inc/ps2kb.h)(0x626EE78C)
I (../Inc/ps2kb.h)(0x626EE78C)
I (../Inc/delay_us.h)(0x617487C7)
F (..\Src\ps2mouse.c)(0x62700E0A)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I ../Drivers/CMSIS/Include
-I.\RTE\_ibmpc
-IC:\Users\allen\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include
-IC:\Users\allen\AppData\Local\Arm\Packs\Keil\STM32F0xx_DFP\2.0.0\Drivers\CMSIS\Device\ST\STM32F0xx\Include
@@ -239,7 +239,7 @@ I (../Inc/shared.h)(0x61B61A00)
I (../Drivers/CMSIS/Include/core_cmFunc.h)(0x5DFA0892)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h)(0x5DFA0880)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h)(0x5DFA0893)
@@ -278,7 +278,7 @@ I (../Inc/shared.h)(0x61B61A00)
I (../Inc/main.h)(0x62423606)
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)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h)(0x5DFA0880)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h)(0x5DFA0880)
I (../Drivers/CMSIS/Include/core_cm0.h)(0x5DFA0892)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5D9B4298)

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -341,11 +341,15 @@ void ps2mouse_update(void)
return;
}
if(ps2mouse_send_update(&my_ps2_outbuf) == PS2_ERROR_HOST_INHIBIT)
if(ps2mouse_send_update(&my_ps2_outbuf) != PS2_OK)
{
HAL_GPIO_WritePin(ERR_LED_GPIO_Port, ERR_LED_Pin, GPIO_PIN_SET);
uint32_t enter_time = HAL_GetTick();
while(ps2mouse_get_bus_status() != PS2_BUS_IDLE)
;
{
if(HAL_GetTick() - enter_time > 25)
break;
}
HAL_GPIO_WritePin(ERR_LED_GPIO_Port, ERR_LED_Pin, GPIO_PIN_RESET);
}
mouse_buf_reset(&my_mouse_buf); // don't change this!

View File

@@ -69,7 +69,7 @@ void ps2mouse_restore_defaults(void)
ps2mouse_sampling_rate = 100;
ps2mouse_resolution = 2;
ps2mouse_scale = 1;
ps2mouse_data_reporting_enabled = 0;
ps2mouse_data_reporting_enabled = 1;
ps2mouse_current_mode = PS2MOUSE_MODE_STREAM;
ps2mouse_prev_mode = PS2MOUSE_MODE_STREAM;
reset_accumulators();
@@ -402,11 +402,11 @@ uint8_t ps2mouse_write_nowait(uint8_t data)
delay_us(CLKFULL);
PS2MOUSE_CLK_HI();
delay_us(CLKHALF);
if(PS2MOUSE_READ_CLK_PIN() == GPIO_PIN_RESET)
{
ps2mouse_release_lines();
return PS2_ERROR_HOST_INHIBIT;
}
// if(PS2MOUSE_READ_CLK_PIN() == GPIO_PIN_RESET)
// {
// ps2mouse_release_lines();
// return PS2_ERROR_HOST_INHIBIT;
// }
delay_us(BYTEWAIT_END);
return PS2_OK;
}
@@ -417,7 +417,8 @@ uint8_t ps2mouse_send_update(ps2_outgoing_buf* pbuf)
for (int i = 0; i < pbuf->size; ++i)
{
// return error if inhibited or interrupted while transmitting
write_result = ps2mouse_write(pbuf->data[i], 255);
// kvm mode = 3, direct mode = 200
write_result = ps2mouse_write(pbuf->data[i], 3);
if(write_result)
return write_result;
}