diff --git a/Core/Src/main.c b/Core/Src/main.c index 8bf9030..eafc9bc 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -104,37 +104,13 @@ int main(void) /* USER CODE BEGIN 2 */ // 初始化SX1281为BLE模式 SX1281_Init(&radio, MODE_BLE); - + SX1281_SetTX(); + // LCD显示 LCD_Init(1); LCD_Clear(BLACK); - - // 构造标准的BLE广告数据(有效载荷部分) - // 注意:这是PDU的有效载荷,不包括2字节的PDU报头 - // BLE广告数据最大长度为37字节 - uint8_t advData[] = { - // 标志位 - 0x02, 0x01, 0x06, - - // 完整设备名称 - 0x08, 0x09, 'S','X','1','2','8','1','_','1', - - // 服务UUID - 0x03, 0x03, 0x0A, 0x18, - - // 制造商特定数据 - 包含自定义设备ID - 0x07, 0xFF, 0x4D, 0x52, 0x31, 0x36, 0x01, 0x02, - // 解释: - // 0x07 - 长度 (7 bytes) - // 0xFF - 制造商特定数据类型 - // 0x4D,0x52,0x31,0x36 - "MR16" (您的设备标识) - // 0x01,0x02 - 版本或设备编号 - }; - - printf("Starting BLE Advertising...\n"); - printf("Advertising data length: %d bytes\n", sizeof(advData)); - - // 设置并发送BLE广告包 - SetBLEAdvertisingPacket(&radio,advData, sizeof(advData)); + LCD_DrawString(0,0,"SX1281",MEDIUMORCHID,32,LSB); + LCD_DrawBitmap(logo_M,180,80,64,64,MEDIUMORCHID,MSB); + /* USER CODE END 2 */ /* Infinite loop */ @@ -145,22 +121,9 @@ int main(void) /* USER CODE BEGIN 3 */ // 处理射频中断 - SX1281_Running(); + SX1281_Running(&radio); - // 每2秒重新发送一次广告包 - static uint32_t lastAdvTime = 0; - if (HAL_GetTick() - lastAdvTime > 2000) { - SetBLEAdvertisingPacket(&radio,advData, sizeof(advData)); - lastAdvTime = HAL_GetTick(); - printf("Resending BLE Advertisement...\n"); - } - - // LCD显示 - LCD_DrawString(200,0,"BLE",AQUA,12,LSB); - LCD_DrawString(150,0,"ADV",VIOLET,16,LSB); - LCD_DrawString(80,0,"SX1281",VIOLET_SOFT,24,LSB); - LCD_DrawString(0,0,"SX12811",MEDIUMORCHID,32,LSB); - LCD_DrawBitmap(logo_M,70,70,64,64,MEDIUMORCHID,MSB); + HAL_Delay(100); } diff --git a/MDK-ARM/MR16.uvguix.yxm23 b/MDK-ARM/MR16.uvguix.yxm23 index 9ee3ed3..d4692b9 100644 --- a/MDK-ARM/MR16.uvguix.yxm23 +++ b/MDK-ARM/MR16.uvguix.yxm23 @@ -110,8 +110,8 @@ 0 - 903 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000A00000000000000010000001E443A5C435542454D585C4D5231365C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF2B443A5C435542454D585C4D5231365C557365725C6465766963655C6C63645F6472697665725C6C63642E6300000000056C63642E6300000000FFDC7800FFFFFFFF2F443A5C435542454D585C4D5231365C557365725C6465766963655C6C63645F6472697665725C6C63645F6C69622E6800000000096C63645F6C69622E6800000000BECEA100FFFFFFFF2C443A5C435542454D585C4D5231365C4D444B2D41524D5C737461727475705F73746D33326631303378622E730000000015737461727475705F73746D33326631303378622E7300000000F0A0A100FFFFFFFF44443A5C435542454D585C4D5231365C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F6770696F2E63000000001473746D3332663178785F68616C5F6770696F2E6300000000BCA8E100FFFFFFFF27443A5C435542454D585C4D5231365C7378313238312D6472697665722D635C7378313238312E6300000000087378313238312E63000000009CC1B600FFFFFFFF2E443A5C435542454D585C4D5231365C7378313238312D6472697665722D635C7378313238315F6472697665722E68000000000F7378313238315F6472697665722E6800000000F7B88600FFFFFFFF32443A5C435542454D585C4D5231365C7378313238312D6472697665722D635C7378313238315F6472697665725F68616C2E6300000000137378313238315F6472697665725F68616C2E6300000000D9ADC200FFFFFFFF27443A5C435542454D585C4D5231365C7378313238312D6472697665722D635C7378313238312E6800000000087378313238312E6800000000A5C2D700FFFFFFFF1D443A5C435542454D585C4D5231365C557365725C6273705C7370692E6800000000057370692E6800000000B3A6BE00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000E50200004E010000120600004A030000 + 969 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000B00000000000000010000001E443A5C435542454D585C4D5231365C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF2B443A5C435542454D585C4D5231365C557365725C6465766963655C6C63645F6472697665725C6C63642E6300000000056C63642E6300000000FFDC7800FFFFFFFF2F443A5C435542454D585C4D5231365C557365725C6465766963655C6C63645F6472697665725C6C63645F6C69622E6800000000096C63645F6C69622E6800000000BECEA100FFFFFFFF2C443A5C435542454D585C4D5231365C4D444B2D41524D5C737461727475705F73746D33326631303378622E730000000015737461727475705F73746D33326631303378622E7300000000F0A0A100FFFFFFFF44443A5C435542454D585C4D5231365C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F6770696F2E63000000001473746D3332663178785F68616C5F6770696F2E6300000000BCA8E100FFFFFFFF27443A5C435542454D585C4D5231365C7378313238312D6472697665722D635C7378313238312E6300000000087378313238312E63000000009CC1B600FFFFFFFF2E443A5C435542454D585C4D5231365C7378313238312D6472697665722D635C7378313238315F6472697665722E68000000000F7378313238315F6472697665722E6800000000F7B88600FFFFFFFF32443A5C435542454D585C4D5231365C7378313238312D6472697665722D635C7378313238315F6472697665725F68616C2E6300000000137378313238315F6472697665725F68616C2E6300000000D9ADC200FFFFFFFF27443A5C435542454D585C4D5231365C7378313238312D6472697665722D635C7378313238312E6800000000087378313238312E6800000000A5C2D700FFFFFFFF1D443A5C435542454D585C4D5231365C557365725C6273705C7370692E6800000000057370692E6800000000B3A6BE00FFFFFFFF2B443A5C435542454D585C4D5231365C557365725C6465766963655C6C63645F6472697665725C6C63642E6800000000056C63642E6800000000EAD6A300FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000E50200004E010000120600004A030000 @@ -1806,7 +1806,7 @@ File 3039 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001653583132383148616C52656164526567697374657273960000000000000014001653583132383148616C526561645265676973746572730C52656164526567697374657209632D3E706172616D7329732D3E666565646261636B2E747269672E666565646261636B2E726F746F725F6162735F616E676C6511636D642D3E6C6173745F66697265636D640C666565646261636B5F72706D1448414C5F554152545F526563656976655F444D41134D585F5553415254335F554152545F496E6974184253505F43414E5F526567697374657243616C6C6261636B136874696D312E496E7374616E63652D3E4152520E73746D3332667878785F69742E63067072696E74661F43414E5F72656D6F74655F7472616E736D697373696F6E5F72657175657374142043414E5F6964656E7469666965725F74797065034944450E43414E5F333530385F4D325F4944116765745F6D6F746F725F6D6561737572650654585F4F4B20124D50555F4949435F576169745F41636B282938696620286932635F77726974652873742E68772D3E616464722C2073742E7265672D3E7077725F6D676D745F312C20312C206461746129290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001653583132383148616C52656164526567697374657273960000000000000014001653583132383148616C526561645265676973746572730C52656164526567697374657209632D3E706172616D7329732D3E666565646261636B2E747269672E666565646261636B2E726F746F725F6162735F616E676C6511636D642D3E6C6173745F66697265636D640C666565646261636B5F72706D1448414C5F554152545F526563656976655F444D41134D585F5553415254335F554152545F496E6974184253505F43414E5F526567697374657243616C6C6261636B136874696D312E496E7374616E63652D3E4152520E73746D3332667878785F69742E63067072696E74661F43414E5F72656D6F74655F7472616E736D697373696F6E5F72657175657374142043414E5F6964656E7469666965725F74797065034944450E43414E5F333530385F4D325F4944116765745F6D6F746F725F6D6561737572650654585F4F4B20124D50555F4949435F576169745F41636B282938696620286932635F77726974652873742E68772D3E616464722C2073742E7265672D3E7077725F6D676D745F312C20312C206461746129290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1838,7 +1838,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -3606,9 +3606,9 @@ 0 ../Core/Src/main.c - 6 - 113 - 131 + 21 + 115 + 110 1 0 @@ -3652,8 +3652,8 @@ ..\sx1281-driver-c\sx1281.c 0 - 18 - 21 + 28 + 29 1 0 @@ -3678,7 +3678,7 @@ ..\sx1281-driver-c\sx1281.h - 21 + 15 92 103 1 @@ -3694,6 +3694,15 @@ 0 + + ..\User\device\lcd_driver\lcd.h + 0 + 1 + 1 + 1 + + 0 + diff --git a/MDK-ARM/MR16/MR16.axf b/MDK-ARM/MR16/MR16.axf index 0eb3ce1..3fd368f 100644 Binary files a/MDK-ARM/MR16/MR16.axf and b/MDK-ARM/MR16/MR16.axf differ diff --git a/MDK-ARM/MR16/MR16.build_log.htm b/MDK-ARM/MR16/MR16.build_log.htm index 208f172..9d01b69 100644 --- a/MDK-ARM/MR16/MR16.build_log.htm +++ b/MDK-ARM/MR16/MR16.build_log.htm @@ -29,6 +29,10 @@ Project File Date: 11/29/2025 Build target 'MR16' Note: source file '..\User\bsp\gpio.c' - object file renamed from 'MR16\gpio.o' to 'MR16\gpio_1.o'. Note: source file '..\User\bsp\spi.c' - object file renamed from 'MR16\spi.o' to 'MR16\spi_1.o'. +compiling sx1281.c... +linking... +Program Size: Code=20108 RO-data=13300 RW-data=92 ZI-data=10596 +FromELF: creating hex file... "MR16\MR16.axf" - 0 Error(s), 0 Warning(s).

Software Packages used:

diff --git a/MDK-ARM/MR16/MR16.hex b/MDK-ARM/MR16/MR16.hex index e950b95..6c9f29d 100644 --- a/MDK-ARM/MR16/MR16.hex +++ b/MDK-ARM/MR16/MR16.hex @@ -1,8 +1,8 @@ :020000040800F2 -:10000000D8290020050100082F2B0008CD21000869 -:100010002D2B0008D90700089346000800000000B7 +:10000000C0290020050100082F2B0008CD21000881 +:100010002D2B0008D9070008174500080000000034 :100020000000000000000000000000006D2E00082D -:100030002B08000800000000952B00088D420008E6 +:100030002B08000800000000952B00081141000863 :100040001F0100081F0100081F0100081F01000810 :100050001F0100081F0100081F0100081F01000800 :100060001F0100081F0100081F0100081F010008F0 @@ -14,10 +14,10 @@ :1000C0001F0100081F0100081F0100081F01000890 :1000D0001F0100081F0100081F0100081F01000880 :1000E0002D0800081F0100081F010008DFF810D0CC -:1000F00000F0E2FA00480047E94F0008AFF3008043 -:10010000D82900200648804706480047FEE7FEE75A +:1000F00000F0E2FA004800476D4E0008AFF30080C0 +:10010000C02900200648804706480047FEE7FEE772 :10011000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7B7 -:10012000F1420008ED000008202A04DB203A21FA01 +:1001200075410008ED000008202A04DB203A21FA7E :1001300002F00021704721FA02F3D040C2F1200200 :10014000914008431946704740EA01039B0703D0DA :1001500009E008C9121F08C0042AFAD203E011F806 @@ -108,25 +108,25 @@ :1006A000000405DB1C464FF00043524263EB040399 :1006B000994208BF904230BD064C074D06E0E06805 :1006C00040F0010394E8070098471034AC42F6D399 -:1006D000FFF710FDC0840008E0840008202A04DB36 +:1006D000FFF710FD6082000880820008202A04DBFA :1006E000203A00FA02F1002070479140C2F1200345 :1006F00020FA03F3194390407047202A06DBCB17FA :10070000203A41FA02F043EAE07306E041FA02F3CC :10071000D040C2F1200291400843194670470000C2 :1007200018B1012803D000207047024870470248E2 -:100730007047000098000020F000002010B502284B +:1007300070470000A80000200001002010B502282A :1007400006D2FFF7EDFF18B1BDE8104000F05CBE27 :10075000FF2010BD32B1054B03EB401040F82120C3 -:10076000002070476FF001007047000094230020C4 +:10076000002070476FF00100704700007C230020DC :1007700010B54FF0FF34022806D2FFF7D1FF18B1B1 :1007800023B101F0A5F904E0204610BD142300F0C8 :100790006BFF0028F9D0012010BD38B54FF0FF34B1 :1007A000049D022806D2FFF7BBFF18B125B101F066 :1007B00007F905E0204638BD1424009401F007F83D :1007C0000028F8D0012038BD08B10020704701484A -:1007D00070470000A4020020FEE70000014800F07E -:1007E00073B800008C010020014800F06DB80000D3 -:1007F00048010020014800F067B80000D001002047 +:1007D00070470000B4020020FEE70000014800F06E +:1007E00073B800009C010020014800F06DB80000C3 +:1007F00058010020014800F067B80000E001002027 :1008000030B590F840500124AC40C56B6C60046872 :1008100063604368102B036803D099600068C2606E :1008200030BD9A600068C16030BD70474FF48050A1 @@ -138,7 +138,7 @@ :10088000704700F055BA000070B515460C46084692 :10089000FFF7DEFF002B0FD0084941F8203020463B :1008A00001F088FF04460022294600F0EFFA2046B6 -:1008B000BDE8704000F0DCBA70BD000014030020F9 +:1008B000BDE8704000F0DCBA70BD0000FC02002012 :1008C000D2B200F03ABA00002DE9F05FC16B0C68BB :1008D00001680B68D0F840C0042202FA0CF2494DBE :1008E000DFF824A1494E4A4FDFF828B1DFF828E1AC @@ -175,10 +175,10 @@ :100AD00001602068016841F00A0101602068016836 :100AE00041F001010160D9E770B5044600F02AF930 :100AF0000546601C02D004480078044400F022F946 -:100B0000401BA042FAD370BD040000202DE9F04143 +:100B0000401BA042FAD370BD000000202DE9F04147 :100B10000024084F0646012505FA04F0304203D0B0 :100B200057F8240000B18047641CE4B2102CF3D3C2 -:100B3000BDE8F08154230020044910B50A68024240 +:100B3000BDE8F0813C230020044910B50A68024258 :100B400002D00860FFF7E2FF10BD0000140401406E :100B50002DE9F84FDFF8B8910024A9F1040B2346E2 :100B60000F2709F1040AABF1040EC9E00125A540E5 @@ -211,22 +211,22 @@ :100D100008040140000011100010024000000140D2 :100D200000080140000C0140001001400014014087 :100D30008068084000D0012070470AB10161704707 -:100D40000904FBE7014880687047000004000020A8 +:100D40000904FBE7014880687047000000000020AC :100D500070B5040004D094F84100002510B106E0FD :100D6000012070BD84F84050204601F08BF924200A :100D700084F841002068C16821F40051C160204618 -:100D800003F0F2FB2068016921F4904101612068C1 +:100D800003F034FB2068016921F49041016120687F :100D9000416921F0220141612068416941F0080167 :100DA00041612068C16841F40051C1606564202040 :100DB00084F8410084F842006563002070BD0000A3 -:100DC0000248816802781144816070470400002065 +:100DC0000248816802781144816070470000002069 :100DD000074810B5016841F010010160032000F0E0 :100DE00075F80F2000F006F800F024F8002010BD80 :100DF0000020024070B50D4D04464FF47A712878FA :100E0000B1FBF0F00A490968B1FBF0F000F02CFFEB :100E100048B9102C07D200222146501E00F036F8A7 -:100E200000206C6070BD012070BD00000400002037 -:100E3000100000200C4808B5816941F00101816172 +:100E200000206C6070BD012070BD0000000000203B +:100E30000C0000200C4808B5816941F00101816176 :100E4000816901F001010091C16941F08051C161E6 :100E5000C06900F0805000900448416821F0E061D2 :100E600041F00071416008BD0010024000000140E7 @@ -235,7 +235,7 @@ :100E90001B680C46C3F30223C3F10705042D00D9D8 :100EA0000425191D072901D2002300E0DB1E0126BD :100EB00006FA05F1491E214099409E40761E1640D3 -:100EC0003143F0BC03F0F6BB0CED00E0064900F046 +:100EC0003143F0BC03F038BB0CED00E0064900F004 :100ED000070208684FF6FF03184040EA0220034A61 :100EE00010430860704700000CED00E00000FA05B8 :100EF0002DE9F0470F46050061D0434E306800F001 @@ -256,16 +256,16 @@ :100FE000605040EAC100606000F038F86168084A6B :100FF000C1F30311515CC840064908600648006807 :10100000FFF7F8FE0020C2E7002002400010024077 -:101010002252000810000020080000200448054962 +:101010008A4F00080C000020040000200448054905 :1010200000684968044AC1F30221515CC840704716 -:101030001000002000100240325200080448054908 +:101030000C000020001002409A4F000804480549A7 :1010400000684968044AC1F3C221515CC840704736 -:101050001000002000100240325200080F4A516870 +:101050000C000020001002409A4F00080F4A51680F :1010600001F00C00042803D0082803D00C48704776 :101070000C4870470C48C1F38343C903C05C0AD5D0 :101080005168094AC1F34041921E515C054A5043E0 :10109000B0FBF1F07047054948437047001002402B -:1010A00000127A000024F4001252000800093D00EA +:1010A00000127A000024F4007A4F000800093D0085 :1010B0002DE9F84F040070D02078C04DC00749D00A :1010C0006868C0F38100012807D06868C0F3810018 :1010D000022809D16868C00306D52868800339D57D @@ -315,11 +315,11 @@ :1013900028688001F4D40EE00128F7D06868226A3A :1013A00000F48031914204D1616A00F470108842E7 :1013B00001D00120EAE70020E8E700000010024029 -:1013C00000004242800442421000002000700040B1 +:1013C00000004242800442420C00002000700040B5 :1013D00070B5044601F0DCFC032811D0204601F072 :1013E000D7FC084D05EB40108069002808D0204646 :1013F00001F0CEFC05EB40108069BDE8704000476D -:1014000070BD00009423002090F85100704770B523 +:1014000070BD00007C23002090F85100704770B53B :10141000040009D0606A002540B125616561A562BC :1014200094F8510040B10CE0012070BD6068B0F547 :10143000827FF4D0E561F2E784F85050204600F056 @@ -349,15 +349,15 @@ :1015B0000D48883528302860C5E90174C5E90384E1 :1015C0006C61AC612846EC61FFF728FA08B1FFF7BF :1015D0003DF9B5646E6206B0BDE8F08100300140AF -:1015E0000010024000080140300002404801002085 +:1015E0000010024000080140300002405801002075 :1015F00000380040000C014070B5044601F0C8FB03 :10160000032811D0204601F0C3FB084D05EB401024 :101610004068002808D0204601F0BAFB05EB4010D6 -:101620004068BDE87040004770BD00009423002072 +:101620004068BDE87040004770BD00007C2300208A :1016300070B5044601F0ACFB032811D0204601F040 :10164000A7FB084D05EB40100069002808D0204694 :1016500001F09EFB05EB40100069BDE870400047BB -:1016600070BD0000942300202DE9F84F98461646DF +:1016600070BD00007C2300202DE9F84F98461646F7 :101670008A460446FFF766FB814694F8510001282C :101680001ED1BAF1000F73D0002E71D094F8500023 :10169000012815D0012784F85070032084F85100E8 @@ -442,20 +442,20 @@ :101B80002068416841F002014160002070BD000002 :101B9000C32B0008412C0008972B000810B501F05A :101BA000F7F8032808D0054901EB40100068002829 -:101BB00002D0BDE81040004710BD00009423002073 +:101BB00002D0BDE81040004710BD00007C2300208B :101BC00070B5044601F0E4F8032811D0204601F076 :101BD000DFF8084D05EB4010C068002808D020460B :101BE00001F0D6F805EB4010C068BDE87040004732 -:101BF00070BD00009423002070B5044601F0C8F8C1 +:101BF00070BD00007C23002070B5044601F0C8F8D9 :101C0000032811D0204601F0C3F8084D05EB401021 :101C10008068002808D0204601F0BAF805EB401093 -:101C20008068BDE87040004770BD0000942300202C +:101C20008068BDE87040004770BD00007C23002044 :101C300070B5044601F0ACF8032811D0204601F03D :101C4000A7F8084D05EB40104069002808D0204651 :101C500001F09EF805EB40104069BDE87040004778 -:101C600070BD00009423002010B5401EB0F1807FAD +:101C600070BD00007C23002010B5401EB0F1807FC5 :101C700001D3012010BD4FF0E02460610F216017F7 -:101C800002F018FD0020A06107202061002010BD97 +:101C800002F05AFC0020A06107202061002010BD56 :101C900010B590F83C20012A22D0012280F83C2087 :101CA000CA688C6822F4407222434C6822F4806235 :101CB00022430C6822F4006222430C6922F4805211 @@ -470,7 +470,7 @@ :101D4000002C0140000400400008004010B50400D1 :101D500003D094F83D0010B107E0012010BD002031 :101D600084F83C00204600F01FF8022084F83D0073 -:101D7000211D206802F0BEFA012084F8460084F894 +:101D7000211D206802F000FA012084F8460084F852 :101D80003E0084F83F0084F8400084F8410084F865 :101D9000420084F8430084F8440084F8450084F845 :101DA0003D00002010BD000008B5006806498842CB @@ -483,12 +483,12 @@ :101E100070BD302846D040280AD13BE060282FD042 :101E200070280DD0B0F5805F03D0B0F5005F12D000 :101E3000012584F83D60002084F83C00284670BDF0 -:101E4000CB68D1E90121206802F090FA206881680E +:101E4000CB68D1E90121206802F0D2F920688168CD :101E500041F0770109E0CB68D1E90121206802F067 -:101E600085FA2068816841F480418160E1E719E0EA -:101E7000CA684968206802F02DFB5021206806E0FE -:101E8000CA684968206802F036FB6021206802F0C9 -:101E900077FACEE7CA684968206802F01BFB402148 +:101E6000C7F92068816841F480418160E1E719E0A9 +:101E7000CA684968206802F06FFA5021206806E0BD +:101E8000CA684968206802F078FA6021206802F088 +:101E9000B9F9CEE7CA684968206802F05DFA4021C6 :101EA0002068F4E7226801461046F0E700B585B0E7 :101EB0000021009101910291039100680B49884231 :101EC00012D10B48816941F0040181618069694642 @@ -498,25 +498,25 @@ :101F000000260D4601280FD0012084F83C006AB15C :101F1000042A1DD0082A2FD00C2A3FD001260020E9 :101F200084F83C00304670BD022070BD206802F08D -:101F30002FFA2068816941F0080181612068816978 +:101F300071F92068816941F0080181612068816937 :101F400021F004018161206881692A69114311E04F -:101F5000206802F045FA2068816941F400618161DE +:101F5000206802F087F92068816941F4006181619D :101F60002068816921F480618161206881692A6922 -:101F700041EA02218161D2E7206802F05DFA20681F +:101F700041EA02218161D2E7206802F09FF92068DE :101F8000C16941F00801C1612068C16921F0040103 :101F9000C1612068C1692A69114311E0206802F01B -:101FA00077FA2068C16941F40061C1612068C169A4 +:101FA000B9F92068C16941F40061C1612068C16963 :101FB00021F48061C1612068C1692A6941EA022176 :101FC000C161ACE710B5040003D094F83D0010B136 :101FD00007E0012010BD002084F83C00204600F0FE -:101FE0001EF8022084F83D00211D206802F082F9CD +:101FE0001EF8022084F83D00211D206802F0C4F88C :101FF000012084F8460084F83E0084F83F0084F80D :10200000400084F8410084F8420084F8430084F8DA :10201000440084F8450084F83D00002010BD70475E :1020200070B5040004D094F84100002510B106E01A :10203000012070BD84F84050204600F023F8242091 :1020400084F841002068C16821F40051C160204635 -:1020500002F08AFA2068016921F490410161206848 +:1020500002F0CCF92068016921F490410161206807 :10206000416921F02A0141612068C16841F40051B1 :10207000C1606564202084F8410084F842006563F3 :10208000002070BD30B585B0002400940194029406 @@ -535,16 +535,16 @@ :1021500084F84100FEF7F6FDA6848146E684A06877 :102160002027B0F5805F02D003E00120E9E7206975 :1021700010B12E4600250EE000260CE080212046FE -:1021800002F04EFAA8B9C6B116F8010B21684860F2 +:1021800002F090F9A8B9C6B116F8010B21684860B1 :10219000E08C401EE084E08C4B464FF00002CDF80E -:1021A00000800028EAD14FF04001204602F038FAC2 +:1021A00000800028EAD14FF04001204602F07AF981 :1021B00040B184F841700320C3E735F8020BC0F347 :1021C0000800E3E784F841700020BAE7FEE72DE954 :1021D000F041070AC6B20021F0238722084600F02A -:1021E00027FA4FF48770044602F0D0FF050014D0A0 +:1021E00027FA4FF48770044602F084FE050014D0ED :1021F000002029182F54801C4E70A042F9D30026CD :102200002146284600F0AEFA761CF02EF8D3284678 -:1022100002F0C2FE0020BDE8F0816FF00100FAE795 +:1022100002F004FE0020BDE8F0816FF00100FAE753 :102220002DE9FF5F1F465FEA000B04D0F81D4FEA5F :10223000D00800262CE06FF0010004B0BDE8F09F4C :1022400006FB08BA00251FE01AF805905FF00004AD @@ -574,13 +574,13 @@ :1023C0000000012E04F0070201D1C2F10702D04043 :1023D00010F0010F03D01846069A00F013F8641CA1 :1023E0000098E4B28442E4D37F1C0198FFB2874294 -:1023F000D9D300206AE70000405300083059000894 -:10240000006B000838B5034614481446007828B11C +:1023F000D9D300206AE70000E0500008D05600085A +:10240000A068000838B5034614481446007828B17F :10241000012813D0022815D0032818D0184601230C :102420001A4600F005F9200A8DF800008DF80140E9 :102430000221684600F06EF9002038BD0846C3F15D :10244000EF0109E0C1F1860080B21946E7E7C3F168 -:10245000860080B2C1F1EF0189B2E0E755000020AB +:10245000860080B2C1F1EF0189B2E0E74D000020B3 :102460002DE9FF4F83B08146DDE910AB05461446E8 :1024700088465046BAF10C0F1FD0102808D01828F3 :1024800009D020280AD04FF0FF3007B0BDE8F08F08 @@ -607,7 +607,7 @@ :1025D0000E2104A800F09EF8212000F05BF81120E5 :1025E00000F058F87820FEF77FFA292000F052F822 :1025F0000AB0002070BDFFE7A0208FE7C8208DE75C -:1026000055000020000C01400C0C0033330000008A +:102600004D000020000C01400C0C00333300000092 :10261000D0040D11132B3F544C180D0B1F23000039 :10262000D0040C11132C3F44512F1F1F20230000F6 :102630002DE9FC4100F1340401F12807A518FE182A @@ -665,12 +665,12 @@ :102970004FF48271416000218160C1604FF40072A8 :102980000161C0E905121022C0E90721416281629C :102990000A21C162FEF73BFD002803D0BDE81040CC -:1029A000FDF754BF10BD000000300140980000202A +:1029A000FDF754BF10BD000000300140A80000201A :1029B000104810B50E4901604FF48271416000214A :1029C0008160C1604FF400720161C0E90512082204 :1029D000C0E90721416281620A21C162FEF717FD49 :1029E000002803D0BDE81040FDF730BF10BD000047 -:1029F00000380040F000002010B596B000240F947D +:1029F000003800400001002010B596B000240F946C :102A000010941194129413941C2108A81494FDF7A7 :102A1000B4FB20216846FDF7B0FB27482549C0E9F3 :102A200000144FF6FF71C0E9024104614461846102 @@ -682,21 +682,21 @@ :102A8000FFF73AFA08B1FDF7E1FE00944FF4005069 :102A9000CDE90440029401940394694606480794E2 :102AA000FFF7F6F808B1FDF7D1FE0348FFF7FEF98E -:102AB00016B010BD002C0140140200200C4810B5C7 +:102AB00016B010BD002C0140240200200C4810B5B7 :102AC0000A4901604FF4E131416000218160082230 :102AD000C160C0E904128161C161FEF739F90028C3 :102AE00003D0BDE81040FDF7B1BE10BD0038014075 -:102AF0005C0200200C4810B50A4901604FF4E13136 +:102AF0006C0200200C4810B50A4901604FF4E13126 :102B00004160002181600C22C160C0E90412816132 :102B1000C161FFF785FA002803D0BDE81040FDF73A -:102B200095BE10BD00440040A4020020FEE7FEE771 +:102B200095BE10BD00440040B4020020FEE7FEE761 :102B3000034910B50220487001F096F810BD00005E -:102B400014000020034910B50420487001F08CF8EF -:102B500010BD000014000020034910B50320487088 -:102B600001F082F810BD000014000020034910B5E8 -:102B70000520487001F078F810BD00001400002016 +:102B400010000020034910B50420487001F08CF8F3 +:102B500010BD000010000020034910B5032048708C +:102B600001F082F810BD000010000020034910B5EC +:102B70000520487001F078F810BD0000100000201A :102B8000034910B50620487001F06EF810BD000032 -:102B900014000020704710B5406A01684A6822F0AE +:102B900010000020704710B5406A01684A6822F0B2 :102BA00003024A60416D41F010014165012180F846 :102BB0005110FEF70DFC10BD10B5406AFEF738FD50 :102BC00010BD10B5406AFEF7FBFF10BD10B5406A9E @@ -741,7 +741,7 @@ :102E3000016841F400510160012084F85100002034 :102E400084F850000320BDE8F8830025401E009060 :102E50002068816838EA010004D000214945BDD1CD -:102E60000020F0E70121F9E7100000207047C0F3CF +:102E60000020F0E70121F9E70C0000207047C0F3D3 :102E700040114901C0F3001241EA0211C0F3C0023F :102E800041EAC201C0F3800241EA8201C0F340027C :102E900041EA420108B500F0010001438DF800103D @@ -757,14 +757,14 @@ :102F3000A1F900220D4BFDF72BF905460E46204660 :102F4000B4F5002F01D3A4F58010FDF702FA084A6A :102F5000084BFDF71DF92A463346BDE87040FDF7E2 -:102F600089B970BD440000200000994000408F40A6 +:102F600089B970BD3C0000200000994000408F40AE :102F7000CDCCCCCCCCCCF83F08B50222694615208C :102F800000F0E8F9BDF8000040BA08BD094900208A :102F900089780A290BD0182907D0262903D034298B :102FA00000D10548704705487047054870470548F7 -:102FB000704700004400002075190300EA32060043 +:102FB000704700003C00002075190300EA3206004B :102FC000D4650C00A8CB18000148007870470000B9 -:102FD000440000201CB50446052269461D2000F06F +:102FD0003C0000201CB50446052269461D2000F077 :102FE000B9F9804840782070032865D00FDCC0B163 :102FF000012815D19DF80000404200EBD070401030 :1030000060709DF80100802819D280081DE0042816 @@ -797,8 +797,8 @@ :1031B00061F30410E0709DF80210490861F34510B6 :1031C000E0709DF8021061F38610E0709DF8030036 :1031D00000F0010020719DF8040000F0070060710C -:1031E0001CBD0000440000200148407870470000EA -:1031F00044000020F8B50C460646154669462046B0 +:1031E0001CBD00003C0000200148407870470000F2 +:1031F0003C000020F8B50C460646154669462046B8 :1032000000F01EF82278AA4201D90120F8BD31460B :103210009DF8000000F068F80020F8BD08B5002017 :103220008DF80000012269461F2000F093F89DF8F8 @@ -807,7 +807,7 @@ :103250000C4E707801280AD140F6031000F0B0F847 :10326000C00904D040F6011000F0AAF805E070781B :1032700004289DF8000000D1801C20709DF80100FA -:103280002870F8BD4400002008B500208DF800002B +:103280002870F8BD3C00002008B500208DF8000033 :1032900001226946C02000F05DF89DF8000008BDDD :1032A00070B5074D4FF480712846FDF7EAFA0446E1 :1032B00080212846FDF7E5FA44EA4000C0B270BD1F @@ -817,24 +817,24 @@ :1032F00015481446D51C1B220270417000218170B4 :103300000B4603E0C2185B1CD1709BB2A342F9D3F9 :1033100000F0B0F80D4F002210213846FDF7D0FA2A -:103320002A460B49084800F08FFF09492246C91C6C +:103320002A460B49084800F0D1FE09492246C91C2B :103330003046FCF709FF012210213846FDF7C0FA9C -:10334000BDE8F04100F096B85403002000080140A9 -:10335000531300202DE9F0410E460146901C85B222 +:10334000BDE8F04100F096B83C03002000080140C1 +:103350003B1300202DE9F0410E460146901C85B23A :10336000144814460170002141700B4603E0C21856 :103370005B1C91709BB2A342F9D300F07BF80E4F17 :10338000002210213846FDF79BFA2A460B490948CE -:1033900000F05AFF09492246891C3046FCF7D4FE4A +:1033900000F09CFE09492246891C3046FCF7D4FE09 :1033A000012210213846FDF78BFABDE8F04100F00C -:1033B00061B80000540300200008014053130020AE +:1033B00061B800003C030020000801403B130020DE :1033C00008B50122694600F003F89DF8000008BD29 :1033D0002DE9F0410E46111D164B8DB219211970C1 :1033E000010A5970987000211446D970084603E00C :1033F0001A18401C117180B2A042F9D300F03AF8BB :103400000D4F002210213846FDF75AFA2A460B4983 -:10341000084800F019FF09492246091D3046FCF70B +:10341000084800F05BFE09492246091D3046FCF7CA :1034200093FE012210213846FDF74AFABDE8F0412B -:1034300000F020B85403002000080140531300207E +:1034300000F020B83C030020000801403B130020AE :1034400010B51420FDF750FB094C00220121204645 :10345000FDF736FA3220FDF747FB012211462046E0 :10346000FDF72EFABDE810401420FDF73DBB00002B @@ -842,22 +842,22 @@ :10348000FDF756FC0128F9D070BD0000000C01408A :1034900070B50F481A23941C00F8013B002300F874 :1034A000013BFCF751FEFFF7E5FF0A4D002210211A -:1034B0002846FDF705FA2146054800F0B9FE01222D +:1034B0002846FDF705FA2146054800F0FBFD0122EC :1034C00010212846FDF7FCF9BDE87040FFF7D2BF98 -:1034D00054030020000801402DE9F0410546501C2E +:1034D0003C030020000801402DE9F0410546501C46 :1034E0001446884686B2FFF7C5FF0F4F0022102111 :1034F0003846FDF7E5F90D482246414600F8015BE4 -:10350000FCF722FE3146094800F092FE012210210C +:10350000FCF722FE3146094800F0D4FD01221021CB :103510003846FDF7D5F9842D03D0BDE8F041FFF71B -:10352000A9BFBDE8F081000000080140540300205D +:10352000A9BFBDE8F0810000000801403C03002075 :1035300013B5012201A900F001F81CBD70B50346C6 :10354000D01C84B20F48182500F8015B1D0A00F852 :10355000015B00F8013BFCF7F7FDFFF78BFF0A4D1D :10356000002210212846FDF7ABF92146054800F05E -:103570005FFE012210212846FDF7A2F9BDE8704048 -:10358000FFF778BF54030020000801400249C860DB -:1035900001F10800FFF796BE440000200348C178FF -:1035A00011B101210171704700F002B84400002000 +:10357000A1FD012210212846FDF7A2F9BDE8704007 +:10358000FFF778BF3C030020000801400249C860F3 +:1035900001F10800FFF796BE3C0000200348C17807 +:1035A00011B101210171704700F002B83C00002008 :1035B00070B5514C2078002872D0E07830B1207975 :1035C00000286DD072B60020207162B66678FFF7D1 :1035D000D3FC05464FF6FF70FFF768FC2EB1012EB5 @@ -878,7 +878,7 @@ :1036C000BED081690029BBD000208847B8E7FFE75A :1036D000E807BCD0E0680028B9D000680028B6D060 :1036E0008047B4E7002806D0C169002903D0002034 -:1036F000BDE87040084770BD4400002010B5144676 +:1036F000BDE87040084770BD3C00002010B514467E :1037000000F080F92046BDE8104000F067BA01B52E :10371000012269469E20FFF7DFFE08BD08B521386B :10372000010A8DF800108DF80100022269469820E8 @@ -889,19 +889,19 @@ :10377000E2BF0000D6BE898E08B502228DF8000097 :103780008DF8011069468F20FFF7A6FE08BD0000E6 :1037900010B500221146C520FFF79EFE0149062004 -:1037A000087010BD4400002001B501226946882040 -:1037B000FFF792FE01490620087008BD4400002072 +:1037A000087010BD3C00002001B501226946882048 +:1037B000FFF792FE01490620087008BD3C0000207A :1037C00008B5010A8DF800108DF801000548407811 :1037D00008B1032805D10222694640F6C610FFF75A -:1037E000ADFE08BD4400002008B5010A8DF80010A8 +:1037E000ADFE08BD3C00002008B5010A8DF80010B0 :1037F0008DF801000548407808B1032805D1022260 -:10380000694640F6C810FFF799FE08BD4400002045 +:10380000694640F6C810FFF799FE08BD3C0000204D :103810001CB5040A8DF800408DF80100080A8DF8E7 :103820000200100A8DF804008DF80520180A8DF8A2 :1038300006008DF803108DF80730082269468D20A8 :10384000FFF74AFE1CBD000010B500221146C12042 -:10385000FFF742FE01490320087010BD440000201C -:1038600001490020C87070474400002001B50122C2 +:10385000FFF742FE01490320087010BD3C00002024 +:1038600001490020C87070473C00002001B50122CA :1038700069469B20FFF730FE08BD000038B5234D98 :10388000044600786978884201D000F0ADF82078CD :1038900003281DD003DC38B1012822D10CE0042814 @@ -911,7 +911,7 @@ :1038D000E0798DF80000207A8DF80100607A8DF88B :1038E0000200032269468B20FFF7F6FD38BDA07A5F :1038F0008DF80000E07A8DF80100207BEFE70020D2 -:103900008DF800008DF80100E9E700004400002078 +:103900008DF800008DF80100E9E700003C00002080 :103910001CB53449044600784978884201D000F04B :1039200063F821780020032935D003DC39B101295F :103930002BD118E0042942D00F2926D14CE0607821 @@ -925,12 +925,12 @@ :1039B0008DF80400A07C8DF80500E07CE3E7217D14 :1039C0008DF80010617D8DF80110A17D8DF8021039 :1039D000E17D8DF8031000E000908DF804008DF873 -:1039E0000500D0E74400002001B505499DF800001E +:1039E0000500D0E73C00002001B505499DF8000026 :1039F0000122487069468A20FFF76EFD08BD00006D -:103A0000440000200A4601460020FFF741BD0000A7 -:103A100001490120C87070474400002070B5074D6F +:103A00003C0000200A4601460020FFF741BD0000AF +:103A100001490120C87070473C00002070B5074D77 :103A2000002400BF05EB8400817835F82400FFF7FF -:103A30007FFD641C24B2002CF4D070BD58520008E5 +:103A30007FFD641C24B2002CF4D070BDF64F00084A :103A400001B5012269469620FFF746FD08BD00003A :103A500008B5FCF78FFC0022094BFCF70BFCFCF7C8 :103A600096FC010C8DF80010010A8DF801108DF8FC @@ -938,1199 +938,1160 @@ :103A8000A8CB684008B58DF80000000C010A8DF83D :103A900001108DF802004FF6FF70FFF707FA0322BE :103AA00069468220FFF718FD01490520087008BD0E -:103AB000440000201CB58DF80000080A8DF80100B4 +:103AB0003C0000201CB58DF80000080A8DF80100BC :103AC0008DF80210100A8DF803008DF804200522ED :103AD00069469420FFF700FD0149052008701CBDD0 -:103AE0004400002000221146D520FFF7F5BC00005D +:103AE0003C00002000221146D520FFF7F5BC000065 :103AF000C107090FC0F3400241EA8201C0F380020E :103B000008B541EA4201C0F3C00001438DF800103E :103B1000044900200122087069468420FFF7DCFC7C -:103B200008BD00004400002001B501226946802044 +:103B200008BD00003C00002001B50122694680204C :103B3000FFF7D2FC9DF80010034811B1022101707B -:103B400008BD0121FBE7000044000020034619489E +:103B400008BD0121FBE700003C00002003461948A6 :103B500010B5427832B140F6CF10032A13D0042AB0 :103B600022D11EE00522012B04D0022B05D0032B0D :103B70001AD105E040F6CE1018E040F6D31015E05B :103B800040F6D81012E00422012B0FD0022B02D0F5 :103B9000032B09D102E040F6D41007E040F6D9101B :103BA00004E00422012B01D0012010BDFFF7C6FC68 -:103BB000002010BD4400002070B5044640F6CD152D +:103BB000002010BD3C00002070B5044640F6CD1535 :103BC0002846FFF7FDFB00F0F00104F00F00014371 :103BD0002846BDE87040FFF7ABBC000008B58DF883 :103BE0000000000C010A8DF801108DF802004FF65C :103BF000FF70FFF75BF9032269468320FFF76CFC37 -:103C000001490420087008BD44000020002211462C +:103C000001490420087008BD3C0000200022114634 :103C1000D220FFF761BC00221146D120FFF75CBC27 :103C200008B512308DF800008DF8011002226946A7 :103C30008E20FFF751FC08BD0649497819B10329C8 :103C400001D0042904D1014640F6C510FFF770BC2D -:103C5000704700004400002010B5FCF711FEBDE8DD -:103C6000104000F001BB00002DE9F0411F4E204C38 -:103C7000204D801E062835D2DFE800F003141920FD -:103C80002F311DA000F006FD002535701749236E69 -:103C9000052201F10800984714483178083008449B -:103CA00045701FE019A000F0F5FC286903E01DA095 -:103CB00000F0F0FC6869E16D884713E01EA000F099 -:103CC000E9FCB1880023676D1A460846B847636E61 -:103CD000AA6905211DA0984704E01EA000E023A0CA -:103CE00000F0D8FC0020BDE8F081000014000020A6 -:103CF0005C5200083C5200083C3E3E3E3E3E3E3E8A -:103D00003E4F6E5278446F6E650A0D003C3E3E3E5B -:103D10003E3E3E3E3E4F6E525854696D656F75741F -:103D20000A0D00003C3E3E3E3E3E3E3E3E4F6E5241 -:103D3000784572720A0D00003C3E3E3E3E3E3E3EDD -:103D40003E4F6E5478446F6E650A0D0068656C6C6A -:103D50006F0000003C3E3E3E3E3E3E3E3E4F6E54B7 -:103D60007854696D656F75740A0D00003C3E3E3EE7 -:103D70003E3E3E3E3E4F6E436164446F6E650A0DAB -:103D8000000000002DE9FC5F884604002CD084F878 -:103D90002680FFF761FF4FF4FA70FCF7A5FE6B4D2C -:103DA0006B48296888476BA171A000F073FC286BF1 -:103DB000804701467BA000F06DFC002520271026DF -:103DC0004FF0010A4FF00E0BB8F1000F10D04FF07A -:103DD0000509B8F1010F1DD04FF0030AB8F1020F29 -:103DE0002FD0B8F1030F44D04FF0FF30BDE8FC9F57 -:103DF00076A000F04FFC04206076452184F8231063 -:103E000084F824A084F825706070E0756775A67545 -:103E100025762BE073A000F03DFC84F819A0B021BA -:103E200061770A21A1770721E17784F801A00C20AE -:103E30006072A57284F80B90277340206073022093 -:103E400032E06EA000F026FC6576EF20A07684F8C4 -:103E50001BA0267765707020A0700820E070267186 -:103E6000677184F806903020E071257284F827B0DD -:103E70001CE068A000F00EFC84F819A0EB2184F887 -:103E8000201084F8215084F8226084F801A070206A -:103E9000A0730420E0732674677484F812903020B5 -:103EA000E07408202075092084F82700274D0D2094 -:103EB0002070A96B002088475C48E96B0078884730 -:103EC000296C5A4888475948696C18388847A96C42 -:103ED000574888470021EA6C084690472A6D94F9B4 -:103EE000000000219047E86E804794F8260050BB00 -:103EF00050A1D1E90001CDE90001AA6D6946012078 -:103F00009047AA69552140F6C7109047AA695521E4 -:103F100040F6C8109047AA69552140F6C91090474D -:103F2000D5F8D4008047D5F8DC10332088470848FE -:103F30000A38417821F03F01891C4170017821F055 -:103F40000F01891C0170002050E700005C5200083E -:103F5000240000204669726D776172652056657293 -:103F600073696F6E3A2031373039313941000000C2 -:103F70000A0A0D2020202020535831323831205099 -:103F8000696E6720506F6E672044656D6F204170C9 -:103F9000706C69636174696F6E2E2025730A0A0D57 -:103FA000000000000A0A0D202020202052616469D0 -:103FB0006F206669726D77617265207665727369CC -:103FC0006F6E20307825780A0A0D00000A72756E2F -:103FD0006E696E6720696E20424C45206D6F646586 -:103FE0000A0D00000A72756E6E696E6720696E2098 -:103FF0004C4F5241206D6F64650A0D000A72756E58 -:104000006E696E6720696E204746534B206D6F6462 -:10401000650A0D000A72756E6E696E6720696E2002 -:10402000464C5243206D6F64650A0D000403002066 -:1040300080D29990DDA09669DD00000010B5FFF7F1 -:10404000B7FA0A20FCF750FD002010BD2DE9F0431F -:1040500090F826008DB01546884628B141A000F0A2 -:1040600019FB0DB0BDE8F083252D04D9114643A0FE -:1040700000F010FBF5E7022705F03F044FF00009C0 -:10408000224639464CA000F005FB294651A000F01D -:1040900001FBA81C01F07AF80770064644702A4616 -:1040A0004146801CFCF750F84F4C0020A16B88471C -:1040B000E16B04208847042745208DF82200012069 -:1040C0004FF020088DF818708DF823008DF82480AB -:1040D000216C06A888478DF800708DF816708DF851 -:1040E000148010208DF815008DF81790616C6846CB -:1040F0008847A16C3D4888473DA1D1E90001CDE941 -:104100000A01A26D0AA901209047D4F8D400804783 -:10411000D4F8DC1033208847A269552140F6C71037 -:104120009047A269552140F6C8109047A2695521D1 -:1041300040F6C910904744F201000023676D1A460B -:104140000146B8472C48636E0268A81CC1B23046CD -:104150009847A91C29A000F09DFA304600F01CFFEA -:104160007FE700004572726F723A204E6F742069CB -:104170006E20424C45206D6F64650A004572726F77 -:10418000723A20424C4520616476657274697369A5 -:104190006E67206461746120746F6F206C6F6E674E -:1041A0003A20256420627974657320286D61782037 -:1041B0003337290A000000005044552048656164E7 -:1041C00065723A20307825303258203078253032E8 -:1041D000580A00005061796C6F6164206C656E67ED -:1041E00074683A2025640A005C52000880D29990D5 -:1041F000DDA09669DD0000003C520008424C4520DD -:104200004164766572746973696E67207061636B6F -:1042100065742073656E742C20746F74616C20500B -:104220004455206C656E6774683A2025640A000066 -:10423000044B01221A700A46002301461846FCF777 -:1042400097BA00005400002038B5064C01232370B3 -:104250000023009313460A4601460020FCF79DFA0E -:1042600038BD00005400002010B5064A022100208D -:10427000FCF770FA0021BDE81040034A0846FCF73D -:1042800069BA000005520008F9510008FCF798BD12 -:1042900010B590B028216846FBF76FFF14210AA8DB -:1042A000FBF76BFF01210804CDE9001042000292E8 -:1042B00002240491CDE907404FF4E01009906846CC -:1042C000FCF7F6FE08B172B6FEE70F20CDE90A044E -:1042D00000204FF48061CDE90C010E9002210AA864 -:1042E000FCF706FE002801D072B6FEE710B010BD44 -:1042F00070470000F0B50268194B1A4C1A4D4FF088 -:104300008047984205D0B84203D0A04201D0A842CD -:1043100003D122F070064A683243984205D0B84271 -:1043200003D0A04201D0A84203D122F44074CA684D -:1043300022434C6922F08002224302608A68C262F2 -:104340000A688262984201D10969016301214161D1 -:104350000169C90703D0016921F001010161F0BDC4 -:10436000002C0140000400400008004010B58468A3 -:1043700042EA032224F47F440A432243826010BDB0 -:10438000826822F070020A4342F0070181607047A0 -:1043900030B5036A026A22F001020262426884694F -:1043A00024F073050C682C4323F002058B682B4323 -:1043B0000A4DA8420BD123F00805CB6822F44072C5 -:1043C0002B434D6923F0040315438A692A43426055 -:1043D000846149684163036230BD0000002C0140E4 -:1043E00030B5026A036A23F01003036243688469EC -:1043F0000D6824F4E64444EA05248D6822F0200286 -:1044000042EA05120B4DA8420ED1CD6822F080027F -:1044100042EA05124D6923F4406343EA85038D693E -:1044200022F0400243EA8503436084614968816366 -:10443000026230BD002C014030B5036A026A22F4EA -:10444000807202624268C46923F4007324F0730529 -:104450000C682C438D6843EA05230C4DA8420ED10D -:10446000CD6823F4006343EA05234D6922F44052EA -:1044700042EA05128D6923F4806342EA0512426024 -:10448000C4614968C163036230BD0000002C014073 -:1044900030B5046A026A22F4805202624268C3693B -:1044A0000D6823F4E64343EA05238D6824F40054A1 -:1044B00044EA0534064DA84204D14D6922F48042F5 -:1044C00042EA85124260C36149680164046230BDFA -:1044D000002C014010B5036A046A24F00104046250 -:1044E000846924F0F00444EA021423F00A020A4327 -:1044F0008461026210BD10B5036A046A24F01004DE -:104500000462846923F0A00324F4704444EA023274 -:1045100043EA01118261016210BD01680C3151E86A -:10452000002F22F4907241E80023002BF5D101689E -:10453000143151E8002F22F0010241E80023002B42 -:10454000F5D1016B012909D101680C3151E8002F27 -:1045500022F0100241E80023002BF5D1202180F841 -:10456000421000210163704770B50446006801697C -:10457000E26821F44051114301612169A0680843B8 -:10458000616908432168CA6841F20C639A43024397 -:10459000CA6020684169A26921F4407111434161F8 -:1045A0001E492068884202D1FCF748FD01E0FCF773 -:1045B00035FD00EBC00101EB001260686421800052 -:1045C000B2FBF0F3B3FBF1F36FF018067343B2FBE9 -:1045D000F0F5B2FBF0F605EB8305322303EB05158E -:1045E000B5FBF1F5B6FBF1F605F0F00505EB0615A8 -:1045F000B2FBF0F6B2FBF0F0B0FBF1F06FF0180296 -:10460000504306EB800003EB0010B0FBF1F0216893 -:1046100000F00F002844886070BD000000380140A1 -:104620002DE9F843984617460D460446089E24E0B7 -:10463000701C22D0FCF786FBA0EB0800B0421AD811 -:10464000CEB12068C168490717D5802D15D0402DFF -:1046500013D00168C94309070FD4016800254068D9 -:1046600000902046FFF759FF0820606484F840500E -:104670000120BDE8F8830320FBE72068006835EAE5 -:10468000000004D00020B842D2D00020F1E7012081 -:10469000F9E7FEE70FB4054B10B503A9044A0298E9 -:1046A00000F0EAF810BC5DF814FB00007F4F000832 -:1046B000580000200907090E002804DB00F1E02063 -:1046C00080F80014704700F00F0000F1E02080F83F -:1046D000141D704702E008C8121F08C1002AFAD151 -:1046E00070477047002001E001C1121F002AFBD172 -:1046F000704700002DE9FF5F82B00021DDE9043042 -:10470000020DDDF840B0034318D044F61050A2F279 -:10471000FF3242431514119801281FD0A5EB0B005E -:10472000401C5FEA000A4FF000064E4FDFF8389158 -:10473000B046504615D5CAF1000413E01198012483 -:104740004AA3012801D16FEA0B010298119AC0E92E -:104750000031C0E9024206B0BDE8F09FCBF1000095 -:10476000DFE704460021404A491842EB0450CDE9F6 -:10477000001012E0E00707D032463B46404649466B -:10478000FBF706FD8046894632463B4610461946F1 -:10479000FBF7FEFC06460F466410002CEAD1DDE96B -:1047A0000401DDE90023BAF1000F06DAFBF7F0FCA3 -:1047B00042464B46FBF7ECFC05E0FBF75BFD42464F -:1047C0004B46FBF757FD04460E460022284BFBF7ED -:1047D0005BFF03D84FF0FF30014607E00022254B76 -:1047E00020463146FBF790FEFBF735FF102409E029 -:1047F000002C0ADB0A220023FBF7F8FD039B303272 -:104800001A55641E50EA0102F2D1641C039AC4F1E5 -:1048100011031444119A012A03D0012208430DD137 -:104820000AE0084304D000204FF0110B119072E70A -:10483000A3EB0B056D1E0DE05B4504DD4FF00002A0 -:1048400005F1010504E003DA4FF00002A5F10105CE -:10485000002AECD002981199C0E90231C0E9004564 -:1048600079E70000000014400000F03F3000000035 -:104870000000F0430000E03F2DE9FF4F95B09A465D -:10488000884606460025EEE1252877D100242746F4 -:10489000F94A0121039400E0044316F8013F203B4C -:1048A00001FA03F01042F7D130782A2811D06FF0C6 -:1048B0002F033078A0F13002092A16D8039A44F069 -:1048C000020402EB820203EB42021044761C0390C6 -:1048D000EFE758F8042B0392002A03DA504244F41D -:1048E0000054039044F00204761C30782E2816D130 -:1048F00016F8010F44F004042A280DD06FF02F029F -:104900003078A0F13003092B09D807EB870302EBBD -:104910004303C718761CF3E758F8047B761C3078FD -:104920006C280FD006DC4C2817D068280DD06A28D8 -:1049300014D104E0742810D07A280FD10DE044F48B -:1049400000140AE044F4801401E044F44014727846 -:10495000824202D104F58014761C761C30786628D9 -:104960000BD013DC582877D009DC002875D04528F7 -:10497000F6D04628F4D047281AD193E118E06328EE -:1049800035D0642879D0652812D18BE1702873D096 -:1049900008DC6728F1D069286FD06E280DD06F2809 -:1049A00006D1ACE073282CD0752874D0782853D069 -:1049B0005246179990476D1C54E1C4F302500228E7 -:1049C00009D003280DD0D8F8001004280DD00D60B0 -:1049D00008F1040846E1D8F80010EA17C1E90052CE -:1049E000F6E7D8F800100D80F2E70D70F0E718F840 -:1049F000041B8DF8001000208DF80100EB4601200B -:104A000003E058F804BB4FF0FF3061074FF000019E -:104A100002D40DE009F101018946B9420FDA81455E -:104A2000F8DB1BF809100029F4D108E009F10101B5 -:104A300089468142FADB1BF809100029F6D1039858 -:104A40005346A0EB090721463846179A00F080FA32 -:104A5000284400EB090507E044E008E10DE01BF8FD -:104A6000010B524617999047B9F10109F7D2534605 -:104A700021463846179AF2E039E00A21C4F302527F -:104A80004FF0000B0091022A06D058F8040BC11712 -:104A9000032A09D00AE023E008F1070020F007020A -:104AA000F2E80201904605E000B2C117042A01D1E4 -:104AB00040B2C117002906DA0A460021404261EBE4 -:104AC00002012D2202E0220504D52B228DF80420BC -:104AD000012203E0E20701D02022F7E7914657E0E8 -:104AE0000A2100E010214FF0000B00910BE0102193 -:104AF0004FF0000B44F004040827009103E0082065 -:104B00004FF0000B0090C4F30252022A05D058F86F -:104B1000040B0021032A08D008E008F1070020F068 -:104B20000702F2E80201904603E080B2042A00D1B5 -:104B3000C0B24FF0000922072AD53278702A07D078 -:104B4000DDF800C08CF0100C5CEA0B0C05D00EE018 -:104B500040228DF80420012208E050EA010306D02B -:104B600030238DF804308DF8052002229146009BF9 -:104B700083F0080353EA0B030AD150EA010201D182 -:104B8000620705D530228DF804204FF001097F1E01 -:104B90003278582A04D039A20C920CAA02920BE067 -:104BA0003BA2F9E75B46009AFBF720FC0C9B9B5C61 -:104BB000029A521E0292137050EA0102F2D1029838 -:104BC00004A9081A00F1200B600702D524F48034F0 -:104BD00000E001275F4502DDA7EB0B0000E00020AD -:104BE00000EB0B01009003984944401A0390E00346 -:104BF00006D453462146179A039800F0A9F90544B4 -:104C0000002706E001A85246C05D179990476D1C29 -:104C10007F1C4F45F6DBE0030CD553462146179A1F -:104C2000039800F095F9054404E0302052461799A6 -:104C300090476D1C0099481E00900029F5DC08E0A3 -:104C40000298029952460078491C029117999047A0 -:104C50006D1CBBF10001ABF1010BF1DC5BE100F07D -:104C600065F90544761C307800287FF40DAE19B044 -:104C70002846BDE8F08F00000928010030313233AA -:104C80003435363738396162636465660000000088 -:104C90003031323334353637383941424344454672 -:104CA00000000000600700D4062708F1070020F08C -:104CB0000700F0E80223804603F0004C5FEA0C0096 -:104CC00001D097A009E0200501D596A005E0E007F6 -:104CD00001D095A001E0AFF24C001390307823F0A2 -:104CE000004365280CD006DC452809D046281DD095 -:104CF00047287FD13BE0662818D067287AD136E074 -:104D00000021112F01DB112000E0781CCDE900010A -:104D100004A90CA8FFF7EEFCDDE90D010C9A4FF099 -:104D2000000B07F10109109200914EE04FF0004096 -:104D30000097CDE9011004A90CA8FFF7DBFCDDE921 -:104D40000D020C9B0F994FF0000B914610930092AF -:104D500011B9791C00EB0109B7EB090003D4C0F1CC -:104D6000FF3B07F10109A9EB0700019042E0012F89 -:104D700000DA01270021112F01DD112000E0384663 -:104D8000CDE9000104A90CA8FFF7B4FCDDE90D0191 -:104D90000C9A00914FF0000BB946109221070FD4E6 -:104DA000009A4A4503DA914601E0A9F10109B9F1F7 -:104DB000010F05DD109AA9F10101515C3029F4D0F1 -:104DC000B84202DA10F1040F03DA0121CDE9011033 -:104DD00010E0002803DC8344A9EB000102E0411C41 -:104DE000494500DD8946A0EB0B00401C01904FF0C7 -:104DF00000400290200705D40198484502DB4FF09F -:104E0000FF30019000208DF84B0002980DF14B0708 -:104E1000B0F1004F25D002200C902B200D9002986D -:104E200000280CDA404202902D200D9007E00A2164 -:104E30000298FBF7C5FA3031029007F8011D0C9972 -:104E4000481E0C900029F2DC02980028EFD1791E50 -:104E50000D980870307800F0200040F0450007F809 -:104E6000020D11A8C01BC01D02901398007800B15C -:104E7000012000EB0901019801EBE0710298014467 -:104E80000398401A401E0390E00306D4534621467F -:104E9000179A039800F05CF805441398007818B14D -:104EA0005246179990476D1CE00323D5534621467F -:104EB000179A039800F04CF805441BE0BBF1000F73 -:104EC00007DB0098584504DD1098179910F80B007F -:104ED00001E0179930205246904701980BF1010BE1 -:104EE000401E05F10105019004D12E20524617996C -:104EF00090476D1CB9F10001A9F10109DEDC05E064 -:104F000017F8010B5246179990476D1C0299481EDD -:104F100002900029F4DC53462146179A03989EE636 -:104F20002D0000002B000000200000002DE9F041C2 -:104F3000044600251E461746880404D405E0394679 -:104F40002020B0476D1C641EF9D52846BDE8F081CD -:104F50002DE9F041044600251E469046C80301D5C0 -:104F6000302700E02027880404D505E04146384674 -:104F7000B0476D1C641EF9D52846BDE8F08113B515 -:104F80000020FBF721FC4FF0FF3301226946FDF7BB -:104F9000CDF800981CBD000010B5002821D0114BA1 -:104FA0000022001F196803E0814203D80A464968BD -:104FB0000029F9D152B11368841A9C4204D10068C7 -:104FC00018441060104602E0506000E0186039B1EB -:104FD00002680B1A934203D10B681A4402604968B5 -:104FE000416010BD5C0000208AB0FBF7F1FEFFF7C6 -:104FF0004FF9FDF723FCFDF7FBFBFDF7B5FCFDF7D3 -:10500000D7FCFDF7F9FCFDF759FDFDF773FD002115 -:105010003548FEF7B7FE0120FDF75AFA0020FDF7EC -:10502000D6F81C2231A103A8FBF78EF836A0FFF7B3 -:1050300031FB19213CA0FFF72DFB192203A92A48B7 -:10504000FFF704F8414D002401274FF00C084FF002 -:1050500010094FF0180A4FF0200B4BF6BA2600BF8C -:10506000FEF7ECFFFBF76EFE2968401AB0F5FA6F09 -:105070000AD9192203A91C48FEF7E8FFFBF762FED4 -:10508000286033A0FFF706FBCDE9008440F2FF73F0 -:1050900037A20021C820FDF7E3F9CDE900944EF6D0 -:1050A0001D4334A200219620FDF7DAF9CDE900A4D2 -:1050B0004EF21F3330A200215020FDF7D1F9CDE987 -:1050C00000B4002133462EA20846FDF7C9F940205E -:1050D0008DE8C1000346462211462B48FDF7A0F893 -:1050E0006420FBF701FDBBE7640000200201060815 -:1050F000095358313238315F3103030A1807FF4D25 -:1051000052313601020000005374617274696E6797 -:1051100020424C45204164766572746973696E67FC -:105120002E2E2E0A000000004164766572746973A9 -:10513000696E672064617461206C656E6774683A9B -:105140002025642062797465730A00000000002045 -:10515000526573656E64696E6720424C45204164F8 -:10516000766572746973656D656E742E2E2E0A00F5 -:10517000424C45004144560053583132383100000A -:105180005358313238313100C0820008F0B50B304D -:10519000154D20F007010024144A0FE003688B42EC -:1051A0000BD38B4205D95E1A43184768C3E90067E1 -:1051B00000E04368136002C004E0021D106800288C -:1051C000ECD12046002802D1286808B10020F0BDAB -:1051D000064A07481060074A121A22F00702C0E97F -:1051E000002401202860D7E7600000205C00002038 -:1051F000DC230020D82500200149002008707047DA -:10520000540000200149002008707047540000201D -:10521000010202030405060708090A0B0C0D0E0F14 -:105220001010000000000000000001020304060747 -:10523000080900000000010203040000020010271A -:105240000200E8030200FFFF020010270200FFFF38 -:105250000200E80302001027000000008D3500085E -:105260004134000889320008D93400085533000859 -:105270003D35000831350008D1330008C13300083E -:1052800091340008E9320008A1320008C52E000858 -:10529000413A0008293B0008E93900087D38000838 -:1052A00011390008513A000879370008213C0008FC -:1052B000113800084D3B0008853A0008F531000818 -:1052C000FD360008113A0008613800081D3A000850 -:1052D000C92F0008F13A000849380008DD3B0008F2 -:1052E000B53A000891370008173C00080D3C00084B -:1052F000E9310008A937000841320008D52F00081D -:105300001D320008792F0008AD2E00086F2E00080E -:10531000E53A00081D3700080F3700086D3800080F -:10532000053A0008B93B0008E9370008373700089C -:105330006D370008C1370008393C0008E12E00082D -:10534000000000000000000000000000000000005D -:1053500000000008080808080808000018180000E5 -:1053600000486C2412000000000000000000000053 -:105370000000002424247F1212127F121212000057 -:105380000000081C2A2A0A0C1828282A2A1C0808A7 -:1053900000000022251515152A58545454220000E7 -:1053A0000000000C1212120A76252911916E0000DD -:1053B00000060604030000000000000000000000DA -:1053C00000402010100808080808081010204000AD -:1053D0000002040808101010101010080804020041 -:1053E0000000000008086B1C1C6B0808000000008F -:1053F00000000000080808087F08080808000000EE -:105400000000000000000000000000000606040389 -:105410000000000000000000FE000000000000008E -:105420000000000000000000000000000606000070 -:1054300000008040402020101008080404020200F0 -:105440000000001824424242424242422418000016 -:10545000000000080E08080808080808083E0000B8 -:105460000000003C4242422020100804427E00001E -:105470000000003C4242201820404042221C000014 -:10548000000000203028242422227E2020780000E2 -:105490000000007E0202021A26404042221C000048 -:1054A000000000382402021A26424242241800005A -:1054B0000000007E222210100808080808080000DA -:1054C0000000003C4242422418244242423C000078 -:1054D000000000182442424264584040241C00004E -:1054E000000000000000181800000000181800005C -:1054F0000000000000000008000000000008080490 -:1055000000000040201008040204081020400000A1 -:105510000000000000007F0000007F00000000008D -:1055200000000002040810204020100804020000BF -:105530000000003C424246402010100018180000B5 -:105540000000001C225A555555552D42221C0000C2 -:105550000000000808181414243C224242E700000E -:105560000000001F2222221E22424242221F00006F -:105570000000007C4242010101010142221C0000A6 -:105580000000001F2242424242424242221F0000CB -:105590000000003F4212121E12120242423F00005F -:1055A0000000003F4212121E121202020207000007 -:1055B0000000003C2222010101712122221C000076 -:1055C000000000E7424242427E42424242E700007F -:1055D0000000003E0808080808080808083E000007 -:1055E0000000007C10101010101010101010110F7F -:1055F0000000007722120A0E0A12122222770000FF -:10560000000000070202020202020202427F0000C2 -:1056100000000077363636362A2A2A2A2A6B0000FE -:10562000000000E346464A4A525252626247000076 -:105630000000001C2241414141414141221C000027 -:105640000000003F424242423E02020202070000C6 -:105650000000001C2241414141414D53321C600079 -:105660000000003F4242423E1212222242C7000086 -:105670000000007C4242020418204042423E0000EA -:105680000000007F4908080808080808081C0000F6 -:10569000000000E74242424242424242423C000095 -:1056A000000000E7424222242414141808080000D5 -:1056B0000000006B49494949555536222222000015 -:1056C000000000E7422424181818242442E70000B0 -:1056D000000000772222141408080808081C0000A3 -:1056E0000000007E2120101008040442423F000008 -:1056F000007808080808080808080808080878005A -:105700000000020204040808081010202020404075 -:10571000001E1010101010101010101010101E008D -:1057200000384400000000000000000000000000FD -:10573000000000000000000000000000000000FF6A -:10574000000608000000000000000000000000004B -:10575000000000000000003C4278444242FC00008F -:10576000000000030202021A26424242261A0000EA -:10577000000000000000003844020202443800002B -:1057800000000060404040784442424264D800003B -:10579000000000000000003C427E0202423C00008B -:1057A000000000F08808087E08080808083E00008D -:1057B000000000000000007C22221C023C42423C0F -:1057C000000000030202023A4642424242E7000061 -:1057D0000000000C0C00000E08080808083E00003D -:1057E0000000003030000038202020202020221E21 -:1057F0000000000302020272120A16122277000051 -:105800000000000E0808080808080808083E000004 -:10581000000000000000007F9292929292B7000078 -:10582000000000000000003B4642424242E7000008 -:10583000000000000000003C42424242423C0000A6 -:10584000000000000000001B26424242221E020708 -:10585000000000000000007844424242447840E0EA -:1058600000000000000000774C040404041F000046 -:10587000000000000000007C42023C40423E00006C -:10588000000000000008083E080808080830000072 -:1058900000000000000000634242424262DC00005F -:1058A00000000000000000E7422424140808000063 -:1058B00000000000000000EB49495555222200007D -:1058C000000000000000007624181818246E000064 -:1058D00000000000000000E7422424141808080714 -:1058E000000000000000007E22100808447E000036 -:1058F00000C0202020202010202020202020C000B8 -:105900001010101010101010101010101010101097 -:105910000006080808080810080808080808060013 -:105920000C32C20000000000000000000000000077 -:105930000000000000000000000000000000000067 +:103C5000704700003C00002010B5FCF711FEBDE8E5 +:103C6000104000F043BA00002DE9F0411E4E1F4CF9 +:103C70001F4D801E062834D2DFE800F00313181F02 +:103C80002E301CA000F048FC002535701649052296 +:103C9000236E881D984714483178801D084445706C +:103CA0001FE019A000F038FCE86803E01CA000F059 +:103CB00033FC2869E16D884713E01EA000F02CFC5E +:103CC000B1880023676D1A460846B847636E6A6973 +:103CD00005211DA0984704E01DA000E022A000F0EF +:103CE0001BFC0020BDE8F08110000020FC4F000804 +:103CF000A44F00083C3E3E3E3E3E3E3E3E4F6E528E +:103D000078446F6E650A0D003C3E3E3E3E3E3E3EB0 +:103D10003E4F6E525854696D656F75740A0D000000 +:103D20003C3E3E3E3E3E3E3E3E4F6E5278457272B7 +:103D30000A0D00003C3E3E3E3E3E3E3E3E4F6E542F +:103D400078446F6E650A0D0068656C6C6F0000004A +:103D50003C3E3E3E3E3E3E3E3E4F6E547854696D84 +:103D6000656F75740A0D00003C3E3E3E3E3E3E3E91 +:103D70003E4F6E436164446F6E650A0D00000000A3 +:103D800028B10449497880F83910002070474FF075 +:103D9000FF307047100000202DE9FC5F88460400CA +:103DA00033D084F838803234FFF756FF4FF4FA707E +:103DB000FCF79AFE734D74482968884773A17AA06E +:103DC00000F0AAFB286B8047014680A000F0A4FB0E +:103DD000022004F8010B002604F8010B202704F848 +:103DE000016B4FF0040B04F835694FF01009B8F17E +:103DF000000F0ED04FF0050AB8F1010F26D0B8F130 +:103E0000020F3FD0B8F1030F5BD04FF0FF30BDE899 +:103E1000FC9F78A000F080FB84F818B094F8321072 +:103E20007A4A01EB4101535C114484F822304A780C +:103E300084F82320897884F8241084F800B084F86A +:103E400016B0277584F81590E6755CE070A000F058 +:103E500063FB0122227694F833006C4900EB4000AA +:103E600009310B5C08442377417861778078A0772B +:103E700022700C202072667284F80AA0E77240203B +:103E8000207340E068A000F047FB267694F83400E9 +:103E90005E4900EB400021310A5C084462764178BB +:103EA000A1768078E0762670702060700820A0707F +:103EB00084F80390277184F805A03020A071E67182 +:103EC00021E05FA000F028FB0320207694F8351055 +:103ED00001EB41024D492D318B5C1144E3774A7867 +:103EE00084F82020897884F8211020707020607375 +:103EF00084F80EB084F80F90277484F811A0302055 +:103F0000A0740820E0740D2084F8300084F831603B +:103F100051480021C4E90A0194F83800022808D168 +:103F20004EA1D1E90001CDE90001AA6D6946012049 +:103F3000904794F83800032806D148A069460068E5 +:103F40000090AA6D01209047A96B00208847E96B7B +:103F5000207E8847296C04F118008847696C204648 +:103F60008847A96C54F8280F88470021EA6C084656 +:103F700090472A6D617A94F908009047E86E80476F +:103F8000002044E7FC4F00081C0000204669726DC9 +:103F9000776172652056657273696F6E3A203137AA +:103FA00030393139410000000A0A0D20202020203C +:103FB000535831323831204170706C6963617469D3 +:103FC0006F6E2E2025730A0A0D0000000A0A0D20CC +:103FD00020202020526164696F206669726D7761CC +:103FE00072652076657273696F6E20307825780A65 +:103FF0000A0D00000A72756E6E696E6720696E2088 +:10400000424C45206D6F64650A0D0000BC4F0008EE +:104010000A72756E6E696E6720696E204C4F524150 +:10402000206D6F64650A0D000A72756E6E696E67A9 +:1040300020696E204746534B206D6F64650A0D0062 +:104040000A72756E6E696E6720696E20464C524327 +:10405000206D6F64650A0D0080D2999012345678F5 +:104060009A00000010B50446FFF7A2FA2046FFF7B9 +:1040700087FE0520FCF738FD002010BD70B509480B +:10408000074C00238188656D1A460846A8470648F4 +:10409000636E0521826805A09847002070BD00006E +:1040A000FC4F000810000020A44F000831323334C8 +:1040B00035000000044B01221A700A460023014615 +:1040C0001846FCF755BB00004C00002038B5064CE4 +:1040D000012323700023009313460A460146002063 +:1040E000FCF75BFB38BD00004C00002010B5064A11 +:1040F00002210020FCF72EFB0021BDE81040034AFE +:104100000846FCF727BB00006D4F0008614F000810 +:10411000FCF756BE10B590B028216846FCF72DF884 +:1041200014210AA8FCF729F801210804CDE90010A0 +:104130004200029202240491CDE907404FF4E010BE +:1041400009906846FCF7B4FF08B172B6FEE70F208D +:10415000CDE90A0400204FF48061CDE90C010E90F6 +:1041600002210AA8FCF7C4FE002801D072B6FEE7BF +:1041700010B010BD70470000F0B50268194B1A4C22 +:104180001A4D4FF08047984205D0B84203D0A04264 +:1041900001D0A84203D122F070064A683243984207 +:1041A00005D0B84203D0A04201D0A84203D122F4E6 +:1041B0004074CA6822434C6922F0800222430260A4 +:1041C0008A68C2620A688262984201D10969016301 +:1041D000012141610169C90703D0016921F0010191 +:1041E0000161F0BD002C01400004004000080040C7 +:1041F00010B5846842EA032224F47F440A43224330 +:10420000826010BD826822F070020A4342F007010A +:104210008160704730B5036A026A22F001020262CF +:104220004268846924F073050C682C4323F002056E +:104230008B682B430A4DA8420BD123F00805CB68AD +:1042400022F440722B434D6923F0040315438A691D +:104250002A434260846149684163036230BD0000C3 +:10426000002C014030B5026A036A23F01003036298 +:10427000436884690D6824F4E64444EA05248D68A3 +:1042800022F0200242EA05120B4DA8420ED1CD6861 +:1042900022F0800242EA05124D6923F4406343EAAA +:1042A00085038D6922F0400243EA850343608461FF +:1042B00049688163026230BD002C014030B5036A59 +:1042C000026A22F4807202624268C46923F40073B5 +:1042D00024F073050C682C438D6843EA05230C4DCC +:1042E000A8420ED1CD6823F4006343EA05234D694B +:1042F00022F4405242EA05128D6923F4806342EAB7 +:1043000005124260C4614968C163036230BD0000A8 +:10431000002C014030B5046A026A22F48052026225 +:104320004268C3690D6823F4E64343EA05238D68B8 +:1043300024F4005444EA0534064DA84204D14D69E2 +:1043400022F4804242EA85124260C36149680164F6 +:10435000046230BD002C014010B5036A046A24F0E9 +:1043600001040462846924F0F00444EA021423F096 +:104370000A020A438461026210BD10B5036A046A2E +:1043800024F010040462846923F0A00324F4704430 +:1043900044EA023243EA01118261016210BD016800 +:1043A0000C3151E8002F22F4907241E80023002BD9 +:1043B000F5D10168143151E8002F22F0010241E8E3 +:1043C0000023002BF5D1016B012909D101680C31C3 +:1043D00051E8002F22F0100241E80023002BF5D114 +:1043E000202180F8421000210163704770B5044617 +:1043F00000680169E26821F44051114301612169BB +:10440000A0680843616908432168CA6841F20C63E7 +:104410009A430243CA6020684169A26921F440714D +:10442000114341611E492068884202D1FCF706FE13 +:1044300001E0FCF7F3FD00EBC00101EB0012606846 +:1044400064218000B2FBF0F3B3FBF1F36FF01806C8 +:104450007343B2FBF0F5B2FBF0F605EB83053223B4 +:1044600003EB0515B5FBF1F5B6FBF1F605F0F0052C +:1044700005EB0615B2FBF0F6B2FBF0F0B0FBF1F085 +:104480006FF01802504306EB800003EB0010B0FB06 +:10449000F1F0216800F00F002844886070BD000032 +:1044A000003801402DE9F843984617460D4604466A +:1044B000089E24E0701C22D0FCF744FCA0EB08000E +:1044C000B0421AD8CEB12068C168490717D5802DEF +:1044D00015D0402D13D00168C94309070FD40168D6 +:1044E0000025406800902046FFF759FF08206064CF +:1044F00084F840500120BDE8F8830320FBE72068E2 +:10450000006835EA000004D00020B842D2D0002074 +:10451000F1E70120F9E7FEE70FB4054B10B503A959 +:10452000044A029800F0EAF810BC5DF814FB0000A1 +:10453000034E0008500000200907090E002804DB84 +:1045400000F1E02080F80014704700F00F0000F147 +:10455000E02080F8141D704702E008C8121F08C14F +:10456000002AFAD170477047002001E001C1121FF4 +:10457000002AFBD1704700002DE9FF5F82B00021C7 +:10458000DDE90430020DDDF840B0034318D044F6F5 +:104590001050A2F2FF3242431514119801281FD087 +:1045A000A5EB0B00401C5FEA000A4FF000064E4FDF +:1045B000DFF83891B046504615D5CAF1000413E033 +:1045C000119801244AA3012801D16FEA0B01029836 +:1045D000119AC0E90031C0E9024206B0BDE8F09F7F +:1045E000CBF10000DFE704460021404A491842EBC6 +:1045F0000450CDE9001012E0E00707D032463B46F8 +:1046000040464946FBF7C4FD8046894632463B4654 +:1046100010461946FBF7BCFD06460F466410002CF9 +:10462000EAD1DDE90401DDE90023BAF1000F06DA81 +:10463000FBF7AEFD42464B46FBF7AAFD05E0FBF754 +:1046400019FE42464B46FBF715FE04460E46002275 +:10465000284BFCF719F803D84FF0FF30014607E06C +:104660000022254B20463146FBF74EFFFBF7F3FFB8 +:10467000102409E0002C0ADB0A220023FBF7B6FE17 +:10468000039B30321A55641E50EA0102F2D1641CB9 +:10469000039AC4F111031444119A012A03D0012290 +:1046A00008430DD10AE0084304D000204FF0110B5D +:1046B000119072E7A3EB0B056D1E0DE05B4504DD69 +:1046C0004FF0000205F1010504E003DA4FF00002AB +:1046D000A5F10105002AECD002981199C0E9023138 +:1046E000C0E9004579E70000000014400000F03FF9 +:1046F000300000000000F0430000E03F2DE9FF4FD4 +:1047000095B09A46884606460025EEE1252877D1E1 +:1047100000242746F94A0121039400E0044316F8D7 +:10472000013F203B01FA03F01042F7D130782A28EC +:1047300011D06FF02F033078A0F13002092A16D87B +:10474000039A44F0020402EB820203EB420210449B +:10475000761C0390EFE758F8042B0392002A03DA43 +:10476000504244F40054039044F00204761C307824 +:104770002E2816D116F8010F44F004042A280DD073 +:104780006FF02F023078A0F13003092B09D807EB26 +:10479000870302EB4303C718761CF3E758F8047B42 +:1047A000761C30786C280FD006DC4C2817D068288F +:1047B0000DD06A2814D104E0742810D07A280FD1C3 +:1047C0000DE044F400140AE044F4801401E044F4E1 +:1047D00040147278824202D104F58014761C761C53 +:1047E000307866280BD013DC582877D009DC0028F5 +:1047F00075D04528F6D04628F4D047281AD193E141 +:1048000018E0632835D0642879D0652812D18BE16F +:10481000702873D008DC6728F1D069286FD06E2823 +:104820000DD06F2806D1ACE073282CD0752874D039 +:10483000782853D05246179990476D1C54E1C4F321 +:104840000250022809D003280DD0D8F800100428FF +:104850000DD00D6008F1040846E1D8F80010EA1701 +:10486000C1E90052F6E7D8F800100D80F2E70D70AC +:10487000F0E718F8041B8DF8001000208DF80100F7 +:10488000EB46012003E058F804BB4FF0FF3061070E +:104890004FF0000102D40DE009F101018946B9424F +:1048A0000FDA8145F8DB1BF809100029F4D108E084 +:1048B00009F1010189468142FADB1BF80910002940 +:1048C000F6D103985346A0EB090721463846179ABC +:1048D00000F080FA284400EB090507E044E008E115 +:1048E0000DE01BF8010B524617999047B9F10109E9 +:1048F000F7D2534621463846179AF2E039E00A21AA +:10490000C4F302524FF0000B0091022A06D058F86F +:10491000040BC117032A09D00AE023E008F10700BD +:1049200020F00702F2E80201904605E000B2C1174C +:10493000042A01D140B2C117002906DA0A46002133 +:10494000404261EB02012D2202E0220504D52B2218 +:104950008DF80420012203E0E20701D02022F7E7CE +:10496000914657E00A2100E010214FF0000B009122 +:104970000BE010214FF0000B44F0040408270091D5 +:1049800003E008204FF0000B0090C4F30252022A0B +:1049900005D058F8040B0021032A08D008E008F1DC +:1049A000070020F00702F2E80201904603E080B21F +:1049B000042A00D1C0B24FF0000922072AD532786C +:1049C000702A07D0DDF800C08CF0100C5CEA0B0CEC +:1049D00005D00EE040228DF80420012208E050EAC4 +:1049E000010306D030238DF804308DF80520022213 +:1049F0009146009B83F0080353EA0B030AD150EA67 +:104A0000010201D1620705D530228DF804204FF054 +:104A100001097F1E3278582A04D039A20C920CAAC0 +:104A200002920BE03BA2F9E75B46009AFBF7DEFC43 +:104A30000C9B9B5C029A521E0292137050EA010278 +:104A4000F2D1029804A9081A00F1200B600702D5E0 +:104A500024F4803400E001275F4502DDA7EB0B0062 +:104A600000E0002000EB0B01009003984944401A3D +:104A70000390E00306D453462146179A039800F0AA +:104A8000A9F90544002706E001A85246C05D179920 +:104A900090476D1C7F1C4F45F6DBE0030CD5534659 +:104AA0002146179A039800F095F9054404E0302058 +:104AB0005246179990476D1C0099481E0090002996 +:104AC000F5DC08E00298029952460078491C0291F0 +:104AD000179990476D1CBBF10001ABF1010BF1DCA4 +:104AE0005BE100F065F90544761C307800287FF41E +:104AF0000DAE19B02846BDE8F08F0000092801006E +:104B00003031323334353637383961626364656643 +:104B10000000000030313233343536373839414205 +:104B20004344454600000000600700D4062708F112 +:104B3000070020F00700F0E80223804603F0004C55 +:104B40005FEA0C0001D097A009E0200501D596A0EE +:104B500005E0E00701D095A001E0AFF24C00139012 +:104B6000307823F0004365280CD006DC452809D0B6 +:104B700046281DD047287FD13BE0662818D06728FB +:104B80007AD136E00021112F01DB112000E0781CE2 +:104B9000CDE9000104A90CA8FFF7EEFCDDE90D0149 +:104BA0000C9A4FF0000B07F10109109200914EE0B2 +:104BB0004FF000400097CDE9011004A90CA8FFF7C1 +:104BC000DBFCDDE90D020C9B0F994FF0000B9146C9 +:104BD0001093009211B9791C00EB0109B7EB0900A1 +:104BE00003D4C0F1FF3B07F10109A9EB07000190D5 +:104BF00042E0012F00DA01270021112F01DD1120F1 +:104C000000E03846CDE9000104A90CA8FFF7B4FC88 +:104C1000DDE90D010C9A00914FF0000BB94610929E +:104C200021070FD4009A4A4503DA914601E0A9F121 +:104C30000109B9F1010F05DD109AA9F10101515CDB +:104C40003029F4D0B84202DA10F1040F03DA01215E +:104C5000CDE9011010E0002803DC8344A9EB00013A +:104C600002E0411C494500DD8946A0EB0B00401CD9 +:104C700001904FF000400290200705D4019848456C +:104C800002DB4FF0FF30019000208DF84B000298BE +:104C90000DF14B07B0F1004F25D002200C902B20D6 +:104CA0000D90029800280CDA404202902D200D90C1 +:104CB00007E00A210298FBF783FB3031029007F8E6 +:104CC000011D0C99481E0C900029F2DC0298002866 +:104CD000EFD1791E0D980870307800F0200040F078 +:104CE000450007F8020D11A8C01BC01D02901398C3 +:104CF000007800B1012000EB0901019801EBE0719F +:104D0000029801440398401A401E0390E00306D421 +:104D100053462146179A039800F05CF8054413980F +:104D2000007818B15246179990476D1CE00323D5BF +:104D300053462146179A039800F04CF805441BE0AF +:104D4000BBF1000F07DB0098584504DD1098179958 +:104D500010F80B0001E01799302052469047019857 +:104D60000BF1010B401E05F10105019004D12E202D +:104D70005246179990476D1CB9F10001A9F101093C +:104D8000DEDC05E017F8010B5246179990476D1CC1 +:104D90000299481E02900029F4DC53462146179AD6 +:104DA00003989EE62D0000002B000000200000006C +:104DB0002DE9F041044600251E461746880404D418 +:104DC00005E039462020B0476D1C641EF9D5284601 +:104DD000BDE8F0812DE9F041044600251E469046CD +:104DE000C80301D5302700E02027880404D505E05A +:104DF00041463846B0476D1C641EF9D52846BDE8CB +:104E0000F08113B50020FBF7DFFC4FF0FF330122E8 +:104E10006946FDF78BF900981CBD000010B500280D +:104E200021D0114B0022001F196803E0814203D8F2 +:104E30000A4649680029F9D152B11368841A9C4284 +:104E400004D1006818441060104602E0506000E091 +:104E5000186039B102680B1A934203D10B681A44E7 +:104E600002604968416010BD540000200EB5FBF798 +:104E7000AFFFFFF74FF9FDF7E1FCFDF7B9FCFDF7D8 +:104E800073FDFDF795FDFDF7B7FDFDF717FEFDF787 +:104E900031FE00211348FEF77FFFFFF7EFF80120F6 +:104EA000FDF716FB0020FDF792F9002120204BF6BC +:104EB000BA24CDE9000123460BA20846FDF7D0FA3B +:104EC0004021CDE9001401200B4602905022B4216C +:104ED0000748FDF7A5F90348FFF7C4F86420FBF77E +:104EE00003FEF8E7600000205358313238310000EB +:104EF00060800008F0B50B30154D20F0070100244C +:104F0000144A0FE003688B420BD38B4205D95E1A1B +:104F100043184768C3E9006700E04368136002C0B4 +:104F200004E0021D10680028ECD12046002802D1C0 +:104F3000286808B10020F0BD064A07481060074AFB +:104F4000121A22F00702C0E9002401202860D7E7E6 +:104F50005800002054000020C4230020C025002059 +:104F600001490020087070474C00002001490020D2 +:104F7000087070474C000020010202030405060778 +:104F800008090A0B0C0D0E0F1010000000000000A5 +:104F900000000102030406070809000000000102E6 +:104FA000030400000200E8030200FFFF02001027D4 +:104FB0000200FFFF0200E80302001027CE01208D4F +:104FC00001204C0120C03407A03404B00A0380182B +:104FD00006801801601801500A04500A01EF0120F0 +:104FE000CE01208D01204C0120EB0010AA00106999 +:104FF0000010690410000000000000008D3500085A +:105000004134000889320008D934000855330008BB +:105010003D35000831350008D1330008C1330008A0 +:1050200091340008E9320008A1320008C52E0008BA +:10503000413A0008293B0008E93900087D3800089A +:1050400011390008513A000879370008213C00085E +:10505000113800084D3B0008853A0008F53100087A +:10506000FD360008113A0008613800081D3A0008B2 +:10507000C92F0008F13A000849380008DD3B000854 +:10508000B53A000891370008173C00080D3C0008AD +:10509000E9310008A937000841320008D52F00087F +:1050A0001D320008792F0008AD2E00086F2E000871 +:1050B000E53A00081D3700080F3700086D38000872 +:1050C000053A0008B93B0008E937000837370008FF +:1050D0006D370008C1370008393C0008E12E000890 +:1050E00000000000000000000000000000000000C0 +:1050F0000000000808080808080800001818000048 +:1051000000486C24120000000000000000000000B5 +:105110000000002424247F1212127F1212120000B9 +:105120000000081C2A2A0A0C1828282A2A1C080809 +:1051300000000022251515152A5854545422000049 +:105140000000000C1212120A76252911916E00003F +:10515000000606040300000000000000000000003C +:10516000004020101008080808080810102040000F +:1051700000020408081010101010100808040200A3 +:105180000000000008086B1C1C6B080800000000F1 +:1051900000000000080808087F0808080800000050 +:1051A00000000000000000000000000006060403EC +:1051B0000000000000000000FE00000000000000F1 +:1051C00000000000000000000000000006060000D3 +:1051D0000000804040202010100808040402020053 +:1051E0000000001824424242424242422418000079 +:1051F000000000080E08080808080808083E00001B +:105200000000003C4242422020100804427E000080 +:105210000000003C4242201820404042221C000076 +:10522000000000203028242422227E202078000044 +:105230000000007E0202021A26404042221C0000AA +:10524000000000382402021A2642424224180000BC +:105250000000007E2222101008080808080800003C +:105260000000003C4242422418244242423C0000DA +:10527000000000182442424264584040241C0000B0 +:1052800000000000000018180000000018180000BE +:1052900000000000000000080000000000080804F2 +:1052A0000000004020100804020408102040000004 +:1052B0000000000000007F0000007F0000000000F0 +:1052C0000000000204081020402010080402000022 +:1052D0000000003C42424640201010001818000018 +:1052E0000000001C225A555555552D42221C000025 +:1052F0000000000808181414243C224242E7000071 +:105300000000001F2222221E22424242221F0000D1 +:105310000000007C4242010101010142221C000008 +:105320000000001F2242424242424242221F00002D +:105330000000003F4212121E12120242423F0000C1 +:105340000000003F4212121E121202020207000069 +:105350000000003C2222010101712122221C0000D8 +:10536000000000E7424242427E42424242E70000E1 +:105370000000003E0808080808080808083E000069 +:105380000000007C10101010101010101010110FE1 +:105390000000007722120A0E0A1212222277000061 +:1053A000000000070202020202020202427F000025 +:1053B00000000077363636362A2A2A2A2A6B000061 +:1053C000000000E346464A4A5252526262470000D9 +:1053D0000000001C2241414141414141221C00008A +:1053E0000000003F424242423E0202020207000029 +:1053F0000000001C2241414141414D53321C6000DC +:105400000000003F4242423E1212222242C70000E8 +:105410000000007C4242020418204042423E00004C +:105420000000007F4908080808080808081C000058 +:10543000000000E74242424242424242423C0000F7 +:10544000000000E742422224241414180808000037 +:105450000000006B49494949555536222222000077 +:10546000000000E7422424181818242442E7000012 +:10547000000000772222141408080808081C000005 +:105480000000007E2120101008040442423F00006A +:1054900000780808080808080808080808087800BC +:1054A00000000202040408080810102020204040D8 +:1054B000001E1010101010101010101010101E00F0 +:1054C0000038440000000000000000000000000060 +:1054D000000000000000000000000000000000FFCD +:1054E00000060800000000000000000000000000AE +:1054F000000000000000003C4278444242FC0000F2 +:10550000000000030202021A26424242261A00004C +:10551000000000000000003844020202443800008D +:1055200000000060404040784442424264D800009D +:10553000000000000000003C427E0202423C0000ED +:10554000000000F08808087E08080808083E0000EF +:10555000000000000000007C22221C023C42423C71 +:10556000000000030202023A4642424242E70000C3 +:105570000000000C0C00000E08080808083E00009F +:105580000000003030000038202020202020221E83 +:105590000000000302020272120A161222770000B3 +:1055A0000000000E0808080808080808083E000067 +:1055B000000000000000007F9292929292B70000DB +:1055C000000000000000003B4642424242E700006B +:1055D000000000000000003C42424242423C000009 +:1055E000000000000000001B26424242221E02076B +:1055F000000000000000007844424242447840E04D +:1056000000000000000000774C040404041F0000A8 +:10561000000000000000007C42023C40423E0000CE +:10562000000000000008083E0808080808300000D4 +:1056300000000000000000634242424262DC0000C1 +:1056400000000000000000E74224241408080000C5 +:1056500000000000000000EB4949555522220000DF +:10566000000000000000007624181818246E0000C6 +:1056700000000000000000E7422424141808080776 +:10568000000000000000007E22100808447E000098 +:1056900000C0202020202010202020202020C0001A +:1056A00010101010101010101010101010101010FA +:1056B0000006080808080810080808080808060076 +:1056C0000C32C200000000000000000000000000DA +:1056D00000000000000000000000000000000000CA +:1056E00000000000000000000000000000000000BA +:1056F00000000000000000000000000000000000AA +:105700000000000000000000600060006000600019 +:1057100060006000600040002000200020000000C9 +:105720000000000060006000600000000000000059 +:105730000000000060066006300398018800440005 +:105740000000000000000000000000000000000059 +:105750000000000000000000000000000000000049 +:1057600000000000000000001002100210021002F1 +:10577000FE07FE0708020801080108010801FE07EC +:10578000FE07040104010401040100000000000000 +:1057900000000000000040004000F00158034C03EE +:1057A000CC034C0058007000E000C001C001400371 +:1057B0004C035C034C034801F00040004000000033 +:1057C00000000000000000000E010A01910091009D +:1057D0009100510051003A00AE03A0025004500461 +:1057E00048044804480484028403000000000000C8 +:1057F000000000000000000038006C006C006C002D +:105800006C006C002C0098071C011A013301330155 +:105810006301E300C308C6093C0700000000000064 +:10582000000000000C001C00100010000800040024 +:105830000000000000000000000000000000000068 +:105840000000000000000000000000000000000058 +:105850000000000000040002000180008000400001 +:105860004000200020002000200020002000200018 +:1058700040004000800080000001000200040000A1 +:1058800000000000020004000800100010002000CA +:105890002000400040004000400040004000400028 +:1058A000200020001000100008000400020000008A +:1058B0000000000000000000000000004000C000E8 +:1058C0004000460C4E0FD001F0015E0F460C400028 +:1058D0004000400000000000000000000000000048 +:1058E0000000000000000000000000000000400078 +:1058F0004000400040004000FE0F400040004000DB +:105900004000400000000000000000000000000017 +:105910000000000000000000000000000000000087 +:105920000000000000000000000000000000000077 +:10593000000000000C001C00100010000800040013 :105940000000000000000000000000000000000057 -:105950000000000000000000000000000000000047 -:1059600000000000000000006000600060006000B7 -:105970006000600060004000200020002000000067 -:1059800000000000600060006000000000000000F7 -:1059900000000000600660063003980188004400A3 -:1059A00000000000000000000000000000000000F7 -:1059B00000000000000000000000000000000000E7 -:1059C000000000000000000010021002100210028F -:1059D000FE07FE0708020801080108010801FE078A -:1059E000FE0704010401040104010000000000009E -:1059F00000000000000040004000F00158034C038C -:105A0000CC034C0058007000E000C001C00140030E -:105A10004C035C034C034801F000400040000000D0 -:105A200000000000000000000E010A01910091003A -:105A30009100510051003A00AE03A00250045004FE -:105A40004804480448048402840300000000000065 -:105A5000000000000000000038006C006C006C00CA -:105A60006C006C002C0098071C011A0133013301F3 -:105A70006301E300C308C6093C0700000000000002 -:105A8000000000000C001C001000100008000400C2 -:105A90000000000000000000000000000000000006 -:105AA00000000000000000000000000000000000F6 -:105AB000000000000004000200018000800040009F -:105AC00040002000200020002000200020002000B6 -:105AD000400040008000800000010002000400003F -:105AE0000000000002000400080010001000200068 -:105AF00020004000400040004000400040004000C6 -:105B00002000200010001000080004000200000027 -:105B10000000000000000000000000004000C00085 -:105B20004000460C4E0FD001F0015E0F460C4000C5 -:105B300040004000000000000000000000000000E5 -:105B40000000000000000000000000000000400015 -:105B50004000400040004000FE0F40004000400078 -:105B600040004000000000000000000000000000B5 -:105B70000000000000000000000000000000000025 -:105B80000000000000000000000000000000000015 -:105B9000000000000C001C001000100008000400B1 -:105BA00000000000000000000000000000000000F5 -:105BB0000000000000000000FE07000000000000E0 -:105BC00000000000000000000000000000000000D5 -:105BD00000000000000000000000000000000000C5 +:105950000000000000000000FE0700000000000042 +:105960000000000000000000000000000000000037 +:105970000000000000000000000000000000000027 +:105980000000000000000000000000000000000017 +:10599000000000001C001C001C00000000000000B3 +:1059A00000000000000400060002000300010001E6 +:1059B00080008000400040006000200020001000B7 +:1059C0001000080008000C0004000600020000009F +:1059D00000000000000000000000F00098010C032F +:1059E0000C03060606060606060606060606060654 +:1059F00006060C030C039801F000000000000000F4 +:105A00000000000000000000000040007C0060007A +:105A10006000600060006000600060006000600086 +:105A20006000600060006000FC03000000000000F7 +:105A300000000000000000000000F80084010203E4 +:105A400006030603000300018001C000600020007F +:105A50001000080204020602FE030000000000001D +:105A6000000000000000000000007800C600860171 +:105A7000860180018001C0007000800100010003E8 +:105A80000003060306038601F80000000000000082 +:105A90000000000000000000000080018001C00143 +:105AA000A001A00190018801880184018201FE0FFC +:105AB0008001800180018001E007000000000000FB +:105AC00000000000000000000000FC0304000400CF +:105AD000040004000400F4008C010403000300032C +:105AE0000603060382018401F800000000000000A4 +:105AF00000000000000000000000E00118030C039B +:105B00000C0004000600E60116030E060606060653 +:105B1000060604060C021803F00000000000000056 +:105B200000000000000000000000F8070C0604025E +:105B3000040100010001800080004000400040009E +:105B40006000600060006000600000000000000075 +:105B500000000000000000000000F8010C03060631 +:105B6000060606060C021C03F000C8010C0306061C +:105B70000606060606060C03F00100000000000001 +:105B800000000000000000000000F0000C010C0309 +:105B9000060206060606060606078C0678060006B6 +:105BA000000300030C018C017800000000000000DD +:105BB00000000000000000000000000000000000E5 +:105BC00000000000E000E000E00000000000000035 +:105BD00000000000E000E000E00000000000000025 :105BE00000000000000000000000000000000000B5 -:105BF000000000001C001C001C0000000000000051 -:105C00000000000000040006000200030001000183 -:105C10008000800040004000600020002000100054 -:105C20001000080008000C0004000600020000003C -:105C300000000000000000000000F00098010C03CC -:105C40000C030606060606060606060606060606F1 -:105C500006060C030C039801F00000000000000091 -:105C60000000000000000000000040007C00600018 -:105C70006000600060006000600060006000600024 -:105C80006000600060006000FC0300000000000095 -:105C900000000000000000000000F8008401020382 -:105CA00006030603000300018001C000600020001D -:105CB0001000080204020602FE03000000000000BB -:105CC000000000000000000000007800C60086010F -:105CD000860180018001C000700080010001000386 -:105CE0000003060306038601F80000000000000020 -:105CF0000000000000000000000080018001C001E1 -:105D0000A001A00190018801880184018201FE0F99 -:105D10008001800180018001E00700000000000098 -:105D200000000000000000000000FC03040004006C -:105D3000040004000400F4008C01040300030003C9 -:105D40000603060382018401F80000000000000041 -:105D500000000000000000000000E00118030C0338 -:105D60000C0004000600E60116030E0606060606F1 -:105D7000060604060C021803F000000000000000F4 -:105D800000000000000000000000F8070C060402FC -:105D9000040100010001800080004000400040003C -:105DA0006000600060006000600000000000000013 -:105DB00000000000000000000000F8010C030606CF -:105DC000060606060C021C03F000C8010C030606BA -:105DD0000606060606060C03F0010000000000009F -:105DE00000000000000000000000F0000C010C03A7 -:105DF000060206060606060606078C067806000654 -:105E0000000300030C018C0178000000000000007A -:105E10000000000000000000000000000000000082 -:105E200000000000E000E000E000000000000000D2 -:105E300000000000E000E000E000000000000000C2 -:105E40000000000000000000000000000000000052 -:105E50000000000060006000000000000000000082 -:105E600000000000000060006000400020002000F2 -:105E7000000000000000000000040002000180009B -:105E8000400020001000080004000800100020005E -:105E9000400080000001000200040000000000003B -:105EA00000000000000000000000000000000000F2 -:105EB00000000000FE07000000000000FE070000D8 -:105EC00000000000000000000000000000000000D2 -:105ED0000000000000000000040008001000200086 -:105EE0004000800000010002000400020001800068 -:105EF0004000200010000800040000000000000026 -:105F000000000000000000000000E0031806040C80 -:105F1000040C0C0C0C0C00078001400040004000F9 -:105F200000000000E000E000E000000000000000D1 -:105F30000000000000000000E00018030C02CC0587 -:105F400064056605A605B604B604B604B604B60232 -:105F5000E4010C040C021803F00000000000000033 -:105F60000000000000000000000060006000500021 -:105F7000D00090009000880088010801F801040317 -:105F800004030402020202060F0F000000000000DA -:105F900000000000000000000000FE008C030C0365 -:105FA0000C030C030C038C01FC000C030C020C060C -:105FB0000C060C060C060C03FE010000000000009D -:105FC00000000000000000000000E00318030C06C1 -:105FD0000C04040406000600060006000600060085 -:105FE00006040C040C021803F0000000000000007E -:105FF000000000000000000000007F008C010C0386 -:106000000C030C060C060C060C060C060C060C0603 -:106010000C060C030C038C017F0000000000000044 -:1060200000000000000000000000FF03060306045B -:106030000604060086008600FE00860086008600B4 -:106040000600060406040602FF030000000000002C -:1060500000000000000000000000FF03060306042B -:106060000604060086008600FE0086008600860084 -:1060700006000600060006001F00000000000000E9 -:1060800000000000000000000000F00018010C02F9 -:106090000C0204020600060006000600C60F0603F6 -:1060A00006030C030C031803F000000000000000BE -:1060B000000000000000000000000F0F06060606AA -:1060C0000606060606060606FE0706060606060677 -:1060D00006060606060606060F0F00000000000072 -:1060E00000000000000000000000FC0360006000F1 -:1060F00060006000600060006000600060006000A0 -:106100006000600060006000FC0300000000000010 -:1061100000000000000000000000F807C000C00000 -:10612000C000C000C000C000C000C000C000C0006F -:10613000C000C000C000C000C000C60066003C0037 -:1061400000000000000000000000CF038601C60030 -:1061500046002600160036002E006E004600C600DF -:1061600086008601060106038F070000000000007C -:10617000000000000000000000001F0006000600F4 -:1061800006000600060006000600060006000600DF -:106190000600060406040602FF03000000000000DB -:1061A00000000000000000000000070786038603CF -:1061B0008E038E034E034E034A035A035A033A03D7 -:1061C000320332033203120387070000000000008D -:1061D000000000000000000000008E0F0C021C02F6 -:1061E0001C0234023402640264024402C4028402C7 -:1061F00084038403040304031F0200000000000062 -:1062000000000000000000000000F00098010C03F6 -:106210000C0206060606060606060606060606061C -:1062200006060C020C039801F000000000000000BC -:1062300000000000000000000000FF00060306064A -:1062400006060606060606068603FE00060006008B -:1062500006000600060006001F0000000000000007 -:1062600000000000000000000000F00098010C0396 -:106270000C020606060606060606060606060606BC -:1062800076064C02CC039801F00080070003000062 -:1062900000000000000000000000FF0106030606E9 -:1062A0000606060606060603FE004600C600860031 -:1062B00086010603060306060F0E0000000000001C -:1062C00000000000000000000000F8020C030602BD -:1062D000060206000E003C00F800E0038003000701 -:1062E0000206020606060C03F00100000000000092 -:1062F00000000000000000000000FE0762046108CA -:106300006108600060006000600060006000600084 -:106310006000600060006000F80100000000000004 -:10632000000000000000000000001E070C020C022C -:106330000C020C020C020C020C020C020C020C02ED -:106340000C020C020C021801F0000000000000001A -:10635000000000000000000000000F07060204011A -:1063600004010C010C01880088009800980050007E -:1063700050007000300020002000000000000000ED -:1063800000000000000000000000F70E620442045C -:106390004604460464026402E402E4029C029C0196 -:1063A0009801980188018800880000000000000022 -:1063B000000000000000000000009E070C01080122 -:1063C00018019000B0006000200060006000D00064 -:1063D00090008801080104038E07000000000000FF -:1063E000000000000000000000000F0F060404027F -:1063F0000C0208011801B800B000700060006000D5 -:106400006000600060006000F80100000000000013 -:1064100000000000000000000000FC070C02060362 -:106420000201800180004000400020002000100098 -:10643000180008040C040402FE0300000000000021 -:1064400000000000E00320002000200020002000C9 -:10645000200020002000200020002000200020003C -:10646000200020002000200020002000E003000089 -:106470000000000000000000040004000800080004 -:106480001000100010002000200040004000C0005C -:1064900080008000000100010002000200020004F0 -:1064A000000000007C004000400040004000400030 -:1064B00040004000400040004000400040004000DC -:1064C0004000400040004000400040007C000000D0 -:1064D00000006000900008010000000000000000C3 -:1064E00000000000000000000000000000000000AC -:1064F000000000000000000000000000000000009C -:10650000000000000000000000000000000000008B -:10651000000000000000000000000000000000007B -:106520000000000000000000000000000000FF0F5D -:1065300000000000180060000000000000000000E3 +:105BF00000000000600060000000000000000000E5 +:105C00000000000000006000600040002000200054 +:105C100000000000000000000004000200018000FD +:105C200040002000100008000400080010002000C0 +:105C3000400080000001000200040000000000009D +:105C40000000000000000000000000000000000054 +:105C500000000000FE07000000000000FE0700003A +:105C60000000000000000000000000000000000034 +:105C700000000000000000000400080010002000E8 +:105C800040008000000100020004000200018000CA +:105C90004000200010000800040000000000000088 +:105CA00000000000000000000000E0031806040CE3 +:105CB000040C0C0C0C0C000780014000400040005C +:105CC00000000000E000E000E00000000000000034 +:105CD0000000000000000000E00018030C02CC05EA +:105CE00064056605A605B604B604B604B604B60295 +:105CF000E4010C040C021803F00000000000000096 +:105D00000000000000000000000060006000500083 +:105D1000D00090009000880088010801F801040379 +:105D200004030402020202060F0F0000000000003C +:105D300000000000000000000000FE008C030C03C7 +:105D40000C030C030C038C01FC000C030C020C066E +:105D50000C060C060C060C03FE01000000000000FF +:105D600000000000000000000000E00318030C0623 +:105D70000C040404060006000600060006000600E7 +:105D800006040C040C021803F000000000000000E0 +:105D9000000000000000000000007F008C010C03E8 +:105DA0000C030C060C060C060C060C060C060C0666 +:105DB0000C060C030C038C017F00000000000000A7 +:105DC00000000000000000000000FF0306030604BE +:105DD0000604060086008600FE0086008600860017 +:105DE0000600060406040602FF030000000000008F +:105DF00000000000000000000000FF03060306048E +:105E00000604060086008600FE00860086008600E6 +:105E100006000600060006001F000000000000004B +:105E200000000000000000000000F00018010C025B +:105E30000C0204020600060006000600C60F060358 +:105E400006030C030C031803F00000000000000020 +:105E5000000000000000000000000F0F060606060C +:105E60000606060606060606FE07060606060606D9 +:105E700006060606060606060F0F000000000000D4 +:105E800000000000000000000000FC036000600053 +:105E90006000600060006000600060006000600002 +:105EA0006000600060006000FC0300000000000073 +:105EB00000000000000000000000F807C000C00063 +:105EC000C000C000C000C000C000C000C000C000D2 +:105ED000C000C000C000C000C000C60066003C009A +:105EE00000000000000000000000CF038601C60093 +:105EF00046002600160036002E006E004600C60042 +:105F000086008601060106038F07000000000000DE +:105F1000000000000000000000001F000600060056 +:105F20000600060006000600060006000600060041 +:105F30000600060406040602FF030000000000003D +:105F40000000000000000000000007078603860331 +:105F50008E038E034E034E034A035A035A033A0339 +:105F600032033203320312038707000000000000EF +:105F7000000000000000000000008E0F0C021C0258 +:105F80001C0234023402640264024402C402840229 +:105F900084038403040304031F02000000000000C4 +:105FA00000000000000000000000F00098010C0359 +:105FB0000C0206060606060606060606060606067F +:105FC00006060C020C039801F0000000000000001F +:105FD00000000000000000000000FF0006030606AD +:105FE00006060606060606068603FE0006000600EE +:105FF00006000600060006001F000000000000006A +:1060000000000000000000000000F00098010C03F8 +:106010000C0206060606060606060606060606061E +:1060200076064C02CC039801F000800700030000C4 +:1060300000000000000000000000FF01060306064B +:106040000606060606060603FE004600C600860093 +:1060500086010603060306060F0E0000000000007E +:1060600000000000000000000000F8020C0306021F +:10607000060206000E003C00F800E0038003000763 +:106080000206020606060C03F001000000000000F4 +:1060900000000000000000000000FE07620461082C +:1060A00061086000600060006000600060006000E7 +:1060B0006000600060006000F80100000000000067 +:1060C000000000000000000000001E070C020C028F +:1060D0000C020C020C020C020C020C020C020C0250 +:1060E0000C020C020C021801F0000000000000007D +:1060F000000000000000000000000F07060204017D +:1061000004010C010C0188008800980098005000E0 +:10611000500070003000200020000000000000004F +:1061200000000000000000000000F70E62044204BE +:106130004604460464026402E402E4029C029C01F8 +:106140009801980188018800880000000000000084 +:10615000000000000000000000009E070C01080184 +:1061600018019000B0006000200060006000D000C6 +:1061700090008801080104038E0700000000000061 +:10618000000000000000000000000F0F06040402E1 +:106190000C0208011801B800B00070006000600037 +:1061A0006000600060006000F80100000000000076 +:1061B00000000000000000000000FC070C020603C5 +:1061C00002018001800040004000200020001000FB +:1061D000180008040C040402FE0300000000000084 +:1061E00000000000E003200020002000200020002C +:1061F000200020002000200020002000200020009F +:10620000200020002000200020002000E0030000EB +:106210000000000000000000040004000800080066 +:106220001000100010002000200040004000C000BE +:106230008000800000010001000200020002000452 +:10624000000000007C004000400040004000400092 +:10625000400040004000400040004000400040003E +:106260004000400040004000400040007C00000032 +:106270000000600090000801000000000000000025 +:10628000000000000000000000000000000000000E +:1062900000000000000000000000000000000000FE +:1062A00000000000000000000000000000000000EE +:1062B00000000000000000000000000000000000DE +:1062C0000000000000000000000000000000FF0FC0 +:1062D0000000000018006000000000000000000046 +:1062E00000000000000000000000000000000000AE +:1062F000000000000000000000000000000000009E +:10630000000000000000000000000000000000008D +:1063100000000000F0010C030C030003E0031C0369 +:106320000E03060306038E0B7C0E00000000000027 +:10633000000000000000000008000E000C000C002F +:106340000C000C00CC013C031C060C060C060C06D1 +:106350000C060C060C021C03E40100000000000007 +:10636000000000000000000000000000000000002D +:1063700000000000F0008C018C0186010600060080 +:10638000060006020C020C01F000000000000000F4 +:1063900000000000000000000002C0030003000332 +:1063A0000003000378038C030C03060306030603B3 +:1063B0000603060304038C077801000000000000B8 +:1063C00000000000000000000000000000000000CD +:1063D00000000000E001180308020C060C06FC0790 +:1063E0000C000C0018041802E0010000000000007E +:1063F00000000000000000000000C003600630063E +:1064000030003000FE01300030003000300030003D +:106410003000300030003000FC01000000000000BF +:10642000000000000000000000000000000000006C +:1064300000000000F007D8068C018C018C01980147 +:10644000F8000C00FC00CC03060306038E03F800E2 +:10645000000000000000000008000E000C000C000E +:106460000C000C00EC011C030C030C030C030C03CC +:106470000C030C030C030C039E070000000000003B +:10648000000000000000000000006000600000004C +:10649000000040007C006000600060006000600060 +:1064A0006000600060006000FC030000000000006D +:1064B00000000000000000000000C001C00100005A +:1064C00000000001F0018001800180018001800155 +:1064D000800180018001800180018001CC007C006E +:1064E000000000000000000008000E000C000C007E +:1064F0000C000C008C038C008C004C006C005C00C9 +:106500008C008C010C010C039E07000000000000B1 +:10651000000000000000000040007C0060006000FF +:10652000600060006000600060006000600060006B +:106530006000600060006000FC03000000000000DC :10654000000000000000000000000000000000004B -:10655000000000000000000000000000000000003B -:10656000000000000000000000000000000000002B -:1065700000000000F0010C030C030003E0031C0307 -:106580000E03060306038E0B7C0E000000000000C5 -:10659000000000000000000008000E000C000C00CD -:1065A0000C000C00CC013C031C060C060C060C066F -:1065B0000C060C060C021C03E401000000000000A5 -:1065C00000000000000000000000000000000000CB -:1065D00000000000F0008C018C018601060006001E -:1065E000060006020C020C01F00000000000000092 -:1065F00000000000000000000002C00300030003D0 -:106600000003000378038C030C0306030603060350 -:106610000603060304038C07780100000000000055 -:10662000000000000000000000000000000000006A -:1066300000000000E001180308020C060C06FC072D -:106640000C000C0018041802E0010000000000001B -:1066500000000000000000000000C00360063006DB -:1066600030003000FE0130003000300030003000DB -:106670003000300030003000FC010000000000005D -:10668000000000000000000000000000000000000A -:1066900000000000F007D8068C018C018C019801E5 -:1066A000F8000C00FC00CC03060306038E03F80080 -:1066B000000000000000000008000E000C000C00AC -:1066C0000C000C00EC011C030C030C030C030C036A -:1066D0000C030C030C030C039E07000000000000D9 -:1066E00000000000000000000000600060000000EA -:1066F000000040007C0060006000600060006000FE -:106700006000600060006000FC030000000000000A -:1067100000000000000000000000C001C0010000F7 -:1067200000000001F00180018001800180018001F2 -:10673000800180018001800180018001CC007C000B -:10674000000000000000000008000E000C000C001B -:106750000C000C008C038C008C004C006C005C0066 -:106760008C008C010C010C039E070000000000004F -:10677000000000000000000040007C00600060009D -:106780006000600060006000600060006000600009 -:106790006000600060006000FC030000000000007A -:1067A00000000000000000000000000000000000E9 -:1067B000000000003707EE066606660666066606F7 -:1067C0006606660666066606FF0F0000000000000B -:1067D00000000000000000000000000000000000B9 -:1067E00000000000EE011C030C030C030C030C035F -:1067F0000C030C030C030C039E07000000000000B8 -:106800000000000000000000000000000000000088 -:1068100000000000F00098010C03060606060606BC -:10682000060606060C030C03F00000000000000042 -:106830000000000000000000000000000000000058 -:1068400000000000EE011C030C060C060C060C06F2 -:106850000C060C060C031C03EC010C000C003E00A3 -:106860000000000000000000000000000000000028 -:106870000000000078028C030C03060306030603E5 -:106880000603060304038C03780300030003C00718 +:10655000000000003707EE06660666066606660659 +:106560006606660666066606FF0F0000000000006D +:10657000000000000000000000000000000000001B +:1065800000000000EE011C030C030C030C030C03C1 +:106590000C030C030C030C039E070000000000001A +:1065A00000000000000000000000000000000000EB +:1065B00000000000F00098010C030606060606061F +:1065C000060606060C030C03F000000000000000A5 +:1065D00000000000000000000000000000000000BB +:1065E00000000000EE011C030C060C060C060C0655 +:1065F0000C060C060C031C03EC010C000C003E0006 +:10660000000000000000000000000000000000008A +:106610000000000078028C030C0306030603060347 +:106620000603060304038C03780300030003C0077A +:10663000000000000000000000000000000000005A +:10664000000000009F0358063806180018001800C4 +:106650001800180018001800FF00000000000000DB +:10666000000000000000000000000000000000002A +:1066700000000000F0031C030C020C023800F000C4 +:10668000C003040304038C03FC01000000000000AD +:1066900000000000000000000000000020002000BA +:1066A00030003000FE01300030003000300030009B +:1066B0003000300030023002E00100000000000035 +:1066C00000000000000000000000000000000000CA +:1066D000000008028E030C030C030C030C030C03D4 +:1066E0000C030C030C039C07780100000000000061 +:1066F000000000000000000000000000000000009A +:10670000000000001E070C0208010801180190009B +:10671000B000B00060006000200000000000000039 +:106720000000000000000000000000000000000069 +:1067300000000000F70E6204460464026402EC02EA +:106740009C019801980198010800000000000000D9 +:106750000000000000000000000000000000000039 +:1067600000000000BC0718011001B00060006000CC +:10677000E0009000080108039E07000000000000F0 +:106780000000000000000000000000000000000009 +:10679000000000009E070801080108019000900019 +:1067A000B0006000600060002000200024001C0099 +:1067B00000000000000000000000000000000000D9 +:1067C00000000000FC018401C400440060002000BF +:1067D0003000180208020C03FC0100000000000059 +:1067E0000000000000038000800080008000800026 +:1067F0008000800080004000200040008000800079 +:106800008000800080008000800080000003000085 +:106810004000400040004000400040004000400078 +:106820004000400040004000400040004000400068 +:106830004000400040004000400040004000400058 +:10684000000000000C0010001000100010001000EC +:106850001000100010002000400020001000100068 +:106860001000100010001000100010000C000000BC +:1068700000001C002204C20480030000000000008D +:106880000000000000000000000000000000000008 :1068900000000000000000000000000000000000F8 -:1068A000000000009F035806380618001800180062 -:1068B0001800180018001800FF0000000000000079 +:1068A00000000000000000000000000000000000E8 +:1068B00000000000000000000000000000000000D8 :1068C00000000000000000000000000000000000C8 -:1068D00000000000F0031C030C020C023800F00062 -:1068E000C003040304038C03FC010000000000004B -:1068F0000000000000000000000000002000200058 -:1069000030003000FE013000300030003000300038 -:106910003000300030023002E001000000000000D2 -:106920000000000000000000000000000000000067 -:10693000000008028E030C030C030C030C030C0371 -:106940000C030C030C039C077801000000000000FE +:1068D00000000000000000000000000000000000B8 +:1068E00000000000000000000000C001C001C00165 +:1068F000C001C001C001C001800080008000800094 +:106900008000800080000000000000000000800186 +:10691000C003C00380010000000000000000000070 +:10692000000000000000E01CE01CF01E700E3807A4 +:1069300018030801840000000000000000000000AF +:106940000000000000000000000000000000000047 :106950000000000000000000000000000000000037 -:10696000000000001E070C02080108011801900039 -:10697000B000B000600060002000000000000000D7 -:106980000000000000000000000000000000000007 -:1069900000000000F70E6204460464026402EC0288 -:1069A0009C01980198019801080000000000000077 -:1069B00000000000000000000000000000000000D7 -:1069C00000000000BC0718011001B000600060006A -:1069D000E0009000080108039E070000000000008E -:1069E00000000000000000000000000000000000A7 -:1069F000000000009E0708010801080190009000B7 -:106A0000B0006000600060002000200024001C0036 -:106A10000000000000000000000000000000000076 -:106A200000000000FC018401C4004400600020005C -:106A30003000180208020C03FC01000000000000F6 -:106A400000000000000380008000800080008000C3 -:106A50008000800080004000200040008000800016 -:106A60008000800080008000800080000003000023 -:106A70004000400040004000400040004000400016 -:106A80004000400040004000400040004000400006 -:106A900040004000400040004000400040004000F6 -:106AA000000000000C00100010001000100010008A -:106AB0001000100010002000400020001000100006 -:106AC0001000100010001000100010000C0000005A -:106AD00000001C002204C20480030000000000002B -:106AE00000000000000000000000000000000000A6 -:106AF0000000000000000000000000000000000096 -:106B00000000000000000000000000000000000085 -:106B10000000000000000000000000000000000075 +:1069600000000000000000000000000020102010C7 +:10697000201020102010FE7FFE7F10081008100845 +:106980001008100810081008FE7FFE7F0804080495 +:1069900008040804080400000000000000000000D3 +:1069A000000000000000000000010001C0076019A5 +:1069B000103118311839183938017001E001C0035D +:1069C0008007000F001D003900311C311C310C31D3 +:1069D0000C11180DE007000100010001000000008B +:1069E0000000000000000000000000001C1036182D +:1069F0006308630C63046304630263026301361D6E +:106A00009C3780228063406340632063206330634F +:106A100010221836081C00000000000000000000D2 +:106A2000000000000000000000000000F0009801DD +:106A30008C018C018C018C018C00CC007800183EFC +:106A40001C083608320863046304C304C303834389 +:106A500006438E26781C00000000000000000000A5 +:106A60000000000000001C003C003C003000300032 +:106A700010000C00060000000000000000000000F4 +:106A80000000000000000000000000000000000006 +:106A900000000000000000000000000000000000F6 +:106AA0000000000000000040002000100008000C62 +:106AB0000004000600030003000380018001800140 +:106AC0008001800180018001800100030003000338 +:106AD00000060006000C0008001000200040000026 +:106AE0000000000000000200040008001000300058 +:106AF00020006000C000C000C00080018001800153 +:106B000080018001800180018001C000C000C000C0 +:106B10006000600030001000080004000200000067 :106B20000000000000000000000000000000000065 -:106B30000000000000000000000000000000000055 -:106B400000000000000000000000C001C001C00102 -:106B5000C001C001C001C001800080008000800031 -:106B60008000800080000000000000000000800124 -:106B7000C003C0038001000000000000000000000E -:106B8000000000000000E01CE01CF01E700E380742 -:106B9000180308018400000000000000000000004D +:106B300000018003800300011C713C79783DC0078F +:106B40000001C007783D3C791C710001800380037F +:106B500080010000000000000000000000000000B4 +:106B60000000000000000000000000000000000025 +:106B7000000000010001000100010001000100010E +:106B8000FC7F000100010001000100010001000183 +:106B900000000000000000000000000000000000F5 :106BA00000000000000000000000000000000000E5 :106BB00000000000000000000000000000000000D5 -:106BC0000000000000000000000000002010201065 -:106BD000201020102010FE7FFE7F100810081008E3 -:106BE0001008100810081008FE7FFE7F0804080433 -:106BF0000804080408040000000000000000000071 -:106C0000000000000000000000010001C007601942 -:106C1000103118311839183938017001E001C003FA -:106C20008007000F001D003900311C311C310C3170 -:106C30000C11180DE0070001000100010000000028 -:106C40000000000000000000000000001C103618CA -:106C50006308630C63046304630263026301361D0B -:106C60009C378022806340634063206320633063ED -:106C700010221836081C0000000000000000000070 -:106C8000000000000000000000000000F00098017B -:106C90008C018C018C018C018C00CC007800183E9A -:106CA0001C083608320863046304C304C303834327 -:106CB00006438E26781C0000000000000000000043 -:106CC0000000000000001C003C003C0030003000D0 -:106CD00010000C0006000000000000000000000092 -:106CE00000000000000000000000000000000000A4 -:106CF0000000000000000000000000000000000094 -:106D00000000000000000040002000100008000CFF -:106D100000040006000300030003800180018001DD -:106D200080018001800180018001000300030003D5 -:106D300000060006000C00080010002000400000C3 -:106D400000000000000002000400080010003000F5 -:106D500020006000C000C000C000800180018001F0 -:106D600080018001800180018001C000C000C0005E -:106D70006000600030001000080004000200000005 -:106D80000000000000000000000000000000000003 -:106D900000018003800300011C713C79783DC0072D -:106DA0000001C007783D3C791C710001800380031D -:106DB0008001000000000000000000000000000052 -:106DC00000000000000000000000000000000000C3 -:106DD00000000001000100010001000100010001AC -:106DE000FC7F000100010001000100010001000121 -:106DF0000000000000000000000000000000000093 -:106E00000000000000000000000000000000000082 -:106E10000000000000000000000000000000000072 -:106E20000000000000000000000000000000000062 -:106E30001C003C003C003000300010000C0006003C -:106E40000000000000000000000000000000000042 -:106E50000000000000000000000000000000000032 -:106E6000FE7F0000000000000000000000000000A5 -:106E70000000000000000000000000000000000012 -:106E80000000000000000000000000000000000002 -:106E900000000000000000000000000000000000F2 -:106EA00000000000000000000000000000001800CA -:106EB0003C003C0018000000000000000000000042 -:106EC00000000000000000400060002000300010C2 -:106ED00000180008000C0004000600020003000176 -:106EE00080018000C00040006000200030001000E1 -:106EF000180008000C00040006000200000000005A -:106F0000000000000000000000000000C007600C4E -:106F100030181830183018200C600C600C600C60B1 -:106F20000C600C600C600C600C601820183018307D -:106F30003018600CC00700000000000000000000D6 -:106F400000000000000000000000000000018001BF -:106F5000F8018001800180018001800180018001B1 -:106F60008001800180018001800180018001800119 -:106F70008001C003F81F00000000000000000000B6 -:106F8000000000000000000000000000E007101CEE -:106F90000818043004300C300C30003000180008A1 -:106FA0000004000200018000400020201020082082 -:106FB0000430FC1FFC1F0000000000000000000067 -:106FC000000000000000000000000000E003180EB8 -:106FD0000C0C0C180C180C180018000C0006C00340 -:106FE000000E00180010003000300C300C300C1077 -:106FF0000C18180CE0030000000000000000000066 -:10700000000000000000000000000000000C000E66 -:10701000000E000F800E800E400E600E200E100E2F -:10702000100E080E040E040EFE7F000E000E000E61 -:10703000000E000E000EC07F0000000000000000E7 -:10704000000000000000000000000000F03FF03FE2 -:1070500010001000100008000800C807280C1818BD -:10706000081000300030003000300C300C300418B4 -:107070000418080CF00300000000000000000000ED -:10708000000000000000000000000000800FC010A1 -:10709000203010301800180008000C008C0F6C18FD -:1070A0003C301C600C600C600C600C601860182098 -:1070B00030306018C0070000000000000000000031 -:1070C000000000000000000000000000F83FF83F52 -:1070D0001C100C0804080404000400020002000153 -:1070E00000010001800080008000C000C000C000DE -:1070F000C000C000C0000000000000000000000050 -:10710000000000000000000000000000E007300C5C -:1071100018180C300C300C301C3038187008E00790 -:10712000B007180E0C1C0638063006300630063044 -:107130000C18180CE0030000000000000000000024 -:10714000000000000000000000000000E003180440 -:107150000C080C18061006300630063006300638CB -:107160000C3C1836F03100300018001800180C0CD8 -:107170000C060C03F00100000000000000000000FD -:1071800000000000000000000000000000000000FF -:10719000000000000000000000008001C003C003E8 -:1071A00080010000000000000000000000008001DD -:1071B000C003C003800100000000000000000000C8 -:1071C00000000000000000000000000000000000BF -:1071D00000000000000000000000C000C00000002F -:1071E000000000000000000000000000000000009F -:1071F0000000C000C000800080004000400000008F -:107200000000000000000000000000200010000846 -:107210000004000600038001C00060003000180078 -:107220000C00180030006000C00080010003000660 -:107230000004000800100020000000000000000012 -:10724000000000000000000000000000000000003E -:1072500000000000000000000000FE7F00000000B1 -:10726000000000000000FE7F0000000000000000A1 -:10727000000000000000000000000000000000000E -:1072800000000000000000000000040008001000E2 -:1072900020006000C000800100030006000C001800 -:1072A00000300018000C000600038001C0006000E0 -:1072B0002000100008000400000000000000000092 -:1072C00000000000000000000000C0073018083077 -:1072D00008600C601C601C601C600030001C000614 -:1072E000000180008000800080000000000080011C -:1072F000C003C00380010000000000000000000087 -:10730000000000000000000000000000C00760183E -:10731000103018200C2F8C4D864CC64CC64C664C39 -:1073200066446644662666266615CC1C0C4008201A -:1073300018303018C00700000000000000000000F6 -:10734000000000000000000000000001C001C001BA -:10735000C001400160032003200320033006100613 -:1073600010061006F80F080C080C080C0C0C04187A -:10737000041806181F7C0000000000000000000038 -:10738000000000000000000000000000FE07181CC4 -:10739000183818301830183018301818180CF8072A -:1073A00018181830182018601860186018601860D5 -:1073B00018301818FE0F0000000000000000000048 -:1073C000000000000000000000000000C02760383E -:1073D000103018200C400C40040006000600060087 -:1073E000060006000600060006000C400C400C20BB -:1073F00018303018C0070000000000000000000036 -:10740000000000000000000000000000FE03180E55 -:107410001818183018301830186018601860186084 -:10742000186018601860186018601830183018104C -:107430001818180EFE0300000000000000000000F5 -:10744000000000000000000000000000FE3F1830B7 -:10745000182018601840180018081808180CF80FA1 -:10746000180C1808180818001800180018401840C0 -:1074700018201830FE3F000000000000000000004F -:10748000000000000000000000000000FE7F1870F7 -:10749000184018C018801800181018101818F81F75 -:1074A00018181810181018001800180018001800E4 -:1074B000180018007E00000000000000000000001E -:1074C000000000000000000000000000C013701C5D -:1074D000101018100C200C200400060006000600F6 -:1074E0000600060006FC063006300C300C30183062 -:1074F00018303008C0070000000000000000000045 -:107500000000000000000000000000003F7E0C189A -:107510000C180C180C180C180C180C180C180C184B -:10752000FC1F0C180C180C180C180C180C180C1844 -:107530000C180C183F7E0000000000000000000046 -:10754000000000000000000000000000F81F8001A3 -:107550008001800180018001800180018001800123 -:107560008001800180018001800180018001800113 -:1075700080018001F81F00000000000000000000F2 -:10758000000000000000000000000000E07F000696 -:1075900000060006000600060006000600060006BB -:1075A00000060006000600060006000600060006AB -:1075B00000060006000600060E060E038E01FC0003 -:1075C0000000000000000000000000007E7C181891 -:1075D0001808180418061802180198019801D80113 -:1075E000B803380318071806180E180C181C1818BA -:1075F000183018307EFC0000000000000000000081 -:107600000000000000000000000000007E001800E4 -:1076100018001800180018001800180018001800AA -:10762000180018001800180018001800184018401A -:1076300018201830FE3F000000000000000000008D -:107640000000000000000000000000001FF81C38CF -:107650001C381C381C3C34343434343434367432E2 -:107660006432643264326431C431C431C431C430F0 -:10767000C43084309FFC00000000000000000000C7 -:107680000000000000000000000000001F7C1C1033 -:107690003C103410341074106410E410C410C41181 -:1076A00084118413041304170416041E041C041C00 -:1076B000041C04181F180000000000000000000057 -:1076C000000000000000000000000000C003300CBB -:1076D000181808100C300C30066006600660066052 -:1076E000066006600660066006600C200C3008101C -:1076F0001818300CC003000000000000000000005B -:10770000000000000000000000000000FE0F18183C -:107710001830186018601860186018601830181851 -:10772000F80F1800180018001800180018001800AA -:10773000180018007E00000000000000000000009B -:10774000000000000000000000000000C003300C3A -:1077500018180C100C300C200660066006600660DD -:1077600006600660066006600660E4612C331C3229 -:107770001816300EC007004C007C003800000000D6 -:10778000000000000000000000000000FE07181CC0 -:10779000183818301830183018301818180CF80726 -:1077A00098031803180718061806180E180C180C5A -:1077B000181C18187E78000000000000000000006F -:1077C000000000000000000000000000E02730384A -:1077D00018300C200C200C000C0018007800E0037E -:1077E000800F001E003800700060046004600860B4 -:1077F00018303818C80F000000000000000000001A -:10780000000000000000000000000000FC3F8C2190 -:107810008461824182418001800180018001800178 -:107820008001800180018001800180018001800150 -:1078300080018001E007000000000000000000005F -:107840000000000000000000000000003F7C0C1061 -:107850000C100C100C100C100C100C100C100C1048 -:107860000C100C100C100C100C100C100C100C1038 -:1078700008083804E00300000000000000000000D9 -:107880000000000000000000000000003EF818208A -:1078900018201820301030103010301060086008A8 -:1078A0006008E00CC004C004C004800380038003AF -:1078B0008003000100010000000000000000000043 -:1078C000000000000000000000000000DFF38661FF -:1078D000862186218C210C218C238C138C138C13F4 -:1078E0004C1358125816580E380E380E380E300CED -:1078F000100410041004000000000000000000004C -:107900000000000000000000000000007E3E18089B -:1079100038083004300470026002E001C001C00188 -:10792000800180034003400720062006100C100C45 -:10793000081808183E7C000000000000000000004D -:107940000000000000000000000000007E7C1C1011 -:10795000181018083008300C700460046002C0026F -:10796000C002C0018001800180018001800180018E -:1079700080018001E007000000000000000000001E -:10798000000000000000000000000000F83F181890 -:107990000818040C040E0006000700038003800191 -:1079A000C001C000E00060007000300038201820E6 -:1079B0001C100C18FE1F000000000000000000005A -:1079C000000000000000C03F4000400040004000B8 -:1079D00040004000400040004000400040004000A7 -:1079E0004000400040004000400040004000400097 -:1079F00040004000400040004000C03F0000000048 -:107A0000000000000000000000000800180018003E -:107A1000100030002000600060004000C0008000C6 -:107A2000800180010001000300020006000600043E -:107A3000000C0008001800180010003000200000A2 -:107A4000000000000000FC0300020002000200022F -:107A50000002000200020002000200020002000216 -:107A60000002000200020002000200020002000206 -:107A700000020002000200020002FC0300000000FD -:107A80000000000000008007C00620081010000061 -:107A900000000000000000000000000000000000E6 -:107AA00000000000000000000000000000000000D6 -:107AB00000000000000000000000000000000000C6 -:107AC00000000000000000000000000000000000B6 -:107AD00000000000000000000000000000000000A6 -:107AE0000000000000000000000000000000000096 -:107AF0000000000000000000000000000000FFFF88 -:107B00000000000000007800C0000001000000003C -:107B10000000000000000000000000000000000065 -:107B20000000000000000000000000000000000055 -:107B30000000000000000000000000000000000045 -:107B40000000000000000000000000000000000035 -:107B500000000000000000000000F00318060C0CFC -:107B60000C0C000C800F700C1C0C0C0C060C060C82 -:107B7000064C0C4FF8380000000000000000000028 -:107B80000000000000000000000010001E001800AF -:107B900018001800180018001800180FD8183830EE -:107BA0003860186018601860186018601860182035 -:107BB00038307818C80700000000000000000000FE -:107BC00000000000000000000000000000000000B5 -:107BD00000000000000000000000C007700C181832 -:107BE00018180C180C000C000C000C000C201820AD -:107BF00018103008C007000000000000000000005E -:107C0000000000000000000000000010001E00182E -:107C100000180018001800180018E01B301C181875 -:107C200018180C180C180C180C180C180C1808182C -:107C3000181C307AE009000000000000000000007D -:107C40000000000000000000000000000000000034 -:107C500000000000000000000000C007300C1818F1 -:107C600008100C300C30FC3F0C000C000C001820ED -:107C700018107018C007000000000000000000008D -:107C8000000000000000000000000000003E80C373 -:107C900080C0C0C0C000C000C000FC1FC000C00049 -:107CA000C000C000C000C000C000C000C000C000D4 -:107CB000C000C000F80F000000000000000000003D -:107CC00000000000000000000000000000000000B4 -:107CD00000000000000000000000C077306C1018A9 -:107CE0001818181818181018300CF0071800180079 -:107CF000F00FF03F08700C600C600C603838E00F3B -:107D00000000000000000000000010001E0018002D -:107D100018001800180018001800980FD8183830EC -:107D20001830183018301830183018301830183013 -:107D3000183018307EFC0000000000000000000039 -:107D4000000000000000000000000000800380032D -:107D500080030000000000000001F80180018001A4 -:107D6000800180018001800180018001800180010B -:107D700080018001F81F00000000000000000000EA -:107D80000000000000000000000000000038003883 -:107D900000380000000000000010801F00180018CC -:107DA0000018001800180018001800180018001813 -:107DB00000180018001800180018180C1806F00316 -:107DC0000000000000000000000010001E0018006D -:107DD00018001800180018001800183E180C180693 -:107DE000180318019801D801380318071806180C51 -:107DF000181C18187E7C0000000000000000000025 -:107E0000000000000000000000000001F8018001F7 -:107E1000800180018001800180018001800180015A -:107E2000800180018001800180018001800180014A -:107E300080018001F81F0000000000000000000029 -:107E40000000000000000000000000000000000032 -:107E500000000000000000000800EE1C9C338C3184 -:107E60008C318C318C318C318C318C318C318C312A -:107E70008C318C31DE7B000000000000000000002F -:107E800000000000000000000000000000000000F2 -:107E9000000000000000000010001E0FD81838304D -:107EA0001830183018301830183018301830183092 -:107EB000183018307EFC00000000000000000000B8 -:107EC00000000000000000000000000000000000B2 -:107ED00000000000000000000000C007701C10300F -:107EE00018300C600C600C600C600C600C6018307A -:107EF00018303018C007000000000000000000002B -:107F00000000000000000000000000000000000071 -:107F1000000000000000000010009E0F58183830CC -:107F20001820186018601860186018601860183001 -:107F300038307818980718001800180018007E00CC -:107F40000000000000000000000000000000000031 -:107F500000000000000000000000C023303C183882 -:107F600018300C300C300C300C300C300C30083029 -:107F70001838303CE033003000300030003000FC76 -:107F800000000000000000000000000000000000F1 -:107F9000000000000000000060007E3C6066606140 -:107FA000E000E000600060006000600060006000D1 -:107FB00060006000FE0700000000000000000000FC -:107FC00000000000000000000000000000000000B1 -:107FD00000000000000000000000E02730381830EA -:107FE000182018007000E003800F001C04300430DB -:107FF0000C301C18EC0F0000000000000000000016 -:108000000000000000000000000000000000000070 -:10801000800080008000C000E000FC1FC000C000A5 -:10802000C000C000C000C000C000C000C000C02030 -:10803000C0208011000F00000000000000000000C0 +:106BC00000000000000000000000000000000000C5 +:106BD0001C003C003C003000300010000C0006009F +:106BE00000000000000000000000000000000000A5 +:106BF0000000000000000000000000000000000095 +:106C0000FE7F000000000000000000000000000007 +:106C10000000000000000000000000000000000074 +:106C20000000000000000000000000000000000064 +:106C30000000000000000000000000000000000054 +:106C4000000000000000000000000000000018002C +:106C50003C003C00180000000000000000000000A4 +:106C60000000000000000040006000200030001024 +:106C700000180008000C00040006000200030001D8 +:106C800080018000C0004000600020003000100043 +:106C9000180008000C0004000600020000000000BC +:106CA000000000000000000000000000C007600CB1 +:106CB00030181830183018200C600C600C600C6014 +:106CC0000C600C600C600C600C60182018301830E0 +:106CD0003018600CC0070000000000000000000039 +:106CE0000000000000000000000000000001800122 +:106CF000F801800180018001800180018001800114 +:106D0000800180018001800180018001800180017B +:106D10008001C003F81F0000000000000000000018 +:106D2000000000000000000000000000E007101C50 +:106D30000818043004300C300C3000300018000803 +:106D400000040002000180004000202010200820E4 +:106D50000430FC1FFC1F00000000000000000000C9 +:106D6000000000000000000000000000E003180E1A +:106D70000C0C0C180C180C180018000C0006C003A2 +:106D8000000E00180010003000300C300C300C10D9 +:106D90000C18180CE00300000000000000000000C8 +:106DA000000000000000000000000000000C000EC9 +:106DB000000E000F800E800E400E600E200E100E92 +:106DC000100E080E040E040EFE7F000E000E000EC4 +:106DD000000E000E000EC07F00000000000000004A +:106DE000000000000000000000000000F03FF03F45 +:106DF00010001000100008000800C807280C181820 +:106E0000081000300030003000300C300C30041816 +:106E10000418080CF003000000000000000000004F +:106E2000000000000000000000000000800FC01003 +:106E3000203010301800180008000C008C0F6C185F +:106E40003C301C600C600C600C600C6018601820FA +:106E500030306018C0070000000000000000000093 +:106E6000000000000000000000000000F83FF83FB4 +:106E70001C100C08040804040004000200020001B5 +:106E800000010001800080008000C000C000C00040 +:106E9000C000C000C00000000000000000000000B2 +:106EA000000000000000000000000000E007300CBF +:106EB00018180C300C300C301C3038187008E007F3 +:106EC000B007180E0C1C06380630063006300630A7 +:106ED0000C18180CE0030000000000000000000087 +:106EE000000000000000000000000000E0031804A3 +:106EF0000C080C180610063006300630063006382E +:106F00000C3C1836F03100300018001800180C0C3A +:106F10000C060C03F001000000000000000000005F +:106F20000000000000000000000000000000000061 +:106F3000000000000000000000008001C003C0034A +:106F4000800100000000000000000000000080013F +:106F5000C003C0038001000000000000000000002A +:106F60000000000000000000000000000000000021 +:106F700000000000000000000000C000C000000091 +:106F80000000000000000000000000000000000001 +:106F90000000C000C00080008000400040000000F1 +:106FA00000000000000000000000002000100008A9 +:106FB0000004000600038001C000600030001800DB +:106FC0000C00180030006000C000800100030006C3 +:106FD0000004000800100020000000000000000075 +:106FE00000000000000000000000000000000000A1 +:106FF00000000000000000000000FE7F0000000014 +:10700000000000000000FE7F000000000000000003 +:107010000000000000000000000000000000000070 +:107020000000000000000000000004000800100044 +:1070300020006000C000800100030006000C001862 +:1070400000300018000C000600038001C000600042 +:1070500020001000080004000000000000000000F4 +:1070600000000000000000000000C00730180830D9 +:1070700008600C601C601C601C600030001C000676 +:10708000000180008000800080000000000080017E +:10709000C003C003800100000000000000000000E9 +:1070A000000000000000000000000000C0076018A1 +:1070B000103018200C2F8C4D864CC64CC64C664C9C +:1070C00066446644662666266615CC1C0C4008207D +:1070D00018303018C0070000000000000000000059 +:1070E000000000000000000000000001C001C0011D +:1070F000C001400160032003200320033006100676 +:1071000010061006F80F080C080C080C0C0C0418DC +:10711000041806181F7C000000000000000000009A +:10712000000000000000000000000000FE07181C26 +:10713000183818301830183018301818180CF8078C +:107140001818183018201860186018601860186037 +:1071500018301818FE0F00000000000000000000AA +:10716000000000000000000000000000C0276038A0 +:10717000103018200C400C400400060006000600E9 +:10718000060006000600060006000C400C400C201D +:1071900018303018C0070000000000000000000098 +:1071A000000000000000000000000000FE03180EB8 +:1071B00018181830183018301860186018601860E7 +:1071C00018601860186018601860183018301810AF +:1071D0001818180EFE030000000000000000000058 +:1071E000000000000000000000000000FE3F18301A +:1071F000182018601840180018081808180CF80F04 +:10720000180C180818081800180018001840184022 +:1072100018201830FE3F00000000000000000000B1 +:10722000000000000000000000000000FE7F187059 +:10723000184018C018801800181018101818F81FD7 +:107240001818181018101800180018001800180046 +:10725000180018007E000000000000000000000080 +:10726000000000000000000000000000C013701CBF +:10727000101018100C200C20040006000600060058 +:107280000600060006FC063006300C300C301830C4 +:1072900018303008C00700000000000000000000A7 +:1072A0000000000000000000000000003F7E0C18FD +:1072B0000C180C180C180C180C180C180C180C18AE +:1072C000FC1F0C180C180C180C180C180C180C18A7 +:1072D0000C180C183F7E00000000000000000000A9 +:1072E000000000000000000000000000F81F800106 +:1072F0008001800180018001800180018001800186 +:107300008001800180018001800180018001800175 +:1073100080018001F81F0000000000000000000054 +:10732000000000000000000000000000E07F0006F8 +:10733000000600060006000600060006000600061D +:10734000000600060006000600060006000600060D +:1073500000060006000600060E060E038E01FC0065 +:107360000000000000000000000000007E7C1818F3 +:107370001808180418061802180198019801D80175 +:10738000B803380318071806180E180C181C18181C +:10739000183018307EFC00000000000000000000E3 +:1073A0000000000000000000000000007E00180047 +:1073B000180018001800180018001800180018000D +:1073C000180018001800180018001800184018407D +:1073D00018201830FE3F00000000000000000000F0 +:1073E0000000000000000000000000001FF81C3832 +:1073F0001C381C381C3C3434343434343436743245 +:107400006432643264326431C431C431C431C43052 +:10741000C43084309FFC0000000000000000000029 +:107420000000000000000000000000001F7C1C1095 +:107430003C103410341074106410E410C410C411E3 +:1074400084118413041304170416041E041C041C62 +:10745000041C04181F1800000000000000000000B9 +:10746000000000000000000000000000C003300C1D +:10747000181808100C300C300660066006600660B4 +:10748000066006600660066006600C200C3008107E +:107490001818300CC00300000000000000000000BD +:1074A000000000000000000000000000FE0F18189F +:1074B00018301860186018601860186018301818B4 +:1074C000F80F18001800180018001800180018000D +:1074D000180018007E0000000000000000000000FE +:1074E000000000000000000000000000C003300C9D +:1074F00018180C100C300C20066006600660066040 +:1075000006600660066006600660E4612C331C328B +:107510001816300EC007004C007C00380000000038 +:10752000000000000000000000000000FE07181C22 +:10753000183818301830183018301818180CF80788 +:1075400098031803180718061806180E180C180CBC +:10755000181C18187E7800000000000000000000D1 +:10756000000000000000000000000000E0273038AC +:1075700018300C200C200C000C0018007800E003E0 +:10758000800F001E00380070006004600460086016 +:1075900018303818C80F000000000000000000007C +:1075A000000000000000000000000000FC3F8C21F3 +:1075B00084618241824180018001800180018001DB +:1075C00080018001800180018001800180018001B3 +:1075D00080018001E00700000000000000000000C2 +:1075E0000000000000000000000000003F7C0C10C4 +:1075F0000C100C100C100C100C100C100C100C10AB +:107600000C100C100C100C100C100C100C100C109A +:1076100008083804E003000000000000000000003B +:107620000000000000000000000000003EF81820EC +:10763000182018203010301030103010600860080A +:107640006008E00CC004C004C00480038003800311 +:1076500080030001000100000000000000000000A5 +:10766000000000000000000000000000DFF3866161 +:10767000862186218C210C218C238C138C138C1356 +:107680004C1358125816580E380E380E380E300C4F +:1076900010041004100400000000000000000000AE +:1076A0000000000000000000000000007E3E1808FE +:1076B00038083004300470026002E001C001C001EB +:1076C000800180034003400720062006100C100CA8 +:1076D000081808183E7C00000000000000000000B0 +:1076E0000000000000000000000000007E7C1C1074 +:1076F000181018083008300C700460046002C002D2 +:10770000C002C001800180018001800180018001F0 +:1077100080018001E0070000000000000000000080 +:10772000000000000000000000000000F83F1818F2 +:107730000818040C040E00060007000380038001F3 +:10774000C001C000E0006000700030003820182048 +:107750001C100C18FE1F00000000000000000000BC +:10776000000000000000C03F40004000400040001A +:107770004000400040004000400040004000400009 +:1077800040004000400040004000400040004000F9 +:1077900040004000400040004000C03F00000000AA +:1077A00000000000000000000000080018001800A1 +:1077B000100030002000600060004000C000800029 +:1077C00080018001000100030002000600060004A1 +:1077D000000C000800180018001000300020000005 +:1077E000000000000000FC03000200020002000292 +:1077F0000002000200020002000200020002000279 +:107800000002000200020002000200020002000268 +:1078100000020002000200020002FC03000000005F +:107820000000000000008007C006200810100000C3 +:107830000000000000000000000000000000000048 +:107840000000000000000000000000000000000038 +:107850000000000000000000000000000000000028 +:107860000000000000000000000000000000000018 +:107870000000000000000000000000000000000008 +:1078800000000000000000000000000000000000F8 +:107890000000000000000000000000000000FFFFEA +:1078A0000000000000007800C0000001000000009F +:1078B00000000000000000000000000000000000C8 +:1078C00000000000000000000000000000000000B8 +:1078D00000000000000000000000000000000000A8 +:1078E0000000000000000000000000000000000098 +:1078F00000000000000000000000F00318060C0C5F +:107900000C0C000C800F700C1C0C0C0C060C060CE4 +:10791000064C0C4FF838000000000000000000008A +:107920000000000000000000000010001E00180011 +:1079300018001800180018001800180FD818383050 +:107940003860186018601860186018601860182097 +:1079500038307818C8070000000000000000000060 +:107960000000000000000000000000000000000017 +:1079700000000000000000000000C007700C181894 +:1079800018180C180C000C000C000C000C2018200F +:1079900018103008C00700000000000000000000C0 +:1079A000000000000000000000000010001E001891 +:1079B00000180018001800180018E01B301C1818D8 +:1079C00018180C180C180C180C180C180C1808188F +:1079D000181C307AE00900000000000000000000E0 +:1079E0000000000000000000000000000000000097 +:1079F00000000000000000000000C007300C181854 +:107A000008100C300C30FC3F0C000C000C0018204F +:107A100018107018C00700000000000000000000EF +:107A2000000000000000000000000000003E80C3D5 +:107A300080C0C0C0C000C000C000FC1FC000C000AB +:107A4000C000C000C000C000C000C000C000C00036 +:107A5000C000C000F80F000000000000000000009F +:107A60000000000000000000000000000000000016 +:107A700000000000000000000000C077306C10180B +:107A80001818181818181018300CF00718001800DB +:107A9000F00FF03F08700C600C600C603838E00F9D +:107AA0000000000000000000000010001E00180090 +:107AB00018001800180018001800980FD81838304F +:107AC0001830183018301830183018301830183076 +:107AD000183018307EFC000000000000000000009C +:107AE0000000000000000000000000008003800390 +:107AF00080030000000000000001F8018001800107 +:107B0000800180018001800180018001800180016D +:107B100080018001F81F000000000000000000004C +:107B200000000000000000000000000000380038E5 +:107B300000380000000000000010801F001800182E +:107B40000018001800180018001800180018001875 +:107B500000180018001800180018180C1806F00378 +:107B60000000000000000000000010001E001800CF +:107B700018001800180018001800183E180C1806F5 +:107B8000180318019801D801380318071806180CB3 +:107B9000181C18187E7C0000000000000000000087 +:107BA000000000000000000000000001F80180015A +:107BB00080018001800180018001800180018001BD +:107BC00080018001800180018001800180018001AD +:107BD00080018001F81F000000000000000000008C +:107BE0000000000000000000000000000000000095 +:107BF00000000000000000000800EE1C9C338C31E7 +:107C00008C318C318C318C318C318C318C318C318C +:107C10008C318C31DE7B0000000000000000000091 +:107C20000000000000000000000000000000000054 +:107C3000000000000000000010001E0FD8183830AF +:107C400018301830183018301830183018301830F4 +:107C5000183018307EFC000000000000000000001A +:107C60000000000000000000000000000000000014 +:107C700000000000000000000000C007701C103071 +:107C800018300C600C600C600C600C600C601830DC +:107C900018303018C007000000000000000000008D +:107CA00000000000000000000000000000000000D4 +:107CB000000000000000000010009E0F581838302F +:107CC0001820186018601860186018601860183064 +:107CD00038307818980718001800180018007E002F +:107CE0000000000000000000000000000000000094 +:107CF00000000000000000000000C023303C1838E5 +:107D000018300C300C300C300C300C300C3008308B +:107D10001838303CE033003000300030003000FCD8 +:107D20000000000000000000000000000000000053 +:107D3000000000000000000060007E3C60666061A2 +:107D4000E000E00060006000600060006000600033 +:107D500060006000FE07000000000000000000005E +:107D60000000000000000000000000000000000013 +:107D700000000000000000000000E027303818304C +:107D8000182018007000E003800F001C043004303D +:107D90000C301C18EC0F0000000000000000000078 +:107DA00000000000000000000000000000000000D3 +:107DB000800080008000C000E000FC1FC000C00008 +:107DC000C000C000C000C000C000C000C000C02093 +:107DD000C0208011000F0000000000000000000023 +:107DE0000000000000000000000000000000000093 +:107DF000000000000000000010201E3C1830183069 +:107E00001830183018301830183018301830183032 +:107E1000183830F4E01300000000000000000000FB +:107E20000000000000000000000000000000000052 +:107E3000000000000000000000007E3C1818180838 +:107E4000380830043004700260026002E001C001B2 +:107E5000C001C00080000000000000000000000021 +:107E60000000000000000000000000000000000012 +:107E700000000000000000000000DFF78E630C230C +:107E80008C238C239813981358165816700E700E66 +:107E9000700E20042004000000000000000000001C +:107EA00000000000000000000000000000000000D2 +:107EB00000000000000000000000FC3E700870049C +:107EC000E004C002C0018003800340076006200C6C +:107ED000100C18183E7E000000000000000000009A +:107EE0000000000000000000000000000000000092 +:107EF000000000000000000000007E7C1818180838 +:107F000030083008300460046004C002C002C002BF +:107F10008001800180018000800080004C003C00D6 +:107F20000000000000000000000000000000000051 +:107F300000000000000000000000FC1F0C0C040EFC +:107F40000406000380038001C000E00070203020A0 +:107F500038301C18FC1F000000000000000000006A +:107F600000000000000000300008000400040004CD +:107F700000040004000400040004000400040002E3 +:107F80008001000200040004000400040004000456 +:107F90000004000400040004000400080030000095 +:107FA00000010001000100010001000100010001C9 +:107FB00000010001000100010001000100010001B9 +:107FC00000010001000100010001000100010001A9 +:107FD0000001000100010001000100010001000199 +:107FE0000000000000000C00100020002000200015 +:107FF0002000200020002000200020002000400061 +:1080000080014000200020002000200020002000EF +:108010002000200020002000200010000C000000A4 +:1080200000003800C400864002610022001C0000ED +:108030000000000000000000000000000000000040 :108040000000000000000000000000000000000030 -:10805000000000000000000010201E3C1830183006 -:1080600018301830183018301830183018301830D0 -:10807000183830F4E0130000000000000000000099 +:108050000000000000000000000000000000000020 +:108060000000000000000000000000000000000010 +:108070000000000000000000000000000000000000 :1080800000000000000000000000000000000000F0 -:10809000000000000000000000007E3C18181808D6 -:1080A000380830043004700260026002E001C00150 -:1080B000C001C000800000000000000000000000BF +:1080900000000000000000000000000000000000E0 +:1080A00000000000000000000000000000000000D0 +:1080B00000000000000000000000000000000000C0 :1080C00000000000000000000000000000000000B0 -:1080D00000000000000000000000DFF78E630C23AA -:1080E0008C238C239813981358165816700E700E04 -:1080F000700E2004200400000000000000000000BA -:10810000000000000000000000000000000000006F -:1081100000000000000000000000FC3E7008700439 -:10812000E004C002C0018003800340076006200C09 -:10813000100C18183E7E0000000000000000000037 -:10814000000000000000000000000000000000002F -:10815000000000000000000000007E7C18181808D5 -:1081600030083008300460046004C002C002C0025D -:108170008001800180018000800080004C003C0074 -:1081800000000000000000000000000000000000EF -:1081900000000000000000000000FC1F0C0C040E9A -:1081A0000406000380038001C000E000702030203E -:1081B00038301C18FC1F0000000000000000000008 -:1081C000000000000000003000080004000400046B -:1081D0000004000400040004000400040004000281 -:1081E00080010002000400040004000400040004F4 -:1081F0000004000400040004000400080030000033 -:108200000001000100010001000100010001000166 -:108210000001000100010001000100010001000156 -:108220000001000100010001000100010001000146 -:108230000001000100010001000100010001000136 -:108240000000000000000C001000200020002000B2 -:1082500020002000200020002000200020004000FE -:10826000800140002000200020002000200020008D -:108270002000200020002000200010000C00000042 -:1082800000003800C400864002610022001C00008B -:1082900000000000000000000000000000000000DE -:1082A00000000000000000000000000000000000CE -:1082B00000000000000000000000000000000000BE -:1082C00000000000000000000000000000000000AE -:1082D000000000000000000000000000000000009E -:1082E000000000000000000000000000000000008E -:1082F000000000000000000000000000000000007E -:10830000000000000000000000000000000000006D -:10831000000000000000000000000000000000005D -:10832000000000000000000000000000000000004D -:10833000000000000000000000000000000000003D -:108340000001F80000FFC0000007FC0001FFE00092 -:10835000000FFF0007FFF000001FFF800FFFF0007D -:10836000003FFFC01FFFF800003FFFE07FFFF80065 -:10837000003FFFF0FFFFF800003FFFFBFFFFF800AA -:10838000003FFFFFFFFFF800003FFFFFFFFFF80087 -:10839000003FFFFFFF9FF800003FFFFFFF0FF800C7 -:1083A000003FF3FFFC0FF800003FF1FFF80FF8006B -:1083B000003FF0FFE00FF800003FF07F800FF80073 -:1083C000003FF01E000FF800003FF008000FF8001B -:1083D000003FF000000FF800003FF000000FF80031 -:1083E000003FF0000E0FF800003FF0001E0FF800F5 -:1083F000003FE0007E0FF800003FE000FE0FF800B5 -:10840000003FE001FE0FF800003FE003FE0FF80020 -:10841000003FE007FE0FF800003FE007FE0FF80006 -:10842000003FE003FE0FF800003FE001FE0FF80000 -:10843000003FE000FE0FF800003FE0007E0FF80074 -:10844000000000000000000000000000000000002C -:10845000000000000000000000000000000000001C -:10846000000000000000000000000000000000000C -:1084700000000000000000000000000000000000FC -:1084800000000000000000000000000000000000EC -:1084900000000000000000000000000000000000DC -:1084A00000000000000000000000000000000000CC -:1084B00000000000000000000000000000000000BC -:1084C000E08400080000002064000000D44600089A -:1084D000448500086400002074290000E446000878 -:1084E000000000000100000010000000000000007B -:1084F00000127A0005000240014000000000000068 -:10850000000000006D2B0008312B00080000000067 -:1085100000000000812B0008592B0008452B0008A3 -:108520000000000000000000000000009D35000871 -:10853000000000000000000000000000000000003B -:048540000000000037 +:1080D00000000000000000000000000000000000A0 +:1080E0000001F80000FFC0000007FC0001FFE000F5 +:1080F000000FFF0007FFF000001FFF800FFFF000E0 +:10810000003FFFC01FFFF800003FFFE07FFFF800C7 +:10811000003FFFF0FFFFF800003FFFFBFFFFF8000C +:10812000003FFFFFFFFFF800003FFFFFFFFFF800E9 +:10813000003FFFFFFF9FF800003FFFFFFF0FF80029 +:10814000003FF3FFFC0FF800003FF1FFF80FF800CD +:10815000003FF0FFE00FF800003FF07F800FF800D5 +:10816000003FF01E000FF800003FF008000FF8007D +:10817000003FF000000FF800003FF000000FF80093 +:10818000003FF0000E0FF800003FF0001E0FF80057 +:10819000003FE0007E0FF800003FE000FE0FF80017 +:1081A000003FE001FE0FF800003FE003FE0FF80083 +:1081B000003FE007FE0FF800003FE007FE0FF80069 +:1081C000003FE003FE0FF800003FE001FE0FF80063 +:1081D000003FE000FE0FF800003FE0007E0FF800D7 +:1081E000000000000000000000000000000000008F +:1081F000000000000000000000000000000000007F +:10820000000000000000000000000000000000006E +:10821000000000000000000000000000000000005E +:10822000000000000000000000000000000000004E +:10823000000000000000000000000000000000003E +:10824000000000000000000000000000000000002E +:10825000000000000000000000000000000000001E +:1082600080820008000000205C00000058450008E3 +:10827000DC8200085C0000206429000068450008DA +:1082800001000000100000000000000000127A0051 +:108290000500024001400000000000006D2B0008B6 +:1082A000312B00080000000000000000812B0008B6 +:1082B000592B0008452B00080000000000000000BA +:1082C000000000009D3500080000000000000000D4 +:0C82D000000000000000000000000000A2 :04000005080000ED02 :00000001FF diff --git a/MDK-ARM/MR16/MR16.htm b/MDK-ARM/MR16/MR16.htm index 78742c3..5c445b6 100644 --- a/MDK-ARM/MR16/MR16.htm +++ b/MDK-ARM/MR16/MR16.htm @@ -3,9 +3,9 @@ Static Call Graph - [MR16\MR16.axf]

Static Call Graph for image MR16\MR16.axf


-

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Sat Nov 29 16:40:01 2025 +

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Sat Nov 29 22:00:25 2025

-

Maximum Stack Usage = 368 bytes + Unknown(Cycles, Untraceable Function Pointers)

+

Maximum Stack Usage = 344 bytes + Unknown(Cycles, Untraceable Function Pointers)

Call chain for Maximum Stack Depth:

main ⇒ LCD_DrawString ⇒ LCD_DrawChar ⇒ LCD_DrawPoint ⇒ LCD_SetAddressWindow ⇒ LCD_WriteDataBuffer ⇒ LCD_WriteDataBuffer_DMA ⇒ BSP_SPI_Transmit ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout

@@ -314,8 +314,7 @@ Global Symbols

_ll_ushift_r (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)

__aeabi_memcpy (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text)) -

[Called By]

  • >>   SetBLEAdvertisingPacket -
  • >>   SX1281HalReadRegisters +

    [Called By]
    • >>   SX1281HalReadRegisters
    • >>   SX1281HalWriteRegisters
    • >>   SX1281HalWriteCommand
    • >>   SX1281HalWriteBuffer @@ -323,20 +322,18 @@ Global Symbols
    • >>   SX1281HalReadBuffer
    -

    __aeabi_memcpy4 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text)) -

    [Called By]

    • >>   main -
    +

    __aeabi_memcpy4 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED) -

    __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED) +

    __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)

    __aeabi_memset (Thumb, 14 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

    [Called By]

    • >>   _memset$wrapper
    • >>   __aeabi_memclr
    -

    __aeabi_memset4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) +

    __aeabi_memset4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) -

    __aeabi_memset8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) +

    __aeabi_memset8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

    __aeabi_memclr (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

    [Calls]

    • >>   __aeabi_memset @@ -347,7 +344,7 @@ Global Symbols
    • >>   SystemClock_Config
    -

    __aeabi_memclr8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) +

    __aeabi_memclr8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

    _memset$wrapper (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED)

    [Calls]

    • >>   __aeabi_memset @@ -396,7 +393,7 @@ Global Symbols
      [Called By]
      • >>   SX1281SetRfFrequency
      -

      __aeabi_uidiv (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED) +

      __aeabi_uidiv (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)

      __aeabi_uidivmod (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)

      [Called By]

      • >>   _printf_core @@ -410,7 +407,7 @@ Global Symbols
      • >>   _fp_digits
      -

      __I$use$fp (Thumb, 0 bytes, Stack size 8 bytes, iusefp.o(.text), UNUSED) +

      __I$use$fp (Thumb, 0 bytes, Stack size 8 bytes, iusefp.o(.text), UNUSED)

      _double_round (Thumb, 30 bytes, Stack size 8 bytes, depilogue.o(.text))

      [Stack]

      • Max Depth = 8
      • Call Chain = _double_round @@ -469,7 +466,7 @@ Global Symbols
        [Called By]
        • >>   _main_scatterload
        -

        __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED) +

        __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)

        __aeabi_llsl (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text))

        [Called By]

        • >>   __aeabi_uldivmod @@ -478,13 +475,13 @@ Global Symbols
        • >>   __aeabi_d2ulz
        -

        _ll_shift_l (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED) +

        _ll_shift_l (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)

        __aeabi_lasr (Thumb, 36 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)

        [Called By]

        • >>   __aeabi_dadd
        -

        _ll_sshift_r (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED) +

        _ll_sshift_r (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)

        BSP_SPI_GetHandle (Thumb, 18 bytes, Stack size 0 bytes, spi_1.o(i.BSP_SPI_GetHandle))

        [Called By]

        • >>   BSP_SPI_TransmitReceive @@ -707,7 +704,6 @@ Global Symbols
        • >>   HAL_RCC_OscConfig
        • >>   HAL_RCC_ClockConfig
        • >>   HAL_Delay -
        • >>   main
        • >>   HAL_SPI_TransmitReceive
        • >>   HAL_SPI_Transmit
        • >>   HAL_UART_Transmit @@ -777,9 +773,9 @@ Global Symbols

          HAL_RCC_ClockConfig (Thumb, 280 bytes, Stack size 32 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig))

          [Stack]

          • Max Depth = 64
          • Call Chain = HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority
          -
          [Calls]
          • >>   HAL_GetTick -
          • >>   HAL_RCC_GetSysClockFreq +
            [Calls]
            • >>   HAL_RCC_GetSysClockFreq
            • >>   HAL_InitTick +
            • >>   HAL_GetTick

            [Called By]
            • >>   SystemClock_Config
            @@ -1772,7 +1768,7 @@ Global Symbols
            [Called By]
            • >>   SX1281_Init
            -

            SX1281_Callback (Thumb, 130 bytes, Stack size 24 bytes, sx1281.o(i.SX1281_Callback)) +

            SX1281_Callback (Thumb, 128 bytes, Stack size 24 bytes, sx1281.o(i.SX1281_Callback))

            [Stack]

            • Max Depth = 48
            • Call Chain = SX1281_Callback ⇒ __2printf

            [Calls]
            • >>   __2printf @@ -1784,7 +1780,11 @@ Global Symbols
            • >>   OnRxDone
            -

            SX1281_Init (Thumb, 454 bytes, Stack size 48 bytes, sx1281.o(i.SX1281_Init)) +

            SX1281_GetState (Thumb, 20 bytes, Stack size 0 bytes, sx1281.o(i.SX1281_GetState)) +

            [Called By]

            • >>   SX1281_Running +
            + +

            SX1281_Init (Thumb, 492 bytes, Stack size 48 bytes, sx1281.o(i.SX1281_Init))

            [Stack]

            • Max Depth = 72
            • Call Chain = SX1281_Init ⇒ __2printf

            [Calls]
            • >>   HAL_Delay @@ -1794,22 +1794,18 @@ Global Symbols
              [Called By]
              • >>   main
              -

              SX1281_Running (Thumb, 16 bytes, Stack size 8 bytes, sx1281.o(i.SX1281_Running)) +

              SX1281_Running (Thumb, 24 bytes, Stack size 8 bytes, sx1281.o(i.SX1281_Running))

              [Stack]

              • Max Depth = 200
              • Call Chain = SX1281_Running ⇒ SX1281ProcessIrqs ⇒ SX1281GetIrqStatus ⇒ SX1281HalReadCommand ⇒ SpiInOut ⇒ BSP_SPI_TransmitReceive ⇒ HAL_SPI_TransmitReceive ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout

              [Calls]
              • >>   HAL_Delay
              • >>   SX1281ProcessIrqs +
              • >>   SX1281_GetState

              [Called By]
              • >>   main
              -

              SetBLEAdvertisingPacket (Thumb, 278 bytes, Stack size 80 bytes, sx1281.o(i.SetBLEAdvertisingPacket)) -

              [Stack]

              • Max Depth = 104
              • Call Chain = SetBLEAdvertisingPacket ⇒ __2printf -
              -
              [Calls]
              • >>   __aeabi_memcpy -
              • >>   malloc -
              • >>   free -
              • >>   __2printf +

                SX1281_SetTX (Thumb, 34 bytes, Stack size 16 bytes, sx1281.o(i.SX1281_SetTX)) +

                [Stack]

                • Max Depth = 16
                • Call Chain = SX1281_SetTX

                [Called By]
                • >>   main
                @@ -1890,26 +1886,24 @@ Global Symbols

                [Calls]
                • >>   _printf_core
                -

                __1printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED) +

                __1printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)

                __2printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf))

                [Stack]

                • Max Depth = 24
                • Call Chain = __2printf
                -
                [Called By]
                • >>   SetBLEAdvertisingPacket -
                • >>   SX1281_Init -
                • >>   main +
                  [Called By]
                  • >>   SX1281_Init
                  • >>   SX1281_Callback
                  -

                  __c89printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED) +

                  __c89printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED) -

                  printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED) +

                  printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED) -

                  __scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) +

                  __scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) -

                  __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) +

                  __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) -

                  __scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED) +

                  __scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)

                  fputc (Thumb, 24 bytes, Stack size 16 bytes, sx1281.o(i.fputc))

                  [Stack]

                  • Max Depth = 80
                  • Call Chain = fputc ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout @@ -1922,14 +1916,13 @@ Global Symbols

                    free (Thumb, 76 bytes, Stack size 8 bytes, malloc.o(i.free))

                    [Stack]

                    • Max Depth = 8
                    • Call Chain = free
                    -
                    [Called By]
                    • >>   SetBLEAdvertisingPacket -
                    • >>   LCD_Clear +
                      [Called By]
                      • >>   LCD_Clear
                      -

                      main (Thumb, 256 bytes, Stack size 40 bytes, main.o(i.main)) -

                      [Stack]

                      • Max Depth = 368
                      • Call Chain = main ⇒ LCD_DrawString ⇒ LCD_DrawChar ⇒ LCD_DrawPoint ⇒ LCD_SetAddressWindow ⇒ LCD_WriteDataBuffer ⇒ LCD_WriteDataBuffer_DMA ⇒ BSP_SPI_Transmit ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +

                        main (Thumb, 120 bytes, Stack size 16 bytes, main.o(i.main)) +

                        [Stack]

                        • Max Depth = 344
                        • Call Chain = main ⇒ LCD_DrawString ⇒ LCD_DrawChar ⇒ LCD_DrawPoint ⇒ LCD_SetAddressWindow ⇒ LCD_WriteDataBuffer ⇒ LCD_WriteDataBuffer_DMA ⇒ BSP_SPI_Transmit ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout
                        -
                        [Calls]
                        • >>   SetBLEAdvertisingPacket +
                          [Calls]
                          • >>   SX1281_SetTX
                          • >>   SX1281_Running
                          • >>   SX1281_Init
                          • >>   MX_USART2_UART_Init @@ -1944,19 +1937,15 @@ Global Symbols
                          • >>   LCD_DrawBitmap
                          • >>   LCD_Clear
                          • >>   HAL_Init -
                          • >>   HAL_GetTick
                          • >>   HAL_Delay
                          • >>   SystemClock_Config -
                          • >>   __aeabi_memcpy4 -
                          • >>   __2printf

                          [Address Reference Count : 1]
                          • entry9a.o(.ARM.Collect$$$$0000000B)

                          malloc (Thumb, 92 bytes, Stack size 20 bytes, malloc.o(i.malloc))

                          [Stack]

                          • Max Depth = 20
                          • Call Chain = malloc
                          -
                          [Called By]
                          • >>   SetBLEAdvertisingPacket -
                          • >>   LCD_Clear +
                            [Called By]
                            • >>   LCD_Clear

                            diff --git a/MDK-ARM/MR16/MR16.map b/MDK-ARM/MR16/MR16.map index 2a51cf2..4aee417 100644 --- a/MDK-ARM/MR16/MR16.map +++ b/MDK-ARM/MR16/MR16.map @@ -35,18 +35,14 @@ Section Cross References main.o(i.main) refers to usart.o(i.MX_USART1_UART_Init) for MX_USART1_UART_Init main.o(i.main) refers to usart.o(i.MX_USART2_UART_Init) for MX_USART2_UART_Init main.o(i.main) refers to sx1281.o(i.SX1281_Init) for SX1281_Init + main.o(i.main) refers to sx1281.o(i.SX1281_SetTX) for SX1281_SetTX main.o(i.main) refers to lcd.o(i.LCD_Init) for LCD_Init main.o(i.main) refers to lcd.o(i.LCD_Clear) for LCD_Clear - main.o(i.main) refers to memcpya.o(.text) for __aeabi_memcpy4 - main.o(i.main) refers to printfa.o(i.__0printf) for __2printf - main.o(i.main) refers to sx1281.o(i.SetBLEAdvertisingPacket) for SetBLEAdvertisingPacket - main.o(i.main) refers to sx1281.o(i.SX1281_Running) for SX1281_Running - main.o(i.main) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick main.o(i.main) refers to lcd.o(i.LCD_DrawString) for LCD_DrawString main.o(i.main) refers to lcd.o(i.LCD_DrawBitmap) for LCD_DrawBitmap + main.o(i.main) refers to sx1281.o(i.SX1281_Running) for SX1281_Running main.o(i.main) refers to stm32f1xx_hal.o(i.HAL_Delay) for HAL_Delay main.o(i.main) refers to main.o(.bss) for .bss - main.o(i.main) refers to main.o(.data) for .data main.o(i.main) refers to lcd.o(.constdata) for logo_M gpio.o(i.MX_GPIO_Init) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin gpio.o(i.MX_GPIO_Init) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init @@ -564,17 +560,27 @@ Section Cross References sx1281.o(i.SX1281_Callback) refers to sx1281.o(.data) for .data sx1281.o(i.SX1281_Callback) refers to sx1281_driver_hal.o(.constdata) for Radio sx1281.o(i.SX1281_Callback) refers to sx1281.o(.constdata) for .constdata + sx1281.o(i.SX1281_GetState) refers to sx1281.o(.data) for .data sx1281.o(i.SX1281_Init) refers to sx1281_header.o(i.SX1281_BSPInit) for SX1281_BSPInit sx1281.o(i.SX1281_Init) refers to stm32f1xx_hal.o(i.HAL_Delay) for HAL_Delay sx1281.o(i.SX1281_Init) refers to printfa.o(i.__0printf) for __2printf sx1281.o(i.SX1281_Init) refers to sx1281_driver_hal.o(.constdata) for Radio sx1281.o(i.SX1281_Init) refers to sx1281.o(.data) for .data - sx1281.o(i.SX1281_Init) refers to sx1281.o(.bss) for .bss + sx1281.o(i.SX1281_Init) refers to sx1281.o(.constdata) for .constdata sx1281.o(i.SX1281_Running) refers to sx1281_driver.o(i.SX1281ProcessIrqs) for SX1281ProcessIrqs + sx1281.o(i.SX1281_Running) refers to sx1281.o(i.SX1281_GetState) for SX1281_GetState sx1281.o(i.SX1281_Running) refers to stm32f1xx_hal.o(i.HAL_Delay) for HAL_Delay - sx1281.o(i.SX1281_SetBaudrate) refers to printfa.o(i.__0printf) for __2printf - sx1281.o(i.SX1281_SetBaudrate) refers to sx1281_driver_hal.o(.constdata) for Radio + sx1281.o(i.SX1281_SetBLEBaudrate) refers to sx1281_driver_hal.o(.constdata) for Radio + sx1281.o(i.SX1281_SetBLEBaudrate) refers to sx1281.o(.constdata) for .constdata + sx1281.o(i.SX1281_SetFLRCBaudrate) refers to sx1281_driver_hal.o(.constdata) for Radio + sx1281.o(i.SX1281_SetFLRCBaudrate) refers to sx1281.o(.constdata) for .constdata + sx1281.o(i.SX1281_SetGFSKBaudrate) refers to sx1281_driver_hal.o(.constdata) for Radio + sx1281.o(i.SX1281_SetGFSKBaudrate) refers to sx1281.o(.constdata) for .constdata + sx1281.o(i.SX1281_SetLORABaudrate) refers to sx1281_driver_hal.o(.constdata) for Radio + sx1281.o(i.SX1281_SetLORABaudrate) refers to sx1281.o(.constdata) for .constdata + sx1281.o(i.SX1281_SetMode) refers to sx1281_driver_hal.o(.constdata) for Radio sx1281.o(i.SX1281_SetPacketConfig) refers to sx1281_driver_hal.o(.constdata) for Radio + sx1281.o(i.SX1281_SetRFFrequency) refers to sx1281_driver_hal.o(.constdata) for Radio sx1281.o(i.SX1281_SetRXSingle) refers to sx1281_driver_hal.o(.constdata) for Radio sx1281.o(i.SX1281_SetRXSingle) refers to sx1281.o(.data) for .data sx1281.o(i.SX1281_SetRXSingle) refers to sx1281.o(.constdata) for .constdata @@ -584,12 +590,6 @@ Section Cross References sx1281.o(i.SX1281_SetTX) refers to sx1281_driver_hal.o(.constdata) for Radio sx1281.o(i.SX1281_SetTX) refers to sx1281.o(.data) for .data sx1281.o(i.SX1281_SetTX) refers to sx1281.o(.constdata) for .constdata - sx1281.o(i.SetBLEAdvertisingPacket) refers to printfa.o(i.__0printf) for __2printf - sx1281.o(i.SetBLEAdvertisingPacket) refers to malloc.o(i.malloc) for malloc - sx1281.o(i.SetBLEAdvertisingPacket) refers to memcpya.o(.text) for __aeabi_memcpy - sx1281.o(i.SetBLEAdvertisingPacket) refers to malloc.o(i.free) for free - sx1281.o(i.SetBLEAdvertisingPacket) refers to sx1281_driver_hal.o(.constdata) for Radio - sx1281.o(i.SetBLEAdvertisingPacket) refers to sx1281.o(.constdata) for .constdata sx1281.o(i.fputc) refers to uart.o(i.BSP_UART_GetHandle) for BSP_UART_GetHandle sx1281.o(i.fputc) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) for HAL_UART_Transmit sx1281.o(.data) refers to sx1281.o(i.OnTxDone) for OnTxDone @@ -1702,15 +1702,18 @@ Removing Unused input sections from the image. Removing sx1281.o(.revsh_text), (4 bytes). Removing sx1281.o(.rrx_text), (6 bytes). Removing sx1281.o(i.OnCadDone), (20 bytes). - Removing sx1281.o(i.SX1281_SetBaudrate), (124 bytes). - Removing sx1281.o(i.SX1281_SetMode), (16 bytes). + Removing sx1281.o(i.SX1281_SetBLEBaudrate), (76 bytes). + Removing sx1281.o(i.SX1281_SetFLRCBaudrate), (76 bytes). + Removing sx1281.o(i.SX1281_SetGFSKBaudrate), (76 bytes). + Removing sx1281.o(i.SX1281_SetLORABaudrate), (76 bytes). + Removing sx1281.o(i.SX1281_SetMode), (116 bytes). Removing sx1281.o(i.SX1281_SetPacketConfig), (28 bytes). + Removing sx1281.o(i.SX1281_SetRFFrequency), (48 bytes). Removing sx1281.o(i.SX1281_SetRXSingle), (44 bytes). Removing sx1281.o(i.SX1281_SetRXSuccessive), (44 bytes). Removing sx1281.o(i.SX1281_SetSleep), (12 bytes). - Removing sx1281.o(i.SX1281_SetTX), (56 bytes). - Removing sx1281.o(.constdata), (24 bytes). - Removing sx1281.o(.constdata), (12 bytes). + Removing sx1281.o(i.SetBLEAdvertisingPacket), (2 bytes). + Removing sx1281.o(.data), (2 bytes). Removing sx1281_driver.o(.rev16_text), (4 bytes). Removing sx1281_driver.o(.revsh_text), (4 bytes). Removing sx1281_driver.o(.rrx_text), (6 bytes). @@ -1808,7 +1811,7 @@ Removing Unused input sections from the image. Removing user_math.o(i.CircleReverse), (20 bytes). Removing user_math.o(i.CalculateRpm), (136 bytes). -535 unused section(s) (total 33260 bytes) removed from the image. +538 unused section(s) (total 33500 bytes) removed from the image. ============================================================================== @@ -1844,68 +1847,68 @@ Image Symbol Table ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c 0x00000000 Number 0 stm32f1xx_hal_uart.o ABSOLUTE ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isspace_c.o ABSOLUTE ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 ctype_c.o ABSOLUTE - ../clib/microlib/division.c 0x00000000 Number 0 uldiv.o ABSOLUTE ../clib/microlib/division.c 0x00000000 Number 0 uidiv.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE + ../clib/microlib/division.c 0x00000000 Number 0 uldiv.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE - ../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE - ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocra.o ABSOLUTE + ../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloca.o ABSOLUTE - ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocr.o ABSOLUTE + ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocra.o ABSOLUTE ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloc.o ABSOLUTE + ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocr.o ABSOLUTE ../clib/microlib/malloc/mvars.c 0x00000000 Number 0 mvars.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf3.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf5.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfb.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf5.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfa.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf0.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf3.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf2.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfa.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf0.o ABSOLUTE ../clib/microlib/printf/stubs.s 0x00000000 Number 0 stubs.o ABSOLUTE ../clib/microlib/stdio/streams.c 0x00000000 Number 0 stdout.o ABSOLUTE - ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpya.o ABSOLUTE ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpyb.o ABSOLUTE + ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpya.o ABSOLUTE ../clib/microlib/string/memset.c 0x00000000 Number 0 memseta.o ABSOLUTE ../clib/microlib/string/strlen.c 0x00000000 Number 0 strlen.o ABSOLUTE ../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE - ../clib/scanf.c 0x00000000 Number 0 _sgetc.o ABSOLUTE - ../clib/scanf.c 0x00000000 Number 0 scanf_char.o ABSOLUTE - ../clib/scanf.c 0x00000000 Number 0 _chval.o ABSOLUTE - ../clib/scanf.c 0x00000000 Number 0 __0sscanf.o ABSOLUTE ../clib/scanf.c 0x00000000 Number 0 _scanf_int.o ABSOLUTE + ../clib/scanf.c 0x00000000 Number 0 _sgetc.o ABSOLUTE + ../clib/scanf.c 0x00000000 Number 0 _chval.o ABSOLUTE + ../clib/scanf.c 0x00000000 Number 0 scanf_char.o ABSOLUTE ../clib/scanf.c 0x00000000 Number 0 _scanf.o ABSOLUTE + ../clib/scanf.c 0x00000000 Number 0 __0sscanf.o ABSOLUTE ../fplib/microlib/f2d.c 0x00000000 Number 0 f2d.o ABSOLUTE - ../fplib/microlib/fpadd.c 0x00000000 Number 0 fadd.o ABSOLUTE ../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE + ../fplib/microlib/fpadd.c 0x00000000 Number 0 fadd.o ABSOLUTE ../fplib/microlib/fpdiv.c 0x00000000 Number 0 fdiv.o ABSOLUTE ../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE - ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE - ../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixul.o ABSOLUTE + ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE ../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixui.o ABSOLUTE + ../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixul.o ABSOLUTE ../fplib/microlib/fpflt.c 0x00000000 Number 0 dfltui.o ABSOLUTE ../fplib/microlib/fpflt.c 0x00000000 Number 0 dflti.o ABSOLUTE - ../fplib/microlib/fpmul.c 0x00000000 Number 0 fmul.o ABSOLUTE ../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE + ../fplib/microlib/fpmul.c 0x00000000 Number 0 fmul.o ABSOLUTE ../fplib/microlib/fpscalb.c 0x00000000 Number 0 fscalb.o ABSOLUTE ..\Core\Src\dma.c 0x00000000 Number 0 dma.o ABSOLUTE ..\Core\Src\gpio.c 0x00000000 Number 0 gpio.o ABSOLUTE @@ -2186,104 +2189,102 @@ Image Symbol Table i.SX1281SetWhiteningSeed 0x08003c38 Section 0 sx1281_driver.o(i.SX1281SetWhiteningSeed) i.SX1281_BSPInit 0x08003c58 Section 0 sx1281_header.o(i.SX1281_BSPInit) i.SX1281_Callback 0x08003c68 Section 0 sx1281.o(i.SX1281_Callback) - i.SX1281_Init 0x08003d84 Section 0 sx1281.o(i.SX1281_Init) - i.SX1281_Running 0x0800403c Section 0 sx1281.o(i.SX1281_Running) - i.SetBLEAdvertisingPacket 0x0800404c Section 0 sx1281.o(i.SetBLEAdvertisingPacket) - i.SpiIn 0x08004230 Section 0 sx1281_driver_spi.o(i.SpiIn) - i.SpiInOut 0x08004248 Section 0 sx1281_driver_spi.o(i.SpiInOut) - i.SpiInit 0x08004268 Section 0 sx1281_driver_spi.o(i.SpiInit) - i.SysTick_Handler 0x0800428c Section 0 stm32f1xx_it.o(i.SysTick_Handler) - i.SystemClock_Config 0x08004290 Section 0 main.o(i.SystemClock_Config) - i.SystemInit 0x080042f0 Section 0 system_stm32f1xx.o(i.SystemInit) - i.TIM_Base_SetConfig 0x080042f4 Section 0 stm32f1xx_hal_tim.o(i.TIM_Base_SetConfig) - i.TIM_ETR_SetConfig 0x0800436c Section 0 stm32f1xx_hal_tim.o(i.TIM_ETR_SetConfig) - i.TIM_ITRx_SetConfig 0x08004380 Section 0 stm32f1xx_hal_tim.o(i.TIM_ITRx_SetConfig) - TIM_ITRx_SetConfig 0x08004381 Thumb Code 16 stm32f1xx_hal_tim.o(i.TIM_ITRx_SetConfig) - i.TIM_OC1_SetConfig 0x08004390 Section 0 stm32f1xx_hal_tim.o(i.TIM_OC1_SetConfig) - TIM_OC1_SetConfig 0x08004391 Thumb Code 74 stm32f1xx_hal_tim.o(i.TIM_OC1_SetConfig) - i.TIM_OC2_SetConfig 0x080043e0 Section 0 stm32f1xx_hal_tim.o(i.TIM_OC2_SetConfig) - i.TIM_OC3_SetConfig 0x08004438 Section 0 stm32f1xx_hal_tim.o(i.TIM_OC3_SetConfig) - TIM_OC3_SetConfig 0x08004439 Thumb Code 82 stm32f1xx_hal_tim.o(i.TIM_OC3_SetConfig) - i.TIM_OC4_SetConfig 0x08004490 Section 0 stm32f1xx_hal_tim.o(i.TIM_OC4_SetConfig) - TIM_OC4_SetConfig 0x08004491 Thumb Code 64 stm32f1xx_hal_tim.o(i.TIM_OC4_SetConfig) - i.TIM_TI1_ConfigInputStage 0x080044d4 Section 0 stm32f1xx_hal_tim.o(i.TIM_TI1_ConfigInputStage) - TIM_TI1_ConfigInputStage 0x080044d5 Thumb Code 34 stm32f1xx_hal_tim.o(i.TIM_TI1_ConfigInputStage) - i.TIM_TI2_ConfigInputStage 0x080044f6 Section 0 stm32f1xx_hal_tim.o(i.TIM_TI2_ConfigInputStage) - TIM_TI2_ConfigInputStage 0x080044f7 Thumb Code 36 stm32f1xx_hal_tim.o(i.TIM_TI2_ConfigInputStage) - i.UART_EndRxTransfer 0x0800451a Section 0 stm32f1xx_hal_uart.o(i.UART_EndRxTransfer) - UART_EndRxTransfer 0x0800451b Thumb Code 78 stm32f1xx_hal_uart.o(i.UART_EndRxTransfer) - i.UART_SetConfig 0x08004568 Section 0 stm32f1xx_hal_uart.o(i.UART_SetConfig) - UART_SetConfig 0x08004569 Thumb Code 178 stm32f1xx_hal_uart.o(i.UART_SetConfig) - i.UART_WaitOnFlagUntilTimeout 0x08004620 Section 0 stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) - UART_WaitOnFlagUntilTimeout 0x08004621 Thumb Code 114 stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) - i.UsageFault_Handler 0x08004692 Section 0 stm32f1xx_it.o(i.UsageFault_Handler) - i.__0printf 0x08004694 Section 0 printfa.o(i.__0printf) - i.__NVIC_SetPriority 0x080046b4 Section 0 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) - __NVIC_SetPriority 0x080046b5 Thumb Code 32 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) - i.__scatterload_copy 0x080046d4 Section 14 handlers.o(i.__scatterload_copy) - i.__scatterload_null 0x080046e2 Section 2 handlers.o(i.__scatterload_null) - i.__scatterload_zeroinit 0x080046e4 Section 14 handlers.o(i.__scatterload_zeroinit) - i._fp_digits 0x080046f4 Section 0 printfa.o(i._fp_digits) - _fp_digits 0x080046f5 Thumb Code 366 printfa.o(i._fp_digits) - i._printf_core 0x08004878 Section 0 printfa.o(i._printf_core) - _printf_core 0x08004879 Thumb Code 1704 printfa.o(i._printf_core) - i._printf_post_padding 0x08004f2c Section 0 printfa.o(i._printf_post_padding) - _printf_post_padding 0x08004f2d Thumb Code 36 printfa.o(i._printf_post_padding) - i._printf_pre_padding 0x08004f50 Section 0 printfa.o(i._printf_pre_padding) - _printf_pre_padding 0x08004f51 Thumb Code 46 printfa.o(i._printf_pre_padding) - i.fputc 0x08004f7e Section 0 sx1281.o(i.fputc) - i.free 0x08004f98 Section 0 malloc.o(i.free) - i.main 0x08004fe8 Section 0 main.o(i.main) - i.malloc 0x0800518c Section 0 malloc.o(i.malloc) - i.tx_cplt_cb 0x080051f8 Section 0 sx1281_driver_spi.o(i.tx_cplt_cb) - tx_cplt_cb 0x080051f9 Thumb Code 8 sx1281_driver_spi.o(i.tx_cplt_cb) - i.txrx_cplt_cb 0x08005204 Section 0 sx1281_driver_spi.o(i.txrx_cplt_cb) - txrx_cplt_cb 0x08005205 Thumb Code 8 sx1281_driver_spi.o(i.txrx_cplt_cb) - .constdata 0x08005210 Section 18 stm32f1xx_hal_rcc.o(.constdata) - aPredivFactorTable 0x08005210 Data 2 stm32f1xx_hal_rcc.o(.constdata) - aPLLMULFactorTable 0x08005212 Data 16 stm32f1xx_hal_rcc.o(.constdata) - .constdata 0x08005222 Section 16 system_stm32f1xx.o(.constdata) - .constdata 0x08005232 Section 8 system_stm32f1xx.o(.constdata) - .constdata 0x0800523c Section 28 sx1281.o(.constdata) - .constdata 0x08005258 Section 4 sx1281_driver.o(.constdata) - .constdata 0x0800525c Section 228 sx1281_driver_hal.o(.constdata) - .constdata 0x08005340 Section 12160 lcd.o(.constdata) - .constdata 0x080082c0 Section 512 lcd.o(.constdata) - .data 0x20000000 Section 4 main.o(.data) - lastAdvTime 0x20000000 Data 4 main.o(.data) - .data 0x20000004 Section 12 stm32f1xx_hal.o(.data) - .data 0x20000010 Section 4 system_stm32f1xx.o(.data) - .data 0x20000014 Section 48 sx1281.o(.data) - .data 0x20000044 Section 16 sx1281_driver.o(.data) - OperatingMode 0x20000044 Data 1 sx1281_driver.o(.data) - PacketType 0x20000045 Data 1 sx1281_driver.o(.data) - LoRaBandwidth 0x20000046 Data 1 sx1281_driver.o(.data) - PollingMode 0x20000047 Data 1 sx1281_driver.o(.data) - IrqState 0x20000048 Data 1 sx1281_driver.o(.data) - RadioCallbacks 0x20000050 Data 4 sx1281_driver.o(.data) - .data 0x20000054 Section 1 sx1281_driver_spi.o(.data) - spi_done 0x20000054 Data 1 sx1281_driver_spi.o(.data) - .data 0x20000055 Section 1 lcd.o(.data) - lcd_orientation 0x20000055 Data 1 lcd.o(.data) - .data 0x20000058 Section 4 stdout.o(.data) - .data 0x2000005c Section 4 mvars.o(.data) - .data 0x20000060 Section 4 mvars.o(.data) - .bss 0x20000064 Section 51 main.o(.bss) - .bss 0x20000098 Section 380 spi.o(.bss) - .bss 0x20000214 Section 72 tim.o(.bss) - .bss 0x2000025c Section 144 usart.o(.bss) - .bss 0x200002ec Section 37 sx1281.o(.bss) - .bss 0x20000314 Section 64 sx1281_driver_gpio.o(.bss) - GpioIrq 0x20000314 Data 64 sx1281_driver_gpio.o(.bss) - .bss 0x20000354 Section 8190 sx1281_driver_hal.o(.bss) - halTxBuffer 0x20000354 Data 4095 sx1281_driver_hal.o(.bss) - halRxBuffer 0x20001353 Data 4095 sx1281_driver_hal.o(.bss) - .bss 0x20002354 Section 64 gpio_1.o(.bss) - GPIO_Callback 0x20002354 Data 64 gpio_1.o(.bss) - .bss 0x20002394 Section 64 spi_1.o(.bss) - SPI_Callback 0x20002394 Data 64 spi_1.o(.bss) - HEAP 0x200023d8 Section 512 startup_stm32f103xb.o(HEAP) - STACK 0x200025d8 Section 1024 startup_stm32f103xb.o(STACK) + i.SX1281_GetState 0x08003d80 Section 0 sx1281.o(i.SX1281_GetState) + i.SX1281_Init 0x08003d98 Section 0 sx1281.o(i.SX1281_Init) + i.SX1281_Running 0x08004064 Section 0 sx1281.o(i.SX1281_Running) + i.SX1281_SetTX 0x0800407c Section 0 sx1281.o(i.SX1281_SetTX) + i.SpiIn 0x080040b4 Section 0 sx1281_driver_spi.o(i.SpiIn) + i.SpiInOut 0x080040cc Section 0 sx1281_driver_spi.o(i.SpiInOut) + i.SpiInit 0x080040ec Section 0 sx1281_driver_spi.o(i.SpiInit) + i.SysTick_Handler 0x08004110 Section 0 stm32f1xx_it.o(i.SysTick_Handler) + i.SystemClock_Config 0x08004114 Section 0 main.o(i.SystemClock_Config) + i.SystemInit 0x08004174 Section 0 system_stm32f1xx.o(i.SystemInit) + i.TIM_Base_SetConfig 0x08004178 Section 0 stm32f1xx_hal_tim.o(i.TIM_Base_SetConfig) + i.TIM_ETR_SetConfig 0x080041f0 Section 0 stm32f1xx_hal_tim.o(i.TIM_ETR_SetConfig) + i.TIM_ITRx_SetConfig 0x08004204 Section 0 stm32f1xx_hal_tim.o(i.TIM_ITRx_SetConfig) + TIM_ITRx_SetConfig 0x08004205 Thumb Code 16 stm32f1xx_hal_tim.o(i.TIM_ITRx_SetConfig) + i.TIM_OC1_SetConfig 0x08004214 Section 0 stm32f1xx_hal_tim.o(i.TIM_OC1_SetConfig) + TIM_OC1_SetConfig 0x08004215 Thumb Code 74 stm32f1xx_hal_tim.o(i.TIM_OC1_SetConfig) + i.TIM_OC2_SetConfig 0x08004264 Section 0 stm32f1xx_hal_tim.o(i.TIM_OC2_SetConfig) + i.TIM_OC3_SetConfig 0x080042bc Section 0 stm32f1xx_hal_tim.o(i.TIM_OC3_SetConfig) + TIM_OC3_SetConfig 0x080042bd Thumb Code 82 stm32f1xx_hal_tim.o(i.TIM_OC3_SetConfig) + i.TIM_OC4_SetConfig 0x08004314 Section 0 stm32f1xx_hal_tim.o(i.TIM_OC4_SetConfig) + TIM_OC4_SetConfig 0x08004315 Thumb Code 64 stm32f1xx_hal_tim.o(i.TIM_OC4_SetConfig) + i.TIM_TI1_ConfigInputStage 0x08004358 Section 0 stm32f1xx_hal_tim.o(i.TIM_TI1_ConfigInputStage) + TIM_TI1_ConfigInputStage 0x08004359 Thumb Code 34 stm32f1xx_hal_tim.o(i.TIM_TI1_ConfigInputStage) + i.TIM_TI2_ConfigInputStage 0x0800437a Section 0 stm32f1xx_hal_tim.o(i.TIM_TI2_ConfigInputStage) + TIM_TI2_ConfigInputStage 0x0800437b Thumb Code 36 stm32f1xx_hal_tim.o(i.TIM_TI2_ConfigInputStage) + i.UART_EndRxTransfer 0x0800439e Section 0 stm32f1xx_hal_uart.o(i.UART_EndRxTransfer) + UART_EndRxTransfer 0x0800439f Thumb Code 78 stm32f1xx_hal_uart.o(i.UART_EndRxTransfer) + i.UART_SetConfig 0x080043ec Section 0 stm32f1xx_hal_uart.o(i.UART_SetConfig) + UART_SetConfig 0x080043ed Thumb Code 178 stm32f1xx_hal_uart.o(i.UART_SetConfig) + i.UART_WaitOnFlagUntilTimeout 0x080044a4 Section 0 stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) + UART_WaitOnFlagUntilTimeout 0x080044a5 Thumb Code 114 stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) + i.UsageFault_Handler 0x08004516 Section 0 stm32f1xx_it.o(i.UsageFault_Handler) + i.__0printf 0x08004518 Section 0 printfa.o(i.__0printf) + i.__NVIC_SetPriority 0x08004538 Section 0 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) + __NVIC_SetPriority 0x08004539 Thumb Code 32 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) + i.__scatterload_copy 0x08004558 Section 14 handlers.o(i.__scatterload_copy) + i.__scatterload_null 0x08004566 Section 2 handlers.o(i.__scatterload_null) + i.__scatterload_zeroinit 0x08004568 Section 14 handlers.o(i.__scatterload_zeroinit) + i._fp_digits 0x08004578 Section 0 printfa.o(i._fp_digits) + _fp_digits 0x08004579 Thumb Code 366 printfa.o(i._fp_digits) + i._printf_core 0x080046fc Section 0 printfa.o(i._printf_core) + _printf_core 0x080046fd Thumb Code 1704 printfa.o(i._printf_core) + i._printf_post_padding 0x08004db0 Section 0 printfa.o(i._printf_post_padding) + _printf_post_padding 0x08004db1 Thumb Code 36 printfa.o(i._printf_post_padding) + i._printf_pre_padding 0x08004dd4 Section 0 printfa.o(i._printf_pre_padding) + _printf_pre_padding 0x08004dd5 Thumb Code 46 printfa.o(i._printf_pre_padding) + i.fputc 0x08004e02 Section 0 sx1281.o(i.fputc) + i.free 0x08004e1c Section 0 malloc.o(i.free) + i.main 0x08004e6c Section 0 main.o(i.main) + i.malloc 0x08004ef4 Section 0 malloc.o(i.malloc) + i.tx_cplt_cb 0x08004f60 Section 0 sx1281_driver_spi.o(i.tx_cplt_cb) + tx_cplt_cb 0x08004f61 Thumb Code 8 sx1281_driver_spi.o(i.tx_cplt_cb) + i.txrx_cplt_cb 0x08004f6c Section 0 sx1281_driver_spi.o(i.txrx_cplt_cb) + txrx_cplt_cb 0x08004f6d Thumb Code 8 sx1281_driver_spi.o(i.txrx_cplt_cb) + .constdata 0x08004f78 Section 18 stm32f1xx_hal_rcc.o(.constdata) + aPredivFactorTable 0x08004f78 Data 2 stm32f1xx_hal_rcc.o(.constdata) + aPLLMULFactorTable 0x08004f7a Data 16 stm32f1xx_hal_rcc.o(.constdata) + .constdata 0x08004f8a Section 16 system_stm32f1xx.o(.constdata) + .constdata 0x08004f9a Section 8 system_stm32f1xx.o(.constdata) + .constdata 0x08004fa4 Section 81 sx1281.o(.constdata) + .constdata 0x08004ff6 Section 4 sx1281_driver.o(.constdata) + .constdata 0x08004ffc Section 228 sx1281_driver_hal.o(.constdata) + .constdata 0x080050e0 Section 12160 lcd.o(.constdata) + .constdata 0x08008060 Section 512 lcd.o(.constdata) + .data 0x20000000 Section 12 stm32f1xx_hal.o(.data) + .data 0x2000000c Section 4 system_stm32f1xx.o(.data) + .data 0x20000010 Section 44 sx1281.o(.data) + .data 0x2000003c Section 16 sx1281_driver.o(.data) + OperatingMode 0x2000003c Data 1 sx1281_driver.o(.data) + PacketType 0x2000003d Data 1 sx1281_driver.o(.data) + LoRaBandwidth 0x2000003e Data 1 sx1281_driver.o(.data) + PollingMode 0x2000003f Data 1 sx1281_driver.o(.data) + IrqState 0x20000040 Data 1 sx1281_driver.o(.data) + RadioCallbacks 0x20000048 Data 4 sx1281_driver.o(.data) + .data 0x2000004c Section 1 sx1281_driver_spi.o(.data) + spi_done 0x2000004c Data 1 sx1281_driver_spi.o(.data) + .data 0x2000004d Section 1 lcd.o(.data) + lcd_orientation 0x2000004d Data 1 lcd.o(.data) + .data 0x20000050 Section 4 stdout.o(.data) + .data 0x20000054 Section 4 mvars.o(.data) + .data 0x20000058 Section 4 mvars.o(.data) + .bss 0x20000060 Section 72 main.o(.bss) + .bss 0x200000a8 Section 380 spi.o(.bss) + .bss 0x20000224 Section 72 tim.o(.bss) + .bss 0x2000026c Section 144 usart.o(.bss) + .bss 0x200002fc Section 64 sx1281_driver_gpio.o(.bss) + GpioIrq 0x200002fc Data 64 sx1281_driver_gpio.o(.bss) + .bss 0x2000033c Section 8190 sx1281_driver_hal.o(.bss) + halTxBuffer 0x2000033c Data 4095 sx1281_driver_hal.o(.bss) + halRxBuffer 0x2000133b Data 4095 sx1281_driver_hal.o(.bss) + .bss 0x2000233c Section 64 gpio_1.o(.bss) + GPIO_Callback 0x2000233c Data 64 gpio_1.o(.bss) + .bss 0x2000237c Section 64 spi_1.o(.bss) + SPI_Callback 0x2000237c Data 64 spi_1.o(.bss) + HEAP 0x200023c0 Section 512 startup_stm32f103xb.o(HEAP) + STACK 0x200025c0 Section 1024 startup_stm32f103xb.o(STACK) Global Symbols @@ -2584,71 +2585,73 @@ Image Symbol Table SX1281SetTxParams 0x08003c21 Thumb Code 24 sx1281_driver.o(i.SX1281SetTxParams) SX1281SetWhiteningSeed 0x08003c39 Thumb Code 26 sx1281_driver.o(i.SX1281SetWhiteningSeed) SX1281_BSPInit 0x08003c59 Thumb Code 14 sx1281_header.o(i.SX1281_BSPInit) - SX1281_Callback 0x08003c69 Thumb Code 130 sx1281.o(i.SX1281_Callback) - SX1281_Init 0x08003d85 Thumb Code 454 sx1281.o(i.SX1281_Init) - SX1281_Running 0x0800403d Thumb Code 16 sx1281.o(i.SX1281_Running) - SetBLEAdvertisingPacket 0x0800404d Thumb Code 278 sx1281.o(i.SetBLEAdvertisingPacket) - SpiIn 0x08004231 Thumb Code 18 sx1281_driver_spi.o(i.SpiIn) - SpiInOut 0x08004249 Thumb Code 26 sx1281_driver_spi.o(i.SpiInOut) - SpiInit 0x08004269 Thumb Code 26 sx1281_driver_spi.o(i.SpiInit) - SysTick_Handler 0x0800428d Thumb Code 4 stm32f1xx_it.o(i.SysTick_Handler) - SystemClock_Config 0x08004291 Thumb Code 96 main.o(i.SystemClock_Config) - SystemInit 0x080042f1 Thumb Code 2 system_stm32f1xx.o(i.SystemInit) - TIM_Base_SetConfig 0x080042f5 Thumb Code 108 stm32f1xx_hal_tim.o(i.TIM_Base_SetConfig) - TIM_ETR_SetConfig 0x0800436d Thumb Code 20 stm32f1xx_hal_tim.o(i.TIM_ETR_SetConfig) - TIM_OC2_SetConfig 0x080043e1 Thumb Code 84 stm32f1xx_hal_tim.o(i.TIM_OC2_SetConfig) - UsageFault_Handler 0x08004693 Thumb Code 2 stm32f1xx_it.o(i.UsageFault_Handler) - __0printf 0x08004695 Thumb Code 22 printfa.o(i.__0printf) - __1printf 0x08004695 Thumb Code 0 printfa.o(i.__0printf) - __2printf 0x08004695 Thumb Code 0 printfa.o(i.__0printf) - __c89printf 0x08004695 Thumb Code 0 printfa.o(i.__0printf) - printf 0x08004695 Thumb Code 0 printfa.o(i.__0printf) - __scatterload_copy 0x080046d5 Thumb Code 14 handlers.o(i.__scatterload_copy) - __scatterload_null 0x080046e3 Thumb Code 2 handlers.o(i.__scatterload_null) - __scatterload_zeroinit 0x080046e5 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) - fputc 0x08004f7f Thumb Code 24 sx1281.o(i.fputc) - free 0x08004f99 Thumb Code 76 malloc.o(i.free) - main 0x08004fe9 Thumb Code 256 main.o(i.main) - malloc 0x0800518d Thumb Code 92 malloc.o(i.malloc) - AHBPrescTable 0x08005222 Data 16 system_stm32f1xx.o(.constdata) - APBPrescTable 0x08005232 Data 8 system_stm32f1xx.o(.constdata) - RadioRegsInit 0x08005258 Data 4 sx1281_driver.o(.constdata) - Radio 0x0800525c Data 228 sx1281_driver_hal.o(.constdata) - ascii_1608 0x08005340 Data 1520 lcd.o(.constdata) - ascii_2412 0x08005930 Data 4560 lcd.o(.constdata) - ascii_3216 0x08006b00 Data 6080 lcd.o(.constdata) - logo_M 0x080082c0 Data 512 lcd.o(.constdata) - Region$$Table$$Base 0x080084c0 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x080084e0 Number 0 anon$$obj.o(Region$$Table) - uwTickFreq 0x20000004 Data 1 stm32f1xx_hal.o(.data) - uwTickPrio 0x20000008 Data 4 stm32f1xx_hal.o(.data) - uwTick 0x2000000c Data 4 stm32f1xx_hal.o(.data) - SystemCoreClock 0x20000010 Data 4 system_stm32f1xx.o(.data) - BufferSize 0x20000014 Data 1 sx1281.o(.data) - sx1281_state 0x20000015 Data 1 sx1281.o(.data) - RxIrqMask 0x20000016 Data 2 sx1281.o(.data) - TxIrqMask 0x20000018 Data 2 sx1281.o(.data) - ble_header_adv 0x2000001a Data 2 sx1281.o(.data) - Buffer 0x2000001c Data 5 sx1281.o(.data) - Callbacks 0x20000024 Data 32 sx1281.o(.data) - DioIrq 0x2000004c Data 4 sx1281_driver.o(.data) - __stdout 0x20000058 Data 4 stdout.o(.data) - __microlib_freelist 0x2000005c Data 4 mvars.o(.data) - __microlib_freelist_initialised 0x20000060 Data 4 mvars.o(.data) - radio 0x20000064 Data 51 main.o(.bss) - hspi1 0x20000098 Data 88 spi.o(.bss) - hspi2 0x200000f0 Data 88 spi.o(.bss) - hdma_spi1_tx 0x20000148 Data 68 spi.o(.bss) - hdma_spi1_rx 0x2000018c Data 68 spi.o(.bss) - hdma_spi2_tx 0x200001d0 Data 68 spi.o(.bss) - htim1 0x20000214 Data 72 tim.o(.bss) - huart1 0x2000025c Data 72 usart.o(.bss) - huart2 0x200002a4 Data 72 usart.o(.bss) - packetParams 0x200002ec Data 24 sx1281.o(.bss) - modulationParams 0x20000304 Data 13 sx1281.o(.bss) - __heap_base 0x200023d8 Data 0 startup_stm32f103xb.o(HEAP) - __heap_limit 0x200025d8 Data 0 startup_stm32f103xb.o(HEAP) - __initial_sp 0x200029d8 Data 0 startup_stm32f103xb.o(STACK) + SX1281_Callback 0x08003c69 Thumb Code 128 sx1281.o(i.SX1281_Callback) + SX1281_GetState 0x08003d81 Thumb Code 20 sx1281.o(i.SX1281_GetState) + SX1281_Init 0x08003d99 Thumb Code 492 sx1281.o(i.SX1281_Init) + SX1281_Running 0x08004065 Thumb Code 24 sx1281.o(i.SX1281_Running) + SX1281_SetTX 0x0800407d Thumb Code 34 sx1281.o(i.SX1281_SetTX) + SpiIn 0x080040b5 Thumb Code 18 sx1281_driver_spi.o(i.SpiIn) + SpiInOut 0x080040cd Thumb Code 26 sx1281_driver_spi.o(i.SpiInOut) + SpiInit 0x080040ed Thumb Code 26 sx1281_driver_spi.o(i.SpiInit) + SysTick_Handler 0x08004111 Thumb Code 4 stm32f1xx_it.o(i.SysTick_Handler) + SystemClock_Config 0x08004115 Thumb Code 96 main.o(i.SystemClock_Config) + SystemInit 0x08004175 Thumb Code 2 system_stm32f1xx.o(i.SystemInit) + TIM_Base_SetConfig 0x08004179 Thumb Code 108 stm32f1xx_hal_tim.o(i.TIM_Base_SetConfig) + TIM_ETR_SetConfig 0x080041f1 Thumb Code 20 stm32f1xx_hal_tim.o(i.TIM_ETR_SetConfig) + TIM_OC2_SetConfig 0x08004265 Thumb Code 84 stm32f1xx_hal_tim.o(i.TIM_OC2_SetConfig) + UsageFault_Handler 0x08004517 Thumb Code 2 stm32f1xx_it.o(i.UsageFault_Handler) + __0printf 0x08004519 Thumb Code 22 printfa.o(i.__0printf) + __1printf 0x08004519 Thumb Code 0 printfa.o(i.__0printf) + __2printf 0x08004519 Thumb Code 0 printfa.o(i.__0printf) + __c89printf 0x08004519 Thumb Code 0 printfa.o(i.__0printf) + printf 0x08004519 Thumb Code 0 printfa.o(i.__0printf) + __scatterload_copy 0x08004559 Thumb Code 14 handlers.o(i.__scatterload_copy) + __scatterload_null 0x08004567 Thumb Code 2 handlers.o(i.__scatterload_null) + __scatterload_zeroinit 0x08004569 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) + fputc 0x08004e03 Thumb Code 24 sx1281.o(i.fputc) + free 0x08004e1d Thumb Code 76 malloc.o(i.free) + main 0x08004e6d Thumb Code 120 main.o(i.main) + malloc 0x08004ef5 Thumb Code 92 malloc.o(i.malloc) + AHBPrescTable 0x08004f8a Data 16 system_stm32f1xx.o(.constdata) + APBPrescTable 0x08004f9a Data 8 system_stm32f1xx.o(.constdata) + bleConfigList 0x08004fbc Data 9 sx1281.o(.constdata) + loraConfigList 0x08004fc5 Data 24 sx1281.o(.constdata) + gfskConfigList 0x08004fdd Data 12 sx1281.o(.constdata) + flrcConfigList 0x08004fe9 Data 12 sx1281.o(.constdata) + RadioRegsInit 0x08004ff6 Data 4 sx1281_driver.o(.constdata) + Radio 0x08004ffc Data 228 sx1281_driver_hal.o(.constdata) + ascii_1608 0x080050e0 Data 1520 lcd.o(.constdata) + ascii_2412 0x080056d0 Data 4560 lcd.o(.constdata) + ascii_3216 0x080068a0 Data 6080 lcd.o(.constdata) + logo_M 0x08008060 Data 512 lcd.o(.constdata) + Region$$Table$$Base 0x08008260 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x08008280 Number 0 anon$$obj.o(Region$$Table) + uwTickFreq 0x20000000 Data 1 stm32f1xx_hal.o(.data) + uwTickPrio 0x20000004 Data 4 stm32f1xx_hal.o(.data) + uwTick 0x20000008 Data 4 stm32f1xx_hal.o(.data) + SystemCoreClock 0x2000000c Data 4 system_stm32f1xx.o(.data) + BufferSize 0x20000010 Data 1 sx1281.o(.data) + sx1281_state 0x20000011 Data 1 sx1281.o(.data) + RxIrqMask 0x20000012 Data 2 sx1281.o(.data) + TxIrqMask 0x20000014 Data 2 sx1281.o(.data) + Buffer 0x20000016 Data 5 sx1281.o(.data) + Callbacks 0x2000001c Data 32 sx1281.o(.data) + DioIrq 0x20000044 Data 4 sx1281_driver.o(.data) + __stdout 0x20000050 Data 4 stdout.o(.data) + __microlib_freelist 0x20000054 Data 4 mvars.o(.data) + __microlib_freelist_initialised 0x20000058 Data 4 mvars.o(.data) + radio 0x20000060 Data 72 main.o(.bss) + hspi1 0x200000a8 Data 88 spi.o(.bss) + hspi2 0x20000100 Data 88 spi.o(.bss) + hdma_spi1_tx 0x20000158 Data 68 spi.o(.bss) + hdma_spi1_rx 0x2000019c Data 68 spi.o(.bss) + hdma_spi2_tx 0x200001e0 Data 68 spi.o(.bss) + htim1 0x20000224 Data 72 tim.o(.bss) + huart1 0x2000026c Data 72 usart.o(.bss) + huart2 0x200002b4 Data 72 usart.o(.bss) + __heap_base 0x200023c0 Data 0 startup_stm32f103xb.o(HEAP) + __heap_limit 0x200025c0 Data 0 startup_stm32f103xb.o(HEAP) + __initial_sp 0x200029c0 Data 0 startup_stm32f103xb.o(STACK) @@ -2658,323 +2661,323 @@ Memory Map of the image Image Entry point : 0x080000ed - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00008544, Max: 0x00010000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000082dc, Max: 0x00010000, ABSOLUTE) - Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000084e0, Max: 0x00010000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00008280, Max: 0x00010000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object 0x08000000 0x08000000 0x000000ec Data RO 3 RESET startup_stm32f103xb.o - 0x080000ec 0x080000ec 0x00000000 Code RO 4571 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) - 0x080000ec 0x080000ec 0x00000004 Code RO 4901 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) - 0x080000f0 0x080000f0 0x00000004 Code RO 4904 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) - 0x080000f4 0x080000f4 0x00000000 Code RO 4906 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) - 0x080000f4 0x080000f4 0x00000000 Code RO 4908 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) - 0x080000f4 0x080000f4 0x00000008 Code RO 4909 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) - 0x080000fc 0x080000fc 0x00000004 Code RO 4916 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o) - 0x08000100 0x08000100 0x00000000 Code RO 4911 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o) - 0x08000100 0x08000100 0x00000000 Code RO 4913 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o) - 0x08000100 0x08000100 0x00000004 Code RO 4902 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) + 0x080000ec 0x080000ec 0x00000000 Code RO 4598 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) + 0x080000ec 0x080000ec 0x00000004 Code RO 4928 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) + 0x080000f0 0x080000f0 0x00000004 Code RO 4931 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 4933 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 4935 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) + 0x080000f4 0x080000f4 0x00000008 Code RO 4936 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) + 0x080000fc 0x080000fc 0x00000004 Code RO 4943 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o) + 0x08000100 0x08000100 0x00000000 Code RO 4938 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o) + 0x08000100 0x08000100 0x00000000 Code RO 4940 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o) + 0x08000100 0x08000100 0x00000004 Code RO 4929 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) 0x08000104 0x08000104 0x00000024 Code RO 4 .text startup_stm32f103xb.o - 0x08000128 0x08000128 0x00000020 Code RO 4574 .text mc_w.l(llushr.o) - 0x08000148 0x08000148 0x00000024 Code RO 4576 .text mc_w.l(memcpya.o) - 0x0800016c 0x0800016c 0x00000024 Code RO 4578 .text mc_w.l(memseta.o) - 0x08000190 0x08000190 0x000000e4 Code RO 4885 .text mf_w.l(dmul.o) - 0x08000274 0x08000274 0x000000de Code RO 4887 .text mf_w.l(ddiv.o) - 0x08000352 0x08000352 0x00000022 Code RO 4889 .text mf_w.l(dflti.o) - 0x08000374 0x08000374 0x0000001a Code RO 4891 .text mf_w.l(dfltui.o) - 0x0800038e 0x0800038e 0x00000032 Code RO 4893 .text mf_w.l(dfixui.o) - 0x080003c0 0x080003c0 0x0000002c Code RO 4918 .text mc_w.l(uidiv.o) - 0x080003ec 0x080003ec 0x00000062 Code RO 4920 .text mc_w.l(uldiv.o) - 0x0800044e 0x0800044e 0x00000000 Code RO 4930 .text mc_w.l(iusefp.o) - 0x0800044e 0x0800044e 0x000000ba Code RO 4933 .text mf_w.l(depilogue.o) - 0x08000508 0x08000508 0x0000014e Code RO 4935 .text mf_w.l(dadd.o) - 0x08000656 0x08000656 0x00000030 Code RO 4937 .text mf_w.l(dfixul.o) + 0x08000128 0x08000128 0x00000020 Code RO 4601 .text mc_w.l(llushr.o) + 0x08000148 0x08000148 0x00000024 Code RO 4603 .text mc_w.l(memcpya.o) + 0x0800016c 0x0800016c 0x00000024 Code RO 4605 .text mc_w.l(memseta.o) + 0x08000190 0x08000190 0x000000e4 Code RO 4912 .text mf_w.l(dmul.o) + 0x08000274 0x08000274 0x000000de Code RO 4914 .text mf_w.l(ddiv.o) + 0x08000352 0x08000352 0x00000022 Code RO 4916 .text mf_w.l(dflti.o) + 0x08000374 0x08000374 0x0000001a Code RO 4918 .text mf_w.l(dfltui.o) + 0x0800038e 0x0800038e 0x00000032 Code RO 4920 .text mf_w.l(dfixui.o) + 0x080003c0 0x080003c0 0x0000002c Code RO 4945 .text mc_w.l(uidiv.o) + 0x080003ec 0x080003ec 0x00000062 Code RO 4947 .text mc_w.l(uldiv.o) + 0x0800044e 0x0800044e 0x00000000 Code RO 4957 .text mc_w.l(iusefp.o) + 0x0800044e 0x0800044e 0x000000ba Code RO 4960 .text mf_w.l(depilogue.o) + 0x08000508 0x08000508 0x0000014e Code RO 4962 .text mf_w.l(dadd.o) + 0x08000656 0x08000656 0x00000030 Code RO 4964 .text mf_w.l(dfixul.o) 0x08000686 0x08000686 0x00000002 PAD - 0x08000688 0x08000688 0x00000030 Code RO 4939 .text mf_w.l(cdrcmple.o) - 0x080006b8 0x080006b8 0x00000024 Code RO 4941 .text mc_w.l(init.o) - 0x080006dc 0x080006dc 0x0000001e Code RO 4943 .text mc_w.l(llshl.o) - 0x080006fa 0x080006fa 0x00000024 Code RO 4945 .text mc_w.l(llsshr.o) + 0x08000688 0x08000688 0x00000030 Code RO 4966 .text mf_w.l(cdrcmple.o) + 0x080006b8 0x080006b8 0x00000024 Code RO 4968 .text mc_w.l(init.o) + 0x080006dc 0x080006dc 0x0000001e Code RO 4970 .text mc_w.l(llshl.o) + 0x080006fa 0x080006fa 0x00000024 Code RO 4972 .text mc_w.l(llsshr.o) 0x0800071e 0x0800071e 0x00000002 PAD - 0x08000720 0x08000720 0x0000001c Code RO 4088 i.BSP_SPI_GetHandle spi_1.o - 0x0800073c 0x0800073c 0x00000018 Code RO 4089 i.BSP_SPI_GetState spi_1.o - 0x08000754 0x08000754 0x0000001c Code RO 4095 i.BSP_SPI_RegisterCallback spi_1.o - 0x08000770 0x08000770 0x0000002a Code RO 4096 i.BSP_SPI_Transmit spi_1.o - 0x0800079a 0x0800079a 0x0000002e Code RO 4097 i.BSP_SPI_TransmitReceive spi_1.o - 0x080007c8 0x080007c8 0x00000010 Code RO 4221 i.BSP_UART_GetHandle uart.o - 0x080007d8 0x080007d8 0x00000002 Code RO 389 i.BusFault_Handler stm32f1xx_it.o + 0x08000720 0x08000720 0x0000001c Code RO 4115 i.BSP_SPI_GetHandle spi_1.o + 0x0800073c 0x0800073c 0x00000018 Code RO 4116 i.BSP_SPI_GetState spi_1.o + 0x08000754 0x08000754 0x0000001c Code RO 4122 i.BSP_SPI_RegisterCallback spi_1.o + 0x08000770 0x08000770 0x0000002a Code RO 4123 i.BSP_SPI_Transmit spi_1.o + 0x0800079a 0x0800079a 0x0000002e Code RO 4124 i.BSP_SPI_TransmitReceive spi_1.o + 0x080007c8 0x080007c8 0x00000010 Code RO 4248 i.BSP_UART_GetHandle uart.o + 0x080007d8 0x080007d8 0x00000002 Code RO 388 i.BusFault_Handler stm32f1xx_it.o 0x080007da 0x080007da 0x00000002 PAD - 0x080007dc 0x080007dc 0x0000000c Code RO 390 i.DMA1_Channel2_IRQHandler stm32f1xx_it.o - 0x080007e8 0x080007e8 0x0000000c Code RO 391 i.DMA1_Channel3_IRQHandler stm32f1xx_it.o - 0x080007f4 0x080007f4 0x0000000c Code RO 392 i.DMA1_Channel5_IRQHandler stm32f1xx_it.o - 0x08000800 0x08000800 0x0000002a Code RO 1257 i.DMA_SetConfig stm32f1xx_hal_dma.o - 0x0800082a 0x0800082a 0x00000002 Code RO 393 i.DebugMon_Handler stm32f1xx_it.o - 0x0800082c 0x0800082c 0x00000008 Code RO 394 i.EXTI15_10_IRQHandler stm32f1xx_it.o - 0x08000834 0x08000834 0x00000018 Code RO 395 i.EXTI9_5_IRQHandler stm32f1xx_it.o + 0x080007dc 0x080007dc 0x0000000c Code RO 389 i.DMA1_Channel2_IRQHandler stm32f1xx_it.o + 0x080007e8 0x080007e8 0x0000000c Code RO 390 i.DMA1_Channel3_IRQHandler stm32f1xx_it.o + 0x080007f4 0x080007f4 0x0000000c Code RO 391 i.DMA1_Channel5_IRQHandler stm32f1xx_it.o + 0x08000800 0x08000800 0x0000002a Code RO 1256 i.DMA_SetConfig stm32f1xx_hal_dma.o + 0x0800082a 0x0800082a 0x00000002 Code RO 392 i.DebugMon_Handler stm32f1xx_it.o + 0x0800082c 0x0800082c 0x00000008 Code RO 393 i.EXTI15_10_IRQHandler stm32f1xx_it.o + 0x08000834 0x08000834 0x00000018 Code RO 394 i.EXTI9_5_IRQHandler stm32f1xx_it.o 0x0800084c 0x0800084c 0x00000004 Code RO 13 i.Error_Handler main.o - 0x08000850 0x08000850 0x00000030 Code RO 3732 i.GpioGetBitPos sx1281_driver_gpio.o - 0x08000880 0x08000880 0x00000002 Code RO 3733 i.GpioInit sx1281_driver_gpio.o - 0x08000882 0x08000882 0x00000004 Code RO 3735 i.GpioRead sx1281_driver_gpio.o + 0x08000850 0x08000850 0x00000030 Code RO 3759 i.GpioGetBitPos sx1281_driver_gpio.o + 0x08000880 0x08000880 0x00000002 Code RO 3760 i.GpioInit sx1281_driver_gpio.o + 0x08000882 0x08000882 0x00000004 Code RO 3762 i.GpioRead sx1281_driver_gpio.o 0x08000886 0x08000886 0x00000002 PAD - 0x08000888 0x08000888 0x00000038 Code RO 3736 i.GpioSetIrq sx1281_driver_gpio.o - 0x080008c0 0x080008c0 0x00000006 Code RO 3737 i.GpioWrite sx1281_driver_gpio.o + 0x08000888 0x08000888 0x00000038 Code RO 3763 i.GpioSetIrq sx1281_driver_gpio.o + 0x080008c0 0x080008c0 0x00000006 Code RO 3764 i.GpioWrite sx1281_driver_gpio.o 0x080008c6 0x080008c6 0x00000002 PAD - 0x080008c8 0x080008c8 0x00000154 Code RO 1263 i.HAL_DMA_IRQHandler stm32f1xx_hal_dma.o - 0x08000a1c 0x08000a1c 0x0000005c Code RO 1264 i.HAL_DMA_Init stm32f1xx_hal_dma.o - 0x08000a78 0x08000a78 0x00000070 Code RO 1268 i.HAL_DMA_Start_IT stm32f1xx_hal_dma.o - 0x08000ae8 0x08000ae8 0x00000024 Code RO 884 i.HAL_Delay stm32f1xx_hal.o - 0x08000b0c 0x08000b0c 0x0000002c Code RO 4031 i.HAL_GPIO_EXTI_Callback gpio_1.o - 0x08000b38 0x08000b38 0x00000018 Code RO 1193 i.HAL_GPIO_EXTI_IRQHandler stm32f1xx_hal_gpio.o - 0x08000b50 0x08000b50 0x000001e0 Code RO 1194 i.HAL_GPIO_Init stm32f1xx_hal_gpio.o - 0x08000d30 0x08000d30 0x0000000a Code RO 1196 i.HAL_GPIO_ReadPin stm32f1xx_hal_gpio.o - 0x08000d3a 0x08000d3a 0x0000000a Code RO 1198 i.HAL_GPIO_WritePin stm32f1xx_hal_gpio.o - 0x08000d44 0x08000d44 0x0000000c Code RO 888 i.HAL_GetTick stm32f1xx_hal.o - 0x08000d50 0x08000d50 0x0000006e Code RO 2829 i.HAL_HalfDuplex_Init stm32f1xx_hal_uart.o + 0x080008c8 0x080008c8 0x00000154 Code RO 1262 i.HAL_DMA_IRQHandler stm32f1xx_hal_dma.o + 0x08000a1c 0x08000a1c 0x0000005c Code RO 1263 i.HAL_DMA_Init stm32f1xx_hal_dma.o + 0x08000a78 0x08000a78 0x00000070 Code RO 1267 i.HAL_DMA_Start_IT stm32f1xx_hal_dma.o + 0x08000ae8 0x08000ae8 0x00000024 Code RO 883 i.HAL_Delay stm32f1xx_hal.o + 0x08000b0c 0x08000b0c 0x0000002c Code RO 4058 i.HAL_GPIO_EXTI_Callback gpio_1.o + 0x08000b38 0x08000b38 0x00000018 Code RO 1192 i.HAL_GPIO_EXTI_IRQHandler stm32f1xx_hal_gpio.o + 0x08000b50 0x08000b50 0x000001e0 Code RO 1193 i.HAL_GPIO_Init stm32f1xx_hal_gpio.o + 0x08000d30 0x08000d30 0x0000000a Code RO 1195 i.HAL_GPIO_ReadPin stm32f1xx_hal_gpio.o + 0x08000d3a 0x08000d3a 0x0000000a Code RO 1197 i.HAL_GPIO_WritePin stm32f1xx_hal_gpio.o + 0x08000d44 0x08000d44 0x0000000c Code RO 887 i.HAL_GetTick stm32f1xx_hal.o + 0x08000d50 0x08000d50 0x0000006e Code RO 2828 i.HAL_HalfDuplex_Init stm32f1xx_hal_uart.o 0x08000dbe 0x08000dbe 0x00000002 PAD - 0x08000dc0 0x08000dc0 0x00000010 Code RO 894 i.HAL_IncTick stm32f1xx_hal.o - 0x08000dd0 0x08000dd0 0x00000024 Code RO 895 i.HAL_Init stm32f1xx_hal.o - 0x08000df4 0x08000df4 0x00000040 Code RO 896 i.HAL_InitTick stm32f1xx_hal.o - 0x08000e34 0x08000e34 0x0000003c Code RO 495 i.HAL_MspInit stm32f1xx_hal_msp.o - 0x08000e70 0x08000e70 0x0000001a Code RO 1354 i.HAL_NVIC_EnableIRQ stm32f1xx_hal_cortex.o + 0x08000dc0 0x08000dc0 0x00000010 Code RO 893 i.HAL_IncTick stm32f1xx_hal.o + 0x08000dd0 0x08000dd0 0x00000024 Code RO 894 i.HAL_Init stm32f1xx_hal.o + 0x08000df4 0x08000df4 0x00000040 Code RO 895 i.HAL_InitTick stm32f1xx_hal.o + 0x08000e34 0x08000e34 0x0000003c Code RO 494 i.HAL_MspInit stm32f1xx_hal_msp.o + 0x08000e70 0x08000e70 0x0000001a Code RO 1353 i.HAL_NVIC_EnableIRQ stm32f1xx_hal_cortex.o 0x08000e8a 0x08000e8a 0x00000002 PAD - 0x08000e8c 0x08000e8c 0x00000040 Code RO 1360 i.HAL_NVIC_SetPriority stm32f1xx_hal_cortex.o - 0x08000ecc 0x08000ecc 0x00000024 Code RO 1361 i.HAL_NVIC_SetPriorityGrouping stm32f1xx_hal_cortex.o - 0x08000ef0 0x08000ef0 0x0000012c Code RO 1052 i.HAL_RCC_ClockConfig stm32f1xx_hal_rcc.o - 0x0800101c 0x0800101c 0x00000020 Code RO 1059 i.HAL_RCC_GetPCLK1Freq stm32f1xx_hal_rcc.o - 0x0800103c 0x0800103c 0x00000020 Code RO 1060 i.HAL_RCC_GetPCLK2Freq stm32f1xx_hal_rcc.o - 0x0800105c 0x0800105c 0x00000054 Code RO 1061 i.HAL_RCC_GetSysClockFreq stm32f1xx_hal_rcc.o - 0x080010b0 0x080010b0 0x00000320 Code RO 1064 i.HAL_RCC_OscConfig stm32f1xx_hal_rcc.o - 0x080013d0 0x080013d0 0x00000038 Code RO 4099 i.HAL_SPI_ErrorCallback spi_1.o - 0x08001408 0x08001408 0x00000006 Code RO 564 i.HAL_SPI_GetState stm32f1xx_hal_spi.o - 0x0800140e 0x0800140e 0x000000b2 Code RO 566 i.HAL_SPI_Init stm32f1xx_hal_spi.o - 0x080014c0 0x080014c0 0x00000138 Code RO 246 i.HAL_SPI_MspInit spi.o - 0x080015f8 0x080015f8 0x00000038 Code RO 4100 i.HAL_SPI_RxCpltCallback spi_1.o - 0x08001630 0x08001630 0x00000038 Code RO 4101 i.HAL_SPI_RxHalfCpltCallback spi_1.o - 0x08001668 0x08001668 0x00000166 Code RO 574 i.HAL_SPI_Transmit stm32f1xx_hal_spi.o - 0x080017ce 0x080017ce 0x000001f0 Code RO 575 i.HAL_SPI_TransmitReceive stm32f1xx_hal_spi.o + 0x08000e8c 0x08000e8c 0x00000040 Code RO 1359 i.HAL_NVIC_SetPriority stm32f1xx_hal_cortex.o + 0x08000ecc 0x08000ecc 0x00000024 Code RO 1360 i.HAL_NVIC_SetPriorityGrouping stm32f1xx_hal_cortex.o + 0x08000ef0 0x08000ef0 0x0000012c Code RO 1051 i.HAL_RCC_ClockConfig stm32f1xx_hal_rcc.o + 0x0800101c 0x0800101c 0x00000020 Code RO 1058 i.HAL_RCC_GetPCLK1Freq stm32f1xx_hal_rcc.o + 0x0800103c 0x0800103c 0x00000020 Code RO 1059 i.HAL_RCC_GetPCLK2Freq stm32f1xx_hal_rcc.o + 0x0800105c 0x0800105c 0x00000054 Code RO 1060 i.HAL_RCC_GetSysClockFreq stm32f1xx_hal_rcc.o + 0x080010b0 0x080010b0 0x00000320 Code RO 1063 i.HAL_RCC_OscConfig stm32f1xx_hal_rcc.o + 0x080013d0 0x080013d0 0x00000038 Code RO 4126 i.HAL_SPI_ErrorCallback spi_1.o + 0x08001408 0x08001408 0x00000006 Code RO 563 i.HAL_SPI_GetState stm32f1xx_hal_spi.o + 0x0800140e 0x0800140e 0x000000b2 Code RO 565 i.HAL_SPI_Init stm32f1xx_hal_spi.o + 0x080014c0 0x080014c0 0x00000138 Code RO 245 i.HAL_SPI_MspInit spi.o + 0x080015f8 0x080015f8 0x00000038 Code RO 4127 i.HAL_SPI_RxCpltCallback spi_1.o + 0x08001630 0x08001630 0x00000038 Code RO 4128 i.HAL_SPI_RxHalfCpltCallback spi_1.o + 0x08001668 0x08001668 0x00000166 Code RO 573 i.HAL_SPI_Transmit stm32f1xx_hal_spi.o + 0x080017ce 0x080017ce 0x000001f0 Code RO 574 i.HAL_SPI_TransmitReceive stm32f1xx_hal_spi.o 0x080019be 0x080019be 0x00000002 PAD - 0x080019c0 0x080019c0 0x00000110 Code RO 576 i.HAL_SPI_TransmitReceive_DMA stm32f1xx_hal_spi.o - 0x08001ad0 0x08001ad0 0x000000cc Code RO 578 i.HAL_SPI_Transmit_DMA stm32f1xx_hal_spi.o - 0x08001b9c 0x08001b9c 0x00000024 Code RO 4102 i.HAL_SPI_TxCpltCallback spi_1.o - 0x08001bc0 0x08001bc0 0x00000038 Code RO 4103 i.HAL_SPI_TxHalfCpltCallback spi_1.o - 0x08001bf8 0x08001bf8 0x00000038 Code RO 4104 i.HAL_SPI_TxRxCpltCallback spi_1.o - 0x08001c30 0x08001c30 0x00000038 Code RO 4105 i.HAL_SPI_TxRxHalfCpltCallback spi_1.o - 0x08001c68 0x08001c68 0x00000028 Code RO 1365 i.HAL_SYSTICK_Config stm32f1xx_hal_cortex.o - 0x08001c90 0x08001c90 0x00000054 Code RO 2563 i.HAL_TIMEx_ConfigBreakDeadTime stm32f1xx_hal_tim_ex.o - 0x08001ce4 0x08001ce4 0x00000068 Code RO 2579 i.HAL_TIMEx_MasterConfigSynchronization stm32f1xx_hal_tim_ex.o - 0x08001d4c 0x08001d4c 0x0000005a Code RO 1856 i.HAL_TIM_Base_Init stm32f1xx_hal_tim.o + 0x080019c0 0x080019c0 0x00000110 Code RO 575 i.HAL_SPI_TransmitReceive_DMA stm32f1xx_hal_spi.o + 0x08001ad0 0x08001ad0 0x000000cc Code RO 577 i.HAL_SPI_Transmit_DMA stm32f1xx_hal_spi.o + 0x08001b9c 0x08001b9c 0x00000024 Code RO 4129 i.HAL_SPI_TxCpltCallback spi_1.o + 0x08001bc0 0x08001bc0 0x00000038 Code RO 4130 i.HAL_SPI_TxHalfCpltCallback spi_1.o + 0x08001bf8 0x08001bf8 0x00000038 Code RO 4131 i.HAL_SPI_TxRxCpltCallback spi_1.o + 0x08001c30 0x08001c30 0x00000038 Code RO 4132 i.HAL_SPI_TxRxHalfCpltCallback spi_1.o + 0x08001c68 0x08001c68 0x00000028 Code RO 1364 i.HAL_SYSTICK_Config stm32f1xx_hal_cortex.o + 0x08001c90 0x08001c90 0x00000054 Code RO 2562 i.HAL_TIMEx_ConfigBreakDeadTime stm32f1xx_hal_tim_ex.o + 0x08001ce4 0x08001ce4 0x00000068 Code RO 2578 i.HAL_TIMEx_MasterConfigSynchronization stm32f1xx_hal_tim_ex.o + 0x08001d4c 0x08001d4c 0x0000005a Code RO 1855 i.HAL_TIM_Base_Init stm32f1xx_hal_tim.o 0x08001da6 0x08001da6 0x00000002 PAD - 0x08001da8 0x08001da8 0x00000028 Code RO 294 i.HAL_TIM_Base_MspInit tim.o - 0x08001dd0 0x08001dd0 0x000000dc Code RO 1865 i.HAL_TIM_ConfigClockSource stm32f1xx_hal_tim.o - 0x08001eac 0x08001eac 0x0000004c Code RO 295 i.HAL_TIM_MspPostInit tim.o - 0x08001ef8 0x08001ef8 0x000000cc Code RO 1928 i.HAL_TIM_PWM_ConfigChannel stm32f1xx_hal_tim.o - 0x08001fc4 0x08001fc4 0x0000005a Code RO 1931 i.HAL_TIM_PWM_Init stm32f1xx_hal_tim.o - 0x0800201e 0x0800201e 0x00000002 Code RO 1933 i.HAL_TIM_PWM_MspInit stm32f1xx_hal_tim.o - 0x08002020 0x08002020 0x00000064 Code RO 2857 i.HAL_UART_Init stm32f1xx_hal_uart.o - 0x08002084 0x08002084 0x000000a8 Code RO 342 i.HAL_UART_MspInit usart.o - 0x0800212c 0x0800212c 0x000000a0 Code RO 2865 i.HAL_UART_Transmit stm32f1xx_hal_uart.o - 0x080021cc 0x080021cc 0x00000002 Code RO 396 i.HardFault_Handler stm32f1xx_it.o - 0x080021ce 0x080021ce 0x00000052 Code RO 4324 i.LCD_Clear lcd.o - 0x08002220 0x08002220 0x00000080 Code RO 4325 i.LCD_DrawBitmap lcd.o - 0x080022a0 0x080022a0 0x00000164 Code RO 4326 i.LCD_DrawChar lcd.o - 0x08002404 0x08002404 0x0000005c Code RO 4331 i.LCD_DrawPoint lcd.o - 0x08002460 0x08002460 0x0000006e Code RO 4335 i.LCD_DrawString lcd.o + 0x08001da8 0x08001da8 0x00000028 Code RO 293 i.HAL_TIM_Base_MspInit tim.o + 0x08001dd0 0x08001dd0 0x000000dc Code RO 1864 i.HAL_TIM_ConfigClockSource stm32f1xx_hal_tim.o + 0x08001eac 0x08001eac 0x0000004c Code RO 294 i.HAL_TIM_MspPostInit tim.o + 0x08001ef8 0x08001ef8 0x000000cc Code RO 1927 i.HAL_TIM_PWM_ConfigChannel stm32f1xx_hal_tim.o + 0x08001fc4 0x08001fc4 0x0000005a Code RO 1930 i.HAL_TIM_PWM_Init stm32f1xx_hal_tim.o + 0x0800201e 0x0800201e 0x00000002 Code RO 1932 i.HAL_TIM_PWM_MspInit stm32f1xx_hal_tim.o + 0x08002020 0x08002020 0x00000064 Code RO 2856 i.HAL_UART_Init stm32f1xx_hal_uart.o + 0x08002084 0x08002084 0x000000a8 Code RO 341 i.HAL_UART_MspInit usart.o + 0x0800212c 0x0800212c 0x000000a0 Code RO 2864 i.HAL_UART_Transmit stm32f1xx_hal_uart.o + 0x080021cc 0x080021cc 0x00000002 Code RO 395 i.HardFault_Handler stm32f1xx_it.o + 0x080021ce 0x080021ce 0x00000052 Code RO 4351 i.LCD_Clear lcd.o + 0x08002220 0x08002220 0x00000080 Code RO 4352 i.LCD_DrawBitmap lcd.o + 0x080022a0 0x080022a0 0x00000164 Code RO 4353 i.LCD_DrawChar lcd.o + 0x08002404 0x08002404 0x0000005c Code RO 4358 i.LCD_DrawPoint lcd.o + 0x08002460 0x08002460 0x0000006e Code RO 4362 i.LCD_DrawString lcd.o 0x080024ce 0x080024ce 0x00000002 PAD - 0x080024d0 0x080024d0 0x00000160 Code RO 4336 i.LCD_Init lcd.o - 0x08002630 0x08002630 0x00000064 Code RO 4337 i.LCD_SetAddressWindow lcd.o - 0x08002694 0x08002694 0x00000040 Code RO 4338 i.LCD_WriteCommand lcd.o - 0x080026d4 0x080026d4 0x00000040 Code RO 4339 i.LCD_WriteData lcd.o - 0x08002714 0x08002714 0x00000050 Code RO 4340 i.LCD_WriteDataBuffer lcd.o - 0x08002764 0x08002764 0x00000050 Code RO 4341 i.LCD_WriteDataBuffer_DMA lcd.o - 0x080027b4 0x080027b4 0x0000003a Code RO 3738 i.MSP_GetIRQn sx1281_driver_gpio.o + 0x080024d0 0x080024d0 0x00000160 Code RO 4363 i.LCD_Init lcd.o + 0x08002630 0x08002630 0x00000064 Code RO 4364 i.LCD_SetAddressWindow lcd.o + 0x08002694 0x08002694 0x00000040 Code RO 4365 i.LCD_WriteCommand lcd.o + 0x080026d4 0x080026d4 0x00000040 Code RO 4366 i.LCD_WriteData lcd.o + 0x08002714 0x08002714 0x00000050 Code RO 4367 i.LCD_WriteDataBuffer lcd.o + 0x08002764 0x08002764 0x00000050 Code RO 4368 i.LCD_WriteDataBuffer_DMA lcd.o + 0x080027b4 0x080027b4 0x0000003a Code RO 3765 i.MSP_GetIRQn sx1281_driver_gpio.o 0x080027ee 0x080027ee 0x00000002 PAD - 0x080027f0 0x080027f0 0x0000004c Code RO 221 i.MX_DMA_Init dma.o - 0x0800283c 0x0800283c 0x0000012c Code RO 197 i.MX_GPIO_Init gpio.o - 0x08002968 0x08002968 0x00000048 Code RO 247 i.MX_SPI1_Init spi.o - 0x080029b0 0x080029b0 0x00000048 Code RO 248 i.MX_SPI2_Init spi.o - 0x080029f8 0x080029f8 0x000000c4 Code RO 296 i.MX_TIM1_Init tim.o - 0x08002abc 0x08002abc 0x00000038 Code RO 343 i.MX_USART1_UART_Init usart.o - 0x08002af4 0x08002af4 0x00000038 Code RO 344 i.MX_USART2_UART_Init usart.o - 0x08002b2c 0x08002b2c 0x00000002 Code RO 397 i.MemManage_Handler stm32f1xx_it.o - 0x08002b2e 0x08002b2e 0x00000002 Code RO 398 i.NMI_Handler stm32f1xx_it.o - 0x08002b30 0x08002b30 0x00000014 Code RO 3229 i.OnRxDone sx1281.o - 0x08002b44 0x08002b44 0x00000014 Code RO 3230 i.OnRxError sx1281.o - 0x08002b58 0x08002b58 0x00000014 Code RO 3231 i.OnRxTimeout sx1281.o - 0x08002b6c 0x08002b6c 0x00000014 Code RO 3232 i.OnTxDone sx1281.o - 0x08002b80 0x08002b80 0x00000014 Code RO 3233 i.OnTxTimeout sx1281.o - 0x08002b94 0x08002b94 0x00000002 Code RO 399 i.PendSV_Handler stm32f1xx_it.o - 0x08002b96 0x08002b96 0x00000022 Code RO 594 i.SPI_DMAError stm32f1xx_hal_spi.o - 0x08002bb8 0x08002bb8 0x0000000a Code RO 595 i.SPI_DMAHalfReceiveCplt stm32f1xx_hal_spi.o - 0x08002bc2 0x08002bc2 0x0000000a Code RO 596 i.SPI_DMAHalfTransmitCplt stm32f1xx_hal_spi.o - 0x08002bcc 0x08002bcc 0x0000000a Code RO 597 i.SPI_DMAHalfTransmitReceiveCplt stm32f1xx_hal_spi.o - 0x08002bd6 0x08002bd6 0x0000006a Code RO 598 i.SPI_DMAReceiveCplt stm32f1xx_hal_spi.o - 0x08002c40 0x08002c40 0x00000064 Code RO 600 i.SPI_DMATransmitCplt stm32f1xx_hal_spi.o - 0x08002ca4 0x08002ca4 0x0000005a Code RO 601 i.SPI_DMATransmitReceiveCplt stm32f1xx_hal_spi.o - 0x08002cfe 0x08002cfe 0x0000005c Code RO 603 i.SPI_EndRxTransaction stm32f1xx_hal_spi.o - 0x08002d5a 0x08002d5a 0x00000034 Code RO 604 i.SPI_EndRxTxTransaction stm32f1xx_hal_spi.o + 0x080027f0 0x080027f0 0x0000004c Code RO 220 i.MX_DMA_Init dma.o + 0x0800283c 0x0800283c 0x0000012c Code RO 196 i.MX_GPIO_Init gpio.o + 0x08002968 0x08002968 0x00000048 Code RO 246 i.MX_SPI1_Init spi.o + 0x080029b0 0x080029b0 0x00000048 Code RO 247 i.MX_SPI2_Init spi.o + 0x080029f8 0x080029f8 0x000000c4 Code RO 295 i.MX_TIM1_Init tim.o + 0x08002abc 0x08002abc 0x00000038 Code RO 342 i.MX_USART1_UART_Init usart.o + 0x08002af4 0x08002af4 0x00000038 Code RO 343 i.MX_USART2_UART_Init usart.o + 0x08002b2c 0x08002b2c 0x00000002 Code RO 396 i.MemManage_Handler stm32f1xx_it.o + 0x08002b2e 0x08002b2e 0x00000002 Code RO 397 i.NMI_Handler stm32f1xx_it.o + 0x08002b30 0x08002b30 0x00000014 Code RO 3228 i.OnRxDone sx1281.o + 0x08002b44 0x08002b44 0x00000014 Code RO 3229 i.OnRxError sx1281.o + 0x08002b58 0x08002b58 0x00000014 Code RO 3230 i.OnRxTimeout sx1281.o + 0x08002b6c 0x08002b6c 0x00000014 Code RO 3231 i.OnTxDone sx1281.o + 0x08002b80 0x08002b80 0x00000014 Code RO 3232 i.OnTxTimeout sx1281.o + 0x08002b94 0x08002b94 0x00000002 Code RO 398 i.PendSV_Handler stm32f1xx_it.o + 0x08002b96 0x08002b96 0x00000022 Code RO 593 i.SPI_DMAError stm32f1xx_hal_spi.o + 0x08002bb8 0x08002bb8 0x0000000a Code RO 594 i.SPI_DMAHalfReceiveCplt stm32f1xx_hal_spi.o + 0x08002bc2 0x08002bc2 0x0000000a Code RO 595 i.SPI_DMAHalfTransmitCplt stm32f1xx_hal_spi.o + 0x08002bcc 0x08002bcc 0x0000000a Code RO 596 i.SPI_DMAHalfTransmitReceiveCplt stm32f1xx_hal_spi.o + 0x08002bd6 0x08002bd6 0x0000006a Code RO 597 i.SPI_DMAReceiveCplt stm32f1xx_hal_spi.o + 0x08002c40 0x08002c40 0x00000064 Code RO 599 i.SPI_DMATransmitCplt stm32f1xx_hal_spi.o + 0x08002ca4 0x08002ca4 0x0000005a Code RO 600 i.SPI_DMATransmitReceiveCplt stm32f1xx_hal_spi.o + 0x08002cfe 0x08002cfe 0x0000005c Code RO 602 i.SPI_EndRxTransaction stm32f1xx_hal_spi.o + 0x08002d5a 0x08002d5a 0x00000034 Code RO 603 i.SPI_EndRxTxTransaction stm32f1xx_hal_spi.o 0x08002d8e 0x08002d8e 0x00000002 PAD - 0x08002d90 0x08002d90 0x00000024 Code RO 4106 i.SPI_Get spi_1.o - 0x08002db4 0x08002db4 0x000000b8 Code RO 609 i.SPI_WaitFlagStateUntilTimeout stm32f1xx_hal_spi.o - 0x08002e6c 0x08002e6c 0x00000002 Code RO 400 i.SVC_Handler stm32f1xx_it.o - 0x08002e6e 0x08002e6e 0x0000003e Code RO 3399 i.SX1281Calibrate sx1281_driver.o - 0x08002eac 0x08002eac 0x00000018 Code RO 3400 i.SX1281ClearIrqStatus sx1281_driver.o - 0x08002ec4 0x08002ec4 0x0000001a Code RO 3401 i.SX1281GetFirmwareVersion sx1281_driver.o + 0x08002d90 0x08002d90 0x00000024 Code RO 4133 i.SPI_Get spi_1.o + 0x08002db4 0x08002db4 0x000000b8 Code RO 608 i.SPI_WaitFlagStateUntilTimeout stm32f1xx_hal_spi.o + 0x08002e6c 0x08002e6c 0x00000002 Code RO 399 i.SVC_Handler stm32f1xx_it.o + 0x08002e6e 0x08002e6e 0x0000003e Code RO 3426 i.SX1281Calibrate sx1281_driver.o + 0x08002eac 0x08002eac 0x00000018 Code RO 3427 i.SX1281ClearIrqStatus sx1281_driver.o + 0x08002ec4 0x08002ec4 0x0000001a Code RO 3428 i.SX1281GetFirmwareVersion sx1281_driver.o 0x08002ede 0x08002ede 0x00000002 PAD - 0x08002ee0 0x08002ee0 0x00000098 Code RO 3402 i.SX1281GetFrequencyError sx1281_driver.o - 0x08002f78 0x08002f78 0x00000014 Code RO 3404 i.SX1281GetIrqStatus sx1281_driver.o - 0x08002f8c 0x08002f8c 0x0000003c Code RO 3405 i.SX1281GetLoRaBandwidth sx1281_driver.o - 0x08002fc8 0x08002fc8 0x0000000c Code RO 3406 i.SX1281GetOpMode sx1281_driver.o - 0x08002fd4 0x08002fd4 0x00000214 Code RO 3407 i.SX1281GetPacketStatus sx1281_driver.o - 0x080031e8 0x080031e8 0x0000000c Code RO 3408 i.SX1281GetPacketType sx1281_driver.o - 0x080031f4 0x080031f4 0x00000028 Code RO 3409 i.SX1281GetPayload sx1281_driver.o - 0x0800321c 0x0800321c 0x00000022 Code RO 3410 i.SX1281GetRssiInst sx1281_driver.o + 0x08002ee0 0x08002ee0 0x00000098 Code RO 3429 i.SX1281GetFrequencyError sx1281_driver.o + 0x08002f78 0x08002f78 0x00000014 Code RO 3431 i.SX1281GetIrqStatus sx1281_driver.o + 0x08002f8c 0x08002f8c 0x0000003c Code RO 3432 i.SX1281GetLoRaBandwidth sx1281_driver.o + 0x08002fc8 0x08002fc8 0x0000000c Code RO 3433 i.SX1281GetOpMode sx1281_driver.o + 0x08002fd4 0x08002fd4 0x00000214 Code RO 3434 i.SX1281GetPacketStatus sx1281_driver.o + 0x080031e8 0x080031e8 0x0000000c Code RO 3435 i.SX1281GetPacketType sx1281_driver.o + 0x080031f4 0x080031f4 0x00000028 Code RO 3436 i.SX1281GetPayload sx1281_driver.o + 0x0800321c 0x0800321c 0x00000022 Code RO 3437 i.SX1281GetRssiInst sx1281_driver.o 0x0800323e 0x0800323e 0x00000002 PAD - 0x08003240 0x08003240 0x00000048 Code RO 3411 i.SX1281GetRxBufferStatus sx1281_driver.o - 0x08003288 0x08003288 0x00000018 Code RO 3412 i.SX1281GetStatus sx1281_driver.o - 0x080032a0 0x080032a0 0x00000024 Code RO 3808 i.SX1281HalGetDioStatus sx1281_driver_hal.o - 0x080032c4 0x080032c4 0x00000012 Code RO 3809 i.SX1281HalInit sx1281_driver_hal.o + 0x08003240 0x08003240 0x00000048 Code RO 3438 i.SX1281GetRxBufferStatus sx1281_driver.o + 0x08003288 0x08003288 0x00000018 Code RO 3439 i.SX1281GetStatus sx1281_driver.o + 0x080032a0 0x080032a0 0x00000024 Code RO 3835 i.SX1281HalGetDioStatus sx1281_driver_hal.o + 0x080032c4 0x080032c4 0x00000012 Code RO 3836 i.SX1281HalInit sx1281_driver_hal.o 0x080032d6 0x080032d6 0x00000002 PAD - 0x080032d8 0x080032d8 0x00000010 Code RO 3810 i.SX1281HalIoIrqInit sx1281_driver_hal.o - 0x080032e8 0x080032e8 0x0000006c Code RO 3811 i.SX1281HalReadBuffer sx1281_driver_hal.o - 0x08003354 0x08003354 0x0000006c Code RO 3812 i.SX1281HalReadCommand sx1281_driver_hal.o - 0x080033c0 0x080033c0 0x00000010 Code RO 3813 i.SX1281HalReadRegister sx1281_driver_hal.o - 0x080033d0 0x080033d0 0x00000070 Code RO 3814 i.SX1281HalReadRegisters sx1281_driver_hal.o - 0x08003440 0x08003440 0x00000034 Code RO 3815 i.SX1281HalReset sx1281_driver_hal.o - 0x08003474 0x08003474 0x0000001c Code RO 3816 i.SX1281HalWaitOnBusy sx1281_driver_hal.o - 0x08003490 0x08003490 0x00000048 Code RO 3817 i.SX1281HalWriteBuffer sx1281_driver_hal.o - 0x080034d8 0x080034d8 0x00000058 Code RO 3818 i.SX1281HalWriteCommand sx1281_driver_hal.o - 0x08003530 0x08003530 0x0000000c Code RO 3819 i.SX1281HalWriteRegister sx1281_driver_hal.o - 0x0800353c 0x0800353c 0x00000050 Code RO 3820 i.SX1281HalWriteRegisters sx1281_driver_hal.o - 0x0800358c 0x0800358c 0x00000010 Code RO 3413 i.SX1281Init sx1281_driver.o - 0x0800359c 0x0800359c 0x00000014 Code RO 3414 i.SX1281OnDioIrq sx1281_driver.o - 0x080035b0 0x080035b0 0x0000014c Code RO 3416 i.SX1281ProcessIrqs sx1281_driver.o - 0x080036fc 0x080036fc 0x00000012 Code RO 3417 i.SX1281SendPayload sx1281_driver.o - 0x0800370e 0x0800370e 0x0000000e Code RO 3418 i.SX1281SetAutoFS sx1281_driver.o - 0x0800371c 0x0800371c 0x0000001a Code RO 3419 i.SX1281SetAutoTx sx1281_driver.o - 0x08003736 0x08003736 0x00000034 Code RO 3420 i.SX1281SetBleAccessAddress sx1281_driver.o + 0x080032d8 0x080032d8 0x00000010 Code RO 3837 i.SX1281HalIoIrqInit sx1281_driver_hal.o + 0x080032e8 0x080032e8 0x0000006c Code RO 3838 i.SX1281HalReadBuffer sx1281_driver_hal.o + 0x08003354 0x08003354 0x0000006c Code RO 3839 i.SX1281HalReadCommand sx1281_driver_hal.o + 0x080033c0 0x080033c0 0x00000010 Code RO 3840 i.SX1281HalReadRegister sx1281_driver_hal.o + 0x080033d0 0x080033d0 0x00000070 Code RO 3841 i.SX1281HalReadRegisters sx1281_driver_hal.o + 0x08003440 0x08003440 0x00000034 Code RO 3842 i.SX1281HalReset sx1281_driver_hal.o + 0x08003474 0x08003474 0x0000001c Code RO 3843 i.SX1281HalWaitOnBusy sx1281_driver_hal.o + 0x08003490 0x08003490 0x00000048 Code RO 3844 i.SX1281HalWriteBuffer sx1281_driver_hal.o + 0x080034d8 0x080034d8 0x00000058 Code RO 3845 i.SX1281HalWriteCommand sx1281_driver_hal.o + 0x08003530 0x08003530 0x0000000c Code RO 3846 i.SX1281HalWriteRegister sx1281_driver_hal.o + 0x0800353c 0x0800353c 0x00000050 Code RO 3847 i.SX1281HalWriteRegisters sx1281_driver_hal.o + 0x0800358c 0x0800358c 0x00000010 Code RO 3440 i.SX1281Init sx1281_driver.o + 0x0800359c 0x0800359c 0x00000014 Code RO 3441 i.SX1281OnDioIrq sx1281_driver.o + 0x080035b0 0x080035b0 0x0000014c Code RO 3443 i.SX1281ProcessIrqs sx1281_driver.o + 0x080036fc 0x080036fc 0x00000012 Code RO 3444 i.SX1281SendPayload sx1281_driver.o + 0x0800370e 0x0800370e 0x0000000e Code RO 3445 i.SX1281SetAutoFS sx1281_driver.o + 0x0800371c 0x0800371c 0x0000001a Code RO 3446 i.SX1281SetAutoTx sx1281_driver.o + 0x08003736 0x08003736 0x00000034 Code RO 3447 i.SX1281SetBleAccessAddress sx1281_driver.o 0x0800376a 0x0800376a 0x00000002 PAD - 0x0800376c 0x0800376c 0x0000000c Code RO 3421 i.SX1281SetBleAdvertizerAccessAddress sx1281_driver.o - 0x08003778 0x08003778 0x00000016 Code RO 3422 i.SX1281SetBufferBaseAddresses sx1281_driver.o + 0x0800376c 0x0800376c 0x0000000c Code RO 3448 i.SX1281SetBleAdvertizerAccessAddress sx1281_driver.o + 0x08003778 0x08003778 0x00000016 Code RO 3449 i.SX1281SetBufferBaseAddresses sx1281_driver.o 0x0800378e 0x0800378e 0x00000002 PAD - 0x08003790 0x08003790 0x00000018 Code RO 3423 i.SX1281SetCad sx1281_driver.o - 0x080037a8 0x080037a8 0x00000018 Code RO 3424 i.SX1281SetCadParams sx1281_driver.o - 0x080037c0 0x080037c0 0x00000028 Code RO 3425 i.SX1281SetCrcPolynomial sx1281_driver.o - 0x080037e8 0x080037e8 0x00000028 Code RO 3426 i.SX1281SetCrcSeed sx1281_driver.o - 0x08003810 0x08003810 0x00000036 Code RO 3427 i.SX1281SetDioIrqParams sx1281_driver.o + 0x08003790 0x08003790 0x00000018 Code RO 3450 i.SX1281SetCad sx1281_driver.o + 0x080037a8 0x080037a8 0x00000018 Code RO 3451 i.SX1281SetCadParams sx1281_driver.o + 0x080037c0 0x080037c0 0x00000028 Code RO 3452 i.SX1281SetCrcPolynomial sx1281_driver.o + 0x080037e8 0x080037e8 0x00000028 Code RO 3453 i.SX1281SetCrcSeed sx1281_driver.o + 0x08003810 0x08003810 0x00000036 Code RO 3454 i.SX1281SetDioIrqParams sx1281_driver.o 0x08003846 0x08003846 0x00000002 PAD - 0x08003848 0x08003848 0x00000018 Code RO 3428 i.SX1281SetFs sx1281_driver.o - 0x08003860 0x08003860 0x0000000c Code RO 3429 i.SX1281SetInterruptMode sx1281_driver.o - 0x0800386c 0x0800386c 0x0000000e Code RO 3430 i.SX1281SetLongPreamble sx1281_driver.o + 0x08003848 0x08003848 0x00000018 Code RO 3455 i.SX1281SetFs sx1281_driver.o + 0x08003860 0x08003860 0x0000000c Code RO 3456 i.SX1281SetInterruptMode sx1281_driver.o + 0x0800386c 0x0800386c 0x0000000e Code RO 3457 i.SX1281SetLongPreamble sx1281_driver.o 0x0800387a 0x0800387a 0x00000002 PAD - 0x0800387c 0x0800387c 0x00000094 Code RO 3431 i.SX1281SetModulationParams sx1281_driver.o - 0x08003910 0x08003910 0x000000d8 Code RO 3432 i.SX1281SetPacketParams sx1281_driver.o - 0x080039e8 0x080039e8 0x0000001c Code RO 3433 i.SX1281SetPacketType sx1281_driver.o - 0x08003a04 0x08003a04 0x0000000a Code RO 3434 i.SX1281SetPayload sx1281_driver.o + 0x0800387c 0x0800387c 0x00000094 Code RO 3458 i.SX1281SetModulationParams sx1281_driver.o + 0x08003910 0x08003910 0x000000d8 Code RO 3459 i.SX1281SetPacketParams sx1281_driver.o + 0x080039e8 0x080039e8 0x0000001c Code RO 3460 i.SX1281SetPacketType sx1281_driver.o + 0x08003a04 0x08003a04 0x0000000a Code RO 3461 i.SX1281SetPayload sx1281_driver.o 0x08003a0e 0x08003a0e 0x00000002 PAD - 0x08003a10 0x08003a10 0x0000000c Code RO 3435 i.SX1281SetPollingMode sx1281_driver.o - 0x08003a1c 0x08003a1c 0x00000024 Code RO 3436 i.SX1281SetRegistersDefault sx1281_driver.o - 0x08003a40 0x08003a40 0x0000000e Code RO 3437 i.SX1281SetRegulatorMode sx1281_driver.o + 0x08003a10 0x08003a10 0x0000000c Code RO 3462 i.SX1281SetPollingMode sx1281_driver.o + 0x08003a1c 0x08003a1c 0x00000024 Code RO 3463 i.SX1281SetRegistersDefault sx1281_driver.o + 0x08003a40 0x08003a40 0x0000000e Code RO 3464 i.SX1281SetRegulatorMode sx1281_driver.o 0x08003a4e 0x08003a4e 0x00000002 PAD - 0x08003a50 0x08003a50 0x00000034 Code RO 3438 i.SX1281SetRfFrequency sx1281_driver.o - 0x08003a84 0x08003a84 0x00000030 Code RO 3439 i.SX1281SetRx sx1281_driver.o - 0x08003ab4 0x08003ab4 0x00000030 Code RO 3440 i.SX1281SetRxDutyCycle sx1281_driver.o - 0x08003ae4 0x08003ae4 0x0000000a Code RO 3441 i.SX1281SetSaveContext sx1281_driver.o + 0x08003a50 0x08003a50 0x00000034 Code RO 3465 i.SX1281SetRfFrequency sx1281_driver.o + 0x08003a84 0x08003a84 0x00000030 Code RO 3466 i.SX1281SetRx sx1281_driver.o + 0x08003ab4 0x08003ab4 0x00000030 Code RO 3467 i.SX1281SetRxDutyCycle sx1281_driver.o + 0x08003ae4 0x08003ae4 0x0000000a Code RO 3468 i.SX1281SetSaveContext sx1281_driver.o 0x08003aee 0x08003aee 0x00000002 PAD - 0x08003af0 0x08003af0 0x00000038 Code RO 3442 i.SX1281SetSleep sx1281_driver.o - 0x08003b28 0x08003b28 0x00000024 Code RO 3443 i.SX1281SetStandby sx1281_driver.o - 0x08003b4c 0x08003b4c 0x0000006c Code RO 3444 i.SX1281SetSyncWord sx1281_driver.o - 0x08003bb8 0x08003bb8 0x00000022 Code RO 3445 i.SX1281SetSyncWordErrorTolerance sx1281_driver.o + 0x08003af0 0x08003af0 0x00000038 Code RO 3469 i.SX1281SetSleep sx1281_driver.o + 0x08003b28 0x08003b28 0x00000024 Code RO 3470 i.SX1281SetStandby sx1281_driver.o + 0x08003b4c 0x08003b4c 0x0000006c Code RO 3471 i.SX1281SetSyncWord sx1281_driver.o + 0x08003bb8 0x08003bb8 0x00000022 Code RO 3472 i.SX1281SetSyncWordErrorTolerance sx1281_driver.o 0x08003bda 0x08003bda 0x00000002 PAD - 0x08003bdc 0x08003bdc 0x00000030 Code RO 3446 i.SX1281SetTx sx1281_driver.o - 0x08003c0c 0x08003c0c 0x0000000a Code RO 3447 i.SX1281SetTxContinuousPreamble sx1281_driver.o - 0x08003c16 0x08003c16 0x0000000a Code RO 3448 i.SX1281SetTxContinuousWave sx1281_driver.o - 0x08003c20 0x08003c20 0x00000018 Code RO 3449 i.SX1281SetTxParams sx1281_driver.o - 0x08003c38 0x08003c38 0x00000020 Code RO 3450 i.SX1281SetWhiteningSeed sx1281_driver.o - 0x08003c58 0x08003c58 0x0000000e Code RO 3996 i.SX1281_BSPInit sx1281_header.o + 0x08003bdc 0x08003bdc 0x00000030 Code RO 3473 i.SX1281SetTx sx1281_driver.o + 0x08003c0c 0x08003c0c 0x0000000a Code RO 3474 i.SX1281SetTxContinuousPreamble sx1281_driver.o + 0x08003c16 0x08003c16 0x0000000a Code RO 3475 i.SX1281SetTxContinuousWave sx1281_driver.o + 0x08003c20 0x08003c20 0x00000018 Code RO 3476 i.SX1281SetTxParams sx1281_driver.o + 0x08003c38 0x08003c38 0x00000020 Code RO 3477 i.SX1281SetWhiteningSeed sx1281_driver.o + 0x08003c58 0x08003c58 0x0000000e Code RO 4023 i.SX1281_BSPInit sx1281_header.o 0x08003c66 0x08003c66 0x00000002 PAD - 0x08003c68 0x08003c68 0x0000011c Code RO 3234 i.SX1281_Callback sx1281.o - 0x08003d84 0x08003d84 0x000002b8 Code RO 3235 i.SX1281_Init sx1281.o - 0x0800403c 0x0800403c 0x00000010 Code RO 3236 i.SX1281_Running sx1281.o - 0x0800404c 0x0800404c 0x000001e4 Code RO 3244 i.SetBLEAdvertisingPacket sx1281.o - 0x08004230 0x08004230 0x00000018 Code RO 3924 i.SpiIn sx1281_driver_spi.o - 0x08004248 0x08004248 0x00000020 Code RO 3925 i.SpiInOut sx1281_driver_spi.o - 0x08004268 0x08004268 0x00000024 Code RO 3926 i.SpiInit sx1281_driver_spi.o - 0x0800428c 0x0800428c 0x00000004 Code RO 401 i.SysTick_Handler stm32f1xx_it.o - 0x08004290 0x08004290 0x00000060 Code RO 14 i.SystemClock_Config main.o - 0x080042f0 0x080042f0 0x00000002 Code RO 3191 i.SystemInit system_stm32f1xx.o - 0x080042f2 0x080042f2 0x00000002 PAD - 0x080042f4 0x080042f4 0x00000078 Code RO 1949 i.TIM_Base_SetConfig stm32f1xx_hal_tim.o - 0x0800436c 0x0800436c 0x00000014 Code RO 1960 i.TIM_ETR_SetConfig stm32f1xx_hal_tim.o - 0x08004380 0x08004380 0x00000010 Code RO 1961 i.TIM_ITRx_SetConfig stm32f1xx_hal_tim.o - 0x08004390 0x08004390 0x00000050 Code RO 1962 i.TIM_OC1_SetConfig stm32f1xx_hal_tim.o - 0x080043e0 0x080043e0 0x00000058 Code RO 1963 i.TIM_OC2_SetConfig stm32f1xx_hal_tim.o - 0x08004438 0x08004438 0x00000058 Code RO 1964 i.TIM_OC3_SetConfig stm32f1xx_hal_tim.o - 0x08004490 0x08004490 0x00000044 Code RO 1965 i.TIM_OC4_SetConfig stm32f1xx_hal_tim.o - 0x080044d4 0x080044d4 0x00000022 Code RO 1967 i.TIM_TI1_ConfigInputStage stm32f1xx_hal_tim.o - 0x080044f6 0x080044f6 0x00000024 Code RO 1969 i.TIM_TI2_ConfigInputStage stm32f1xx_hal_tim.o - 0x0800451a 0x0800451a 0x0000004e Code RO 2880 i.UART_EndRxTransfer stm32f1xx_hal_uart.o - 0x08004568 0x08004568 0x000000b8 Code RO 2883 i.UART_SetConfig stm32f1xx_hal_uart.o - 0x08004620 0x08004620 0x00000072 Code RO 2886 i.UART_WaitOnFlagUntilTimeout stm32f1xx_hal_uart.o - 0x08004692 0x08004692 0x00000002 Code RO 402 i.UsageFault_Handler stm32f1xx_it.o - 0x08004694 0x08004694 0x00000020 Code RO 4817 i.__0printf mc_w.l(printfa.o) - 0x080046b4 0x080046b4 0x00000020 Code RO 1367 i.__NVIC_SetPriority stm32f1xx_hal_cortex.o - 0x080046d4 0x080046d4 0x0000000e Code RO 4956 i.__scatterload_copy mc_w.l(handlers.o) - 0x080046e2 0x080046e2 0x00000002 Code RO 4957 i.__scatterload_null mc_w.l(handlers.o) - 0x080046e4 0x080046e4 0x0000000e Code RO 4958 i.__scatterload_zeroinit mc_w.l(handlers.o) - 0x080046f2 0x080046f2 0x00000002 PAD - 0x080046f4 0x080046f4 0x00000184 Code RO 4824 i._fp_digits mc_w.l(printfa.o) - 0x08004878 0x08004878 0x000006b4 Code RO 4825 i._printf_core mc_w.l(printfa.o) - 0x08004f2c 0x08004f2c 0x00000024 Code RO 4826 i._printf_post_padding mc_w.l(printfa.o) - 0x08004f50 0x08004f50 0x0000002e Code RO 4827 i._printf_pre_padding mc_w.l(printfa.o) - 0x08004f7e 0x08004f7e 0x00000018 Code RO 3245 i.fputc sx1281.o - 0x08004f96 0x08004f96 0x00000002 PAD - 0x08004f98 0x08004f98 0x00000050 Code RO 4845 i.free mc_w.l(malloc.o) - 0x08004fe8 0x08004fe8 0x000001a4 Code RO 15 i.main main.o - 0x0800518c 0x0800518c 0x0000006c Code RO 4846 i.malloc mc_w.l(malloc.o) - 0x080051f8 0x080051f8 0x0000000c Code RO 3927 i.tx_cplt_cb sx1281_driver_spi.o - 0x08005204 0x08005204 0x0000000c Code RO 3928 i.txrx_cplt_cb sx1281_driver_spi.o - 0x08005210 0x08005210 0x00000012 Data RO 1065 .constdata stm32f1xx_hal_rcc.o - 0x08005222 0x08005222 0x00000010 Data RO 3192 .constdata system_stm32f1xx.o - 0x08005232 0x08005232 0x00000008 Data RO 3193 .constdata system_stm32f1xx.o - 0x0800523a 0x0800523a 0x00000002 PAD - 0x0800523c 0x0800523c 0x0000001c Data RO 3249 .constdata sx1281.o - 0x08005258 0x08005258 0x00000004 Data RO 3451 .constdata sx1281_driver.o - 0x0800525c 0x0800525c 0x000000e4 Data RO 3822 .constdata sx1281_driver_hal.o - 0x08005340 0x08005340 0x00002f80 Data RO 4342 .constdata lcd.o - 0x080082c0 0x080082c0 0x00000200 Data RO 4343 .constdata lcd.o - 0x080084c0 0x080084c0 0x00000020 Data RO 4954 Region$$Table anon$$obj.o + 0x08003c68 0x08003c68 0x00000118 Code RO 3233 i.SX1281_Callback sx1281.o + 0x08003d80 0x08003d80 0x00000018 Code RO 3234 i.SX1281_GetState sx1281.o + 0x08003d98 0x08003d98 0x000002cc Code RO 3235 i.SX1281_Init sx1281.o + 0x08004064 0x08004064 0x00000018 Code RO 3236 i.SX1281_Running sx1281.o + 0x0800407c 0x0800407c 0x00000038 Code RO 3247 i.SX1281_SetTX sx1281.o + 0x080040b4 0x080040b4 0x00000018 Code RO 3951 i.SpiIn sx1281_driver_spi.o + 0x080040cc 0x080040cc 0x00000020 Code RO 3952 i.SpiInOut sx1281_driver_spi.o + 0x080040ec 0x080040ec 0x00000024 Code RO 3953 i.SpiInit sx1281_driver_spi.o + 0x08004110 0x08004110 0x00000004 Code RO 400 i.SysTick_Handler stm32f1xx_it.o + 0x08004114 0x08004114 0x00000060 Code RO 14 i.SystemClock_Config main.o + 0x08004174 0x08004174 0x00000002 Code RO 3190 i.SystemInit system_stm32f1xx.o + 0x08004176 0x08004176 0x00000002 PAD + 0x08004178 0x08004178 0x00000078 Code RO 1948 i.TIM_Base_SetConfig stm32f1xx_hal_tim.o + 0x080041f0 0x080041f0 0x00000014 Code RO 1959 i.TIM_ETR_SetConfig stm32f1xx_hal_tim.o + 0x08004204 0x08004204 0x00000010 Code RO 1960 i.TIM_ITRx_SetConfig stm32f1xx_hal_tim.o + 0x08004214 0x08004214 0x00000050 Code RO 1961 i.TIM_OC1_SetConfig stm32f1xx_hal_tim.o + 0x08004264 0x08004264 0x00000058 Code RO 1962 i.TIM_OC2_SetConfig stm32f1xx_hal_tim.o + 0x080042bc 0x080042bc 0x00000058 Code RO 1963 i.TIM_OC3_SetConfig stm32f1xx_hal_tim.o + 0x08004314 0x08004314 0x00000044 Code RO 1964 i.TIM_OC4_SetConfig stm32f1xx_hal_tim.o + 0x08004358 0x08004358 0x00000022 Code RO 1966 i.TIM_TI1_ConfigInputStage stm32f1xx_hal_tim.o + 0x0800437a 0x0800437a 0x00000024 Code RO 1968 i.TIM_TI2_ConfigInputStage stm32f1xx_hal_tim.o + 0x0800439e 0x0800439e 0x0000004e Code RO 2879 i.UART_EndRxTransfer stm32f1xx_hal_uart.o + 0x080043ec 0x080043ec 0x000000b8 Code RO 2882 i.UART_SetConfig stm32f1xx_hal_uart.o + 0x080044a4 0x080044a4 0x00000072 Code RO 2885 i.UART_WaitOnFlagUntilTimeout stm32f1xx_hal_uart.o + 0x08004516 0x08004516 0x00000002 Code RO 401 i.UsageFault_Handler stm32f1xx_it.o + 0x08004518 0x08004518 0x00000020 Code RO 4844 i.__0printf mc_w.l(printfa.o) + 0x08004538 0x08004538 0x00000020 Code RO 1366 i.__NVIC_SetPriority stm32f1xx_hal_cortex.o + 0x08004558 0x08004558 0x0000000e Code RO 4983 i.__scatterload_copy mc_w.l(handlers.o) + 0x08004566 0x08004566 0x00000002 Code RO 4984 i.__scatterload_null mc_w.l(handlers.o) + 0x08004568 0x08004568 0x0000000e Code RO 4985 i.__scatterload_zeroinit mc_w.l(handlers.o) + 0x08004576 0x08004576 0x00000002 PAD + 0x08004578 0x08004578 0x00000184 Code RO 4851 i._fp_digits mc_w.l(printfa.o) + 0x080046fc 0x080046fc 0x000006b4 Code RO 4852 i._printf_core mc_w.l(printfa.o) + 0x08004db0 0x08004db0 0x00000024 Code RO 4853 i._printf_post_padding mc_w.l(printfa.o) + 0x08004dd4 0x08004dd4 0x0000002e Code RO 4854 i._printf_pre_padding mc_w.l(printfa.o) + 0x08004e02 0x08004e02 0x00000018 Code RO 3249 i.fputc sx1281.o + 0x08004e1a 0x08004e1a 0x00000002 PAD + 0x08004e1c 0x08004e1c 0x00000050 Code RO 4872 i.free mc_w.l(malloc.o) + 0x08004e6c 0x08004e6c 0x00000088 Code RO 15 i.main main.o + 0x08004ef4 0x08004ef4 0x0000006c Code RO 4873 i.malloc mc_w.l(malloc.o) + 0x08004f60 0x08004f60 0x0000000c Code RO 3954 i.tx_cplt_cb sx1281_driver_spi.o + 0x08004f6c 0x08004f6c 0x0000000c Code RO 3955 i.txrx_cplt_cb sx1281_driver_spi.o + 0x08004f78 0x08004f78 0x00000012 Data RO 1064 .constdata stm32f1xx_hal_rcc.o + 0x08004f8a 0x08004f8a 0x00000010 Data RO 3191 .constdata system_stm32f1xx.o + 0x08004f9a 0x08004f9a 0x00000008 Data RO 3192 .constdata system_stm32f1xx.o + 0x08004fa2 0x08004fa2 0x00000002 PAD + 0x08004fa4 0x08004fa4 0x00000051 Data RO 3250 .constdata sx1281.o + 0x08004ff5 0x08004ff5 0x00000001 PAD + 0x08004ff6 0x08004ff6 0x00000004 Data RO 3478 .constdata sx1281_driver.o + 0x08004ffa 0x08004ffa 0x00000002 PAD + 0x08004ffc 0x08004ffc 0x000000e4 Data RO 3849 .constdata sx1281_driver_hal.o + 0x080050e0 0x080050e0 0x00002f80 Data RO 4369 .constdata lcd.o + 0x08008060 0x08008060 0x00000200 Data RO 4370 .constdata lcd.o + 0x08008260 0x08008260 0x00000020 Data RO 4981 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080084e0, Size: 0x000029d8, Max: 0x00005000, ABSOLUTE) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08008280, Size: 0x000029c0, Max: 0x00005000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x080084e0 0x00000004 Data RW 17 .data main.o - 0x20000004 0x080084e4 0x0000000c Data RW 902 .data stm32f1xx_hal.o - 0x20000010 0x080084f0 0x00000004 Data RW 3194 .data system_stm32f1xx.o - 0x20000014 0x080084f4 0x00000030 Data RW 3250 .data sx1281.o - 0x20000044 0x08008524 0x00000010 Data RW 3452 .data sx1281_driver.o - 0x20000054 0x08008534 0x00000001 Data RW 3929 .data sx1281_driver_spi.o - 0x20000055 0x08008535 0x00000001 Data RW 4344 .data lcd.o - 0x20000056 0x08008536 0x00000002 PAD - 0x20000058 0x08008538 0x00000004 Data RW 4917 .data mc_w.l(stdout.o) - 0x2000005c 0x0800853c 0x00000004 Data RW 4922 .data mc_w.l(mvars.o) - 0x20000060 0x08008540 0x00000004 Data RW 4923 .data mc_w.l(mvars.o) - 0x20000064 - 0x00000033 Zero RW 16 .bss main.o - 0x20000097 0x08008544 0x00000001 PAD - 0x20000098 - 0x0000017c Zero RW 249 .bss spi.o - 0x20000214 - 0x00000048 Zero RW 297 .bss tim.o - 0x2000025c - 0x00000090 Zero RW 345 .bss usart.o - 0x200002ec - 0x00000025 Zero RW 3246 .bss sx1281.o - 0x20000311 0x08008544 0x00000003 PAD - 0x20000314 - 0x00000040 Zero RW 3739 .bss sx1281_driver_gpio.o - 0x20000354 - 0x00001ffe Zero RW 3821 .bss sx1281_driver_hal.o - 0x20002352 0x08008544 0x00000002 PAD - 0x20002354 - 0x00000040 Zero RW 4032 .bss gpio_1.o - 0x20002394 - 0x00000040 Zero RW 4107 .bss spi_1.o - 0x200023d4 0x08008544 0x00000004 PAD - 0x200023d8 - 0x00000200 Zero RW 2 HEAP startup_stm32f103xb.o - 0x200025d8 - 0x00000400 Zero RW 1 STACK startup_stm32f103xb.o + 0x20000000 0x08008280 0x0000000c Data RW 901 .data stm32f1xx_hal.o + 0x2000000c 0x0800828c 0x00000004 Data RW 3193 .data system_stm32f1xx.o + 0x20000010 0x08008290 0x0000002c Data RW 3251 .data sx1281.o + 0x2000003c 0x080082bc 0x00000010 Data RW 3479 .data sx1281_driver.o + 0x2000004c 0x080082cc 0x00000001 Data RW 3956 .data sx1281_driver_spi.o + 0x2000004d 0x080082cd 0x00000001 Data RW 4371 .data lcd.o + 0x2000004e 0x080082ce 0x00000002 PAD + 0x20000050 0x080082d0 0x00000004 Data RW 4944 .data mc_w.l(stdout.o) + 0x20000054 0x080082d4 0x00000004 Data RW 4949 .data mc_w.l(mvars.o) + 0x20000058 0x080082d8 0x00000004 Data RW 4950 .data mc_w.l(mvars.o) + 0x2000005c 0x080082dc 0x00000004 PAD + 0x20000060 - 0x00000048 Zero RW 16 .bss main.o + 0x200000a8 - 0x0000017c Zero RW 248 .bss spi.o + 0x20000224 - 0x00000048 Zero RW 296 .bss tim.o + 0x2000026c - 0x00000090 Zero RW 344 .bss usart.o + 0x200002fc - 0x00000040 Zero RW 3766 .bss sx1281_driver_gpio.o + 0x2000033c - 0x00001ffe Zero RW 3848 .bss sx1281_driver_hal.o + 0x2000233a 0x080082dc 0x00000002 PAD + 0x2000233c - 0x00000040 Zero RW 4059 .bss gpio_1.o + 0x2000237c - 0x00000040 Zero RW 4134 .bss spi_1.o + 0x200023bc 0x080082dc 0x00000004 PAD + 0x200023c0 - 0x00000200 Zero RW 2 HEAP startup_stm32f103xb.o + 0x200025c0 - 0x00000400 Zero RW 1 STACK startup_stm32f103xb.o ============================================================================== @@ -2988,7 +2991,7 @@ Image component sizes 300 22 0 0 0 923 gpio.o 44 4 0 0 64 1109 gpio_1.o 1508 100 12672 1 0 11090 lcd.o - 520 164 0 4 51 448703 main.o + 236 16 0 0 72 448847 main.o 456 48 0 0 380 2365 spi.o 576 68 0 0 64 7837 spi_1.o 36 8 236 0 1536 764 startup_stm32f103xb.o @@ -3003,7 +3006,7 @@ Image component sizes 188 12 0 0 0 2036 stm32f1xx_hal_tim_ex.o 746 6 0 0 0 5078 stm32f1xx_hal_uart.o 88 18 0 0 0 5627 stm32f1xx_it.o - 1604 638 28 48 37 21055 sx1281.o + 1224 438 81 44 0 21905 sx1281.o 2794 170 4 16 0 27979 sx1281_driver.o 174 6 0 0 64 3937 sx1281_driver_gpio.o 746 84 228 0 8190 10942 sx1281_driver_hal.o @@ -3015,9 +3018,9 @@ Image component sizes 280 34 0 0 144 2155 usart.o ---------------------------------------------------------------------- - 16782 1730 13244 88 10612 630223 Object Totals + 16118 1382 13300 80 10592 631217 Object Totals 0 0 32 0 0 0 (incl. Generated) - 48 0 2 2 10 0 (incl. Padding) + 48 0 5 2 6 0 (incl. Padding) ---------------------------------------------------------------------- @@ -3057,8 +3060,8 @@ Image component sizes 228 0 0 0 0 96 dmul.o ---------------------------------------------------------------------- - 3990 126 0 12 0 2128 Library Totals - 6 0 0 0 0 0 (incl. Padding) + 3990 126 0 12 4 2128 Library Totals + 6 0 0 0 4 0 (incl. Padding) ---------------------------------------------------------------------- @@ -3068,7 +3071,7 @@ Image component sizes 1176 0 0 0 0 884 mf_w.l ---------------------------------------------------------------------- - 3990 126 0 12 0 2128 Library Totals + 3990 126 0 12 4 2128 Library Totals ---------------------------------------------------------------------- @@ -3077,15 +3080,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 20772 1856 13244 100 10612 621167 Grand Totals - 20772 1856 13244 100 10612 621167 ELF Image Totals - 20772 1856 13244 100 0 0 ROM Totals + 20108 1508 13300 92 10596 622109 Grand Totals + 20108 1508 13300 92 10596 622109 ELF Image Totals + 20108 1508 13300 92 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 34016 ( 33.22kB) - Total RW Size (RW Data + ZI Data) 10712 ( 10.46kB) - Total ROM Size (Code + RO Data + RW Data) 34116 ( 33.32kB) + Total RO Size (Code + RO Data) 33408 ( 32.63kB) + Total RW Size (RW Data + ZI Data) 10688 ( 10.44kB) + Total ROM Size (Code + RO Data + RW Data) 33500 ( 32.71kB) ============================================================================== diff --git a/MDK-ARM/MR16/MR16_MR16.dep b/MDK-ARM/MR16/MR16_MR16.dep index 403b5f2..d9571c3 100644 --- a/MDK-ARM/MR16/MR16_MR16.dep +++ b/MDK-ARM/MR16/MR16_MR16.dep @@ -1,7 +1,7 @@ Dependencies for Project 'MR16', Target 'MR16': (DO NOT MODIFY !) CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC F (startup_stm32f103xb.s)(0x692846FC)(--cpu Cortex-M3 -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_MR16 -ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include -ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list startup_stm32f103xb.lst --xref -o mr16\startup_stm32f103xb.o --depend mr16\startup_stm32f103xb.d) -F (../Core/Src/main.c)(0x692AB15F)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User -I.\RTE\_MR16 -ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include -ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o mr16\main.o --omf_browse mr16\main.crf --depend mr16\main.d) +F (../Core/Src/main.c)(0x692AF895)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User -I.\RTE\_MR16 -ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include -ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o mr16\main.o --omf_browse mr16\main.crf --depend mr16\main.d) I (../Core/Inc/main.h)(0x6926BBE5) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x67480A20) I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6925BA2A) @@ -38,13 +38,13 @@ I (../Core/Inc/usart.h)(0x691B56EA) I (../Core/Inc/gpio.h)(0x691B56EA) I (D:\cangming\ARM\ARMCC\include\string.h)(0x5E8E3CC2) I (D:\cangming\ARM\ARMCC\include\stdio.h)(0x5E8E3CC2) -I (../sx1281-driver-c/sx1281.h)(0x692AAC2E) +I (../sx1281-driver-c/sx1281.h)(0x692AF46C) I (D:\cangming\ARM\ARMCC\include\stdbool.h)(0x5E8E3CC2) I (../sx1281-driver-c/sx1281_driver.h)(0x692AA9D3) I (D:\cangming\ARM\ARMCC\include\math.h)(0x5E8E3CC2) I (../User/device/device.h)(0x691D6BB5) -I (../User/device/lcd_driver/lcd.h)(0x692A51B9) -I (../User/bsp/spi.h)(0x69287B05) +I (../User/device/lcd_driver/lcd.h)(0x692ABE66) +I (../User/bsp/spi.h)(0x692ABE66) I (../User/bsp/bsp.h)(0x691D6BB5) I (../User/bsp/gpio.h)(0x691D6BB5) F (../Core/Src/gpio.c)(0x692846F9)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User -I.\RTE\_MR16 -ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include -ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o mr16\gpio.o --omf_browse mr16\gpio.crf --depend mr16\gpio.d) @@ -728,7 +728,7 @@ I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h)(0x67480A20) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h)(0x67480A20) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x67480A20) F (..\sx1281-driver-c\radio.h)(0x69249477)() -F (..\sx1281-driver-c\sx1281.c)(0x692AAC2E)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User -I.\RTE\_MR16 -ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include -ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o mr16\sx1281.o --omf_browse mr16\sx1281.crf --depend mr16\sx1281.d) +F (..\sx1281-driver-c\sx1281.c)(0x692AFC6B)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User -I.\RTE\_MR16 -ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include -ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o mr16\sx1281.o --omf_browse mr16\sx1281.crf --depend mr16\sx1281.d) I (..\sx1281-driver-c\sx1281_driver.h)(0x692AA9D3) I (D:\cangming\ARM\ARMCC\include\stdint.h)(0x5E8E3CC2) I (D:\cangming\ARM\ARMCC\include\stdbool.h)(0x5E8E3CC2) @@ -773,9 +773,9 @@ I (..\sx1281-driver-c\sx1281_boards.h)(0x69248C05) I (..\sx1281-driver-c\sx1281_driver_gpio.h)(0x691D7D06) I (..\sx1281-driver-c\sx1281_driver_spi.h)(0x5ACC746C) I (..\sx1281-driver-c\sx1281_driver_uart.h)(0x69248C05) -I (..\sx1281-driver-c\sx1281.h)(0x692AAC2E) +I (..\sx1281-driver-c\sx1281.h)(0x692AF46C) I (../User/device/device.h)(0x691D6BB5) -F (..\sx1281-driver-c\sx1281.h)(0x692AAC2E)() +F (..\sx1281-driver-c\sx1281.h)(0x692AF46C)() F (..\sx1281-driver-c\sx1281_boards.h)(0x69248C05)() F (..\sx1281-driver-c\sx1281_driver.c)(0x6925B026)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User -I.\RTE\_MR16 -ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include -ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o mr16\sx1281_driver.o --omf_browse mr16\sx1281_driver.crf --depend mr16\sx1281_driver.d) I (D:\cangming\ARM\ARMCC\include\string.h)(0x5E8E3CC2) @@ -904,7 +904,7 @@ I (..\sx1281-driver-c\radio.h)(0x69249477) I (D:\cangming\ARM\ARMCC\include\string.h)(0x5E8E3CC2) F (..\sx1281-driver-c\sx1281_driver_hal.h)(0x6924A201)() F (..\sx1281-driver-c\sx1281_driver_spi.c)(0x6925BEAD)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User -I.\RTE\_MR16 -ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include -ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o mr16\sx1281_driver_spi.o --omf_browse mr16\sx1281_driver_spi.crf --depend mr16\sx1281_driver_spi.d) -I (../User/bsp/spi.h)(0x69287B05) +I (../User/bsp/spi.h)(0x692ABE66) I (../Core/Inc/spi.h)(0x691B56EA) I (../Core/Inc/main.h)(0x6926BBE5) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x67480A20) @@ -1048,7 +1048,7 @@ I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h)(0x67480A20) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h)(0x67480A20) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x67480A20) F (..\User\bsp\gpio.h)(0x691D6BB5)() -F (..\User\bsp\spi.c)(0x69287AF0)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User -I.\RTE\_MR16 -ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include -ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o mr16\spi_1.o --omf_browse mr16\spi_1.crf --depend mr16\spi_1.d) +F (..\User\bsp\spi.c)(0x692ABE66)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User -I.\RTE\_MR16 -ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include -ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o mr16\spi_1.o --omf_browse mr16\spi_1.crf --depend mr16\spi_1.d) I (../Core/Inc/spi.h)(0x691B56EA) I (../Core/Inc/main.h)(0x6926BBE5) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x67480A20) @@ -1079,10 +1079,10 @@ I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h)(0x67480A20) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h)(0x67480A20) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h)(0x67480A20) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x67480A20) -I (../User/bsp/spi.h)(0x69287B05) +I (../User/bsp/spi.h)(0x692ABE66) I (D:\cangming\ARM\ARMCC\include\stdbool.h)(0x5E8E3CC2) I (../User/bsp/bsp.h)(0x691D6BB5) -F (..\User\bsp\spi.h)(0x69287B05)() +F (..\User\bsp\spi.h)(0x692ABE66)() F (..\User\bsp\uart.c)(0x69249732)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User -I.\RTE\_MR16 -ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include -ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o mr16\uart.o --omf_browse mr16\uart.crf --depend mr16\uart.d) I (../Core/Inc/usart.h)(0x691B56EA) I (../Core/Inc/main.h)(0x6926BBE5) @@ -1119,12 +1119,12 @@ I (D:\cangming\ARM\ARMCC\include\stdbool.h)(0x5E8E3CC2) I (../User/bsp/bsp.h)(0x691D6BB5) F (..\User\bsp\uart.h)(0x692496BB)() F (..\User\device\device.h)(0x691D6BB5)() -F (..\User\device\lcd_driver\lcd.c)(0x692A60A3)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User -I.\RTE\_MR16 -ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include -ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o mr16\lcd.o --omf_browse mr16\lcd.crf --depend mr16\lcd.d) -I (../User/device/lcd_driver/lcd.h)(0x692A51B9) +F (..\User\device\lcd_driver\lcd.c)(0x692ABE66)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User -I.\RTE\_MR16 -ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include -ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o mr16\lcd.o --omf_browse mr16\lcd.crf --depend mr16\lcd.d) +I (../User/device/lcd_driver/lcd.h)(0x692ABE66) I (../User/device/device.h)(0x691D6BB5) I (D:\cangming\ARM\ARMCC\include\stdbool.h)(0x5E8E3CC2) I (D:\cangming\ARM\ARMCC\include\stdint.h)(0x5E8E3CC2) -I (../User/bsp/spi.h)(0x69287B05) +I (../User/bsp/spi.h)(0x692ABE66) I (../Core/Inc/spi.h)(0x691B56EA) I (../Core/Inc/main.h)(0x6926BBE5) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x67480A20) @@ -1156,11 +1156,11 @@ I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h)(0x67480A20) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x67480A20) I (../User/bsp/bsp.h)(0x691D6BB5) I (../User/bsp/gpio.h)(0x691D6BB5) -I (../User/device/lcd_driver/lcd_lib.h)(0x692A5F31) +I (../User/device/lcd_driver/lcd_lib.h)(0x692ABE66) I (D:\cangming\ARM\ARMCC\include\stdlib.h)(0x5E8E3CC2) I (D:\cangming\ARM\ARMCC\include\stdio.h)(0x5E8E3CC2) -F (..\User\device\lcd_driver\lcd.h)(0x692A51B9)() -F (..\User\device\lcd_driver\lcd_lib.h)(0x692A5F31)() +F (..\User\device\lcd_driver\lcd.h)(0x692ABE66)() +F (..\User\device\lcd_driver\lcd_lib.h)(0x692ABE66)() F (..\User\component\crc8.c)(0x691D6BB5)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User -I.\RTE\_MR16 -ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include -ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o mr16\crc8.o --omf_browse mr16\crc8.crf --depend mr16\crc8.d) I (..\User\component\crc8.h)(0x691D6BB5) I (D:\cangming\ARM\ARMCC\include\stdbool.h)(0x5E8E3CC2) diff --git a/MDK-ARM/MR16/lcd.crf b/MDK-ARM/MR16/lcd.crf index 7dc2f01..c904f02 100644 Binary files a/MDK-ARM/MR16/lcd.crf and b/MDK-ARM/MR16/lcd.crf differ diff --git a/MDK-ARM/MR16/lcd.o b/MDK-ARM/MR16/lcd.o index d98e5bc..c6d74c3 100644 Binary files a/MDK-ARM/MR16/lcd.o and b/MDK-ARM/MR16/lcd.o differ diff --git a/MDK-ARM/MR16/main.crf b/MDK-ARM/MR16/main.crf index 10a7a5b..6e2557d 100644 Binary files a/MDK-ARM/MR16/main.crf and b/MDK-ARM/MR16/main.crf differ diff --git a/MDK-ARM/MR16/main.o b/MDK-ARM/MR16/main.o index c52228f..e6b3463 100644 Binary files a/MDK-ARM/MR16/main.o and b/MDK-ARM/MR16/main.o differ diff --git a/MDK-ARM/MR16/spi_1.crf b/MDK-ARM/MR16/spi_1.crf index a0931bc..2d3bc52 100644 Binary files a/MDK-ARM/MR16/spi_1.crf and b/MDK-ARM/MR16/spi_1.crf differ diff --git a/MDK-ARM/MR16/spi_1.o b/MDK-ARM/MR16/spi_1.o index 0d1614c..45d91a0 100644 Binary files a/MDK-ARM/MR16/spi_1.o and b/MDK-ARM/MR16/spi_1.o differ diff --git a/MDK-ARM/MR16/sx1281.crf b/MDK-ARM/MR16/sx1281.crf index 24069cd..2caff69 100644 Binary files a/MDK-ARM/MR16/sx1281.crf and b/MDK-ARM/MR16/sx1281.crf differ diff --git a/MDK-ARM/MR16/sx1281.o b/MDK-ARM/MR16/sx1281.o index 83171fe..bb2e12a 100644 Binary files a/MDK-ARM/MR16/sx1281.o and b/MDK-ARM/MR16/sx1281.o differ diff --git a/MDK-ARM/MR16/sx1281_driver_spi.crf b/MDK-ARM/MR16/sx1281_driver_spi.crf index 1c853fc..cdf2f97 100644 Binary files a/MDK-ARM/MR16/sx1281_driver_spi.crf and b/MDK-ARM/MR16/sx1281_driver_spi.crf differ diff --git a/MDK-ARM/MR16/sx1281_driver_spi.o b/MDK-ARM/MR16/sx1281_driver_spi.o index 973ee63..af87f6f 100644 Binary files a/MDK-ARM/MR16/sx1281_driver_spi.o and b/MDK-ARM/MR16/sx1281_driver_spi.o differ diff --git a/sx1281-driver-c/sx1281.c b/sx1281-driver-c/sx1281.c index 6e45a59..9ce1d76 100644 --- a/sx1281-driver-c/sx1281.c +++ b/sx1281-driver-c/sx1281.c @@ -39,13 +39,6 @@ return ch; */ #define FIRMWARE_VERSION ( ( char* )"Firmware Version: 170919A" ) -#define RF_BL_ADV_CHANNEL_38 2426000000 // Hz - -/*! - * \brief Defines the nominal frequency - */ -#define RF_FREQUENCY RF_BL_ADV_CHANNEL_38 // Hz - /*! * \brief Defines the buffer size, i.e. the payload size */ @@ -67,50 +60,120 @@ return ch; #define RX_TIMEOUT_TICK_SIZE RADIO_TICK_SIZE_1000_US /**-------------------------radio params----------------------------------**/ +typedef struct { + RadioGfskBleBitrates_t BitrateBandwidth; //!< The bandwidth and bit-rate values for BLE and GFSK modulations + RadioGfskBleModIndexes_t ModulationIndex; //!< The coding rate for BLE and GFSK modulations + RadioModShapings_t ModulationShaping; //!< The modulation shaping for BLE and GFSK modulations +}SX1281_BLEConfig_t; + +typedef struct +{ + RadioLoRaSpreadingFactors_t SpreadingFactor; //!< Spreading Factor for the LORA modulation + RadioLoRaBandwidths_t Bandwidth; //!< Bandwidth for the LORA modulation + RadioLoRaCodingRates_t CodingRate; //!< Coding rate for the LORA modulation +}SX1281_LORAConfig_t; + +typedef struct { + RadioGfskBleBitrates_t BitrateBandwidth; //!< The bandwidth and bit-rate values for BLE and GFSK modulations + RadioGfskBleModIndexes_t ModulationIndex; //!< The coding rate for BLE and GFSK modulations + RadioModShapings_t ModulationShaping; //!< The modulation shaping for BLE and GFSK modulations +}SX1281_GFSKConfig_t; + +typedef struct +{ + RadioFlrcBitrates_t BitrateBandwidth; //!< The bandwidth and bit-rate values for FLRC modulation + RadioFlrcCodingRates_t CodingRate; //!< The coding rate for FLRC modulation + RadioModShapings_t ModulationShaping; //!< The modulation shaping for FLRC modulation +}SX1281_FLRCConfig_t; + +const SX1281_BLEConfig_t bleConfigList[RF_BAUDRATE_BLE_NUM] = +{ + { + .BitrateBandwidth = GFS_BLE_BR_0_250_BW_0_6, // 250 Kbps, 0.6 MHz + .ModulationIndex = GFS_BLE_MOD_IND_0_50, // 调制指数 0.5 + .ModulationShaping = RADIO_MOD_SHAPING_BT_0_5 // 调制整形 BT = 0.5 + }, + { + .BitrateBandwidth = GFS_BLE_BR_0_500_BW_1_2, // 500 Kbps, 1.2 MHz + .ModulationIndex = GFS_BLE_MOD_IND_0_50, // 调制指数 0.5 + .ModulationShaping = RADIO_MOD_SHAPING_BT_0_5 // 调制整形 BT = 0.5 + }, + { + .BitrateBandwidth = GFS_BLE_BR_1_000_BW_2_4, // 1 Mbps, 2.4 MHz + .ModulationIndex = GFS_BLE_MOD_IND_0_50, // 调制指数 0.5 + .ModulationShaping = RADIO_MOD_SHAPING_BT_0_5 // 调制整形 BT = 0.5 + }, +}; + const SX1281_LORAConfig_t loraConfigList[RF_BAUDRATE_LORA_NUM] = { {//216.264204545455bps,SF=12,BW=203kHz,CR=7 .SpreadingFactor = LORA_SF12, - .SignalBw = LORA_BW_0200, - .ErrorCoding = LORA_CR_LI_4_7, + .Bandwidth = LORA_BW_0200, + .CodingRate = LORA_CR_LI_4_7, }, {//991.2109375bps,SF=10,BW=203kHz,CR=4 .SpreadingFactor = LORA_SF10, - .SignalBw = LORA_BW_0200, - .ErrorCoding = LORA_CR_4_8, + .Bandwidth = LORA_BW_0200, + .CodingRate = LORA_CR_4_8, }, {//4987.44419642857bps,SF=11,BW=1625kHz,CR=3 .SpreadingFactor = LORA_SF11, - .SignalBw = LORA_BW_1600, - .ErrorCoding = LORA_CR_4_7, + .Bandwidth = LORA_BW_1600, + .CodingRate = LORA_CR_4_7, }, {//10150bps,SF=8,BW=812kHz,CR=6 .SpreadingFactor = LORA_SF8, - .SignalBw = LORA_BW_0800, - .ErrorCoding = LORA_CR_LI_4_6, + .Bandwidth = LORA_BW_0800, + .CodingRate = LORA_CR_LI_4_6, }, {//20300bps,SF=8,BW=812kHz,CR=1 .SpreadingFactor = LORA_SF8, - .SignalBw = LORA_BW_0800, - .ErrorCoding = LORA_CR_4_5, + .Bandwidth = LORA_BW_0800, + .CodingRate = LORA_CR_4_5, }, {//60900bps,SF=6,BW=812kHz,CR=1 .SpreadingFactor = LORA_SF6, - .SignalBw = LORA_BW_0800, - .ErrorCoding = LORA_CR_4_5, + .Bandwidth = LORA_BW_0800, + .CodingRate = LORA_CR_4_5, }, {//126953.125bps,SF=5,BW=1625kHz,CR=4 .SpreadingFactor = LORA_SF5, - .SignalBw = LORA_BW_1600, - .ErrorCoding = LORA_CR_4_8, + .Bandwidth = LORA_BW_1600, + .CodingRate = LORA_CR_4_8, }, {//203125bps,SF=5,BW=1625kHz,CR=1 .SpreadingFactor = LORA_SF5, - .SignalBw = LORA_BW_1600, - .ErrorCoding = LORA_CR_4_5, + .Bandwidth = LORA_BW_1600, + .CodingRate = LORA_CR_4_5, }, }; -const SX1281_FLRCConfig_t flrcConfigList[RF_BAUDRATE_FLRC_NUM-RF_BAUDRATE_LORA_NUM-1] = + +const SX1281_GFSKConfig_t gfskConfigList[RF_BAUDRATE_GFSK_NUM] = +{ + { + .BitrateBandwidth = GFS_BLE_BR_0_125_BW_0_3, // 125 Kbps, 0.3 MHz + .ModulationIndex = GFS_BLE_MOD_IND_0_50, // 调制指数 0.5 + .ModulationShaping = RADIO_MOD_SHAPING_BT_0_5 // 调制整形 BT = 0.5 + }, + { + .BitrateBandwidth = GFS_BLE_BR_0_250_BW_0_6, // 250 Kbps, 0.6 MHz + .ModulationIndex = GFS_BLE_MOD_IND_0_50, // 调制指数 0.5 + .ModulationShaping = RADIO_MOD_SHAPING_BT_0_5 // 调制整形 BT = 0.5 + }, + { + .BitrateBandwidth = GFS_BLE_BR_0_500_BW_1_2, // 500 Kbps, 1.2 MHz + .ModulationIndex = GFS_BLE_MOD_IND_0_50, // 调制指数 0.5 + .ModulationShaping = RADIO_MOD_SHAPING_BT_0_5 // 调制整形 BT = 0.5 + }, + { + .BitrateBandwidth = GFS_BLE_BR_1_000_BW_2_4, // 1 Mbps, 2.4 MHz + .ModulationIndex = GFS_BLE_MOD_IND_0_50, // 调制指数 0.5 + .ModulationShaping = RADIO_MOD_SHAPING_BT_0_5 // 调制整形 BT = 0.5 + } +}; + +const SX1281_FLRCConfig_t flrcConfigList[RF_BAUDRATE_FLRC_NUM] = { {//0.13Mbps .BitrateBandwidth =FLRC_BR_0_260_BW_0_3, @@ -134,7 +197,6 @@ const SX1281_FLRCConfig_t flrcConfigList[RF_BAUDRATE_FLRC_NUM-RF_BAUDRATE_LORA_N }, }; - /*! * \brief Defines the states of the application */ @@ -233,27 +295,11 @@ typedef union BleAdvHeaders_t ble_header_adv; -PacketParams_t packetParams; - -ModulationParams_t modulationParams; - - -int8_t SX1281_SetMode(SX1281_t *radio, SX1281_Mode_t mode) { - if (radio==NULL) { - return DEVICE_ERR; - } - - radio->mode = mode; - - return DEVICE_OK; -} - int8_t SX1281_Init(SX1281_t *radio, SX1281_Mode_t mode) { if (radio==NULL) { return DEVICE_ERR; } radio->mode = mode; - SX1281_BSPInit() ; HAL_Delay( 500 );/* let DC/DC power ramp up */ @@ -263,102 +309,126 @@ int8_t SX1281_Init(SX1281_t *radio, SX1281_Mode_t mode) { #ifdef SX1281_VIEW /* 打印版本号,检查SPI是否跑通 */ - printf( "\n\n\r SX1281 Ping Pong Demo Application. %s\n\n\r", FIRMWARE_VERSION ); + printf( "\n\n\r SX1281 Application. %s\n\n\r", FIRMWARE_VERSION ); printf( "\n\n\r Radio firmware version 0x%x\n\n\r", Radio.GetFirmwareVersion( ) ); #endif //SX1281_VIEW + radio->param.baudrate.ble=RF_BAUDRATE_BLE_1M; + radio->param.baudrate.lora=RF_BAUDRATE_LORA_005K; + radio->param.baudrate.gfks=RF_BAUDRATE_GFSK_125K; + radio->param.baudrate.flrc=RF_BAUDRATE_FLRC_130K; + /* 根据模式选择属性 */ switch (mode) { case MODE_BLE: #ifdef SX1281_VIEW printf( "\nrunning in BLE mode\n\r" ); #endif //SX1281_VIEW - radio->modulationParams.PacketType = PACKET_TYPE_BLE; - radio->modulationParams.Params.Ble.BitrateBandwidth = GFS_BLE_BR_1_000_BW_1_2; - radio->modulationParams.Params.Ble.ModulationIndex = GFS_BLE_MOD_IND_0_50; - radio->modulationParams.Params.Ble.ModulationShaping = RADIO_MOD_SHAPING_BT_0_5; - - radio->packetParams.PacketType = PACKET_TYPE_BLE; - radio->packetParams.Params.Ble.BlePacketType = BLE_EYELONG_1_0; - radio->packetParams.Params.Ble.ConnectionState = BLE_ADVERTISER; - radio->packetParams.Params.Ble.CrcField = BLE_CRC_3B; - radio->packetParams.Params.Ble.Whitening = RADIO_WHITENING_ON; - - radio->baudrate=RF_BAUDRATE_NONE; + radio->param.modulationParams.PacketType = PACKET_TYPE_BLE; + radio->param.modulationParams.Params.Ble.BitrateBandwidth + = bleConfigList[radio->param.baudrate.ble].BitrateBandwidth; + radio->param.modulationParams.Params.Ble.ModulationIndex + = bleConfigList[radio->param.baudrate.ble].ModulationIndex; + radio->param.modulationParams.Params.Ble.ModulationShaping + = bleConfigList[radio->param.baudrate.ble].ModulationShaping; + + radio->param.packetParams.PacketType = PACKET_TYPE_BLE; + radio->param.packetParams.Params.Ble.BlePacketType = BLE_EYELONG_1_0; + radio->param.packetParams.Params.Ble.ConnectionState = BLE_ADVERTISER; + radio->param.packetParams.Params.Ble.CrcField = BLE_CRC_3B; + radio->param.packetParams.Params.Ble.Whitening = RADIO_WHITENING_ON; break; case MODE_LORA: #ifdef SX1281_VIEW printf( "\nrunning in LORA mode\n\r" ); #endif //SX1281_VIEW - radio->modulationParams.PacketType = PACKET_TYPE_LORA; - radio->modulationParams.Params.LoRa.SpreadingFactor = LORA_SF11; - radio->modulationParams.Params.LoRa.Bandwidth = LORA_BW_1600; - radio->modulationParams.Params.LoRa.CodingRate = LORA_CR_LI_4_7; + radio->param.modulationParams.PacketType = PACKET_TYPE_LORA; + radio->param.modulationParams.Params.LoRa.SpreadingFactor + = loraConfigList[radio->param.baudrate.lora].SpreadingFactor; + radio->param.modulationParams.Params.LoRa.Bandwidth + = loraConfigList[radio->param.baudrate.lora].Bandwidth; + radio->param.modulationParams.Params.LoRa.CodingRate + = loraConfigList[radio->param.baudrate.lora].CodingRate; - radio->packetParams.PacketType = PACKET_TYPE_LORA; - radio->packetParams.Params.LoRa.PreambleLength = 12; - radio->packetParams.Params.LoRa.HeaderType = LORA_PACKET_VARIABLE_LENGTH; - radio->packetParams.Params.LoRa.PayloadLength = BUFFER_SIZE; - radio->packetParams.Params.LoRa.CrcMode = LORA_CRC_ON; - radio->packetParams.Params.LoRa.InvertIQ = LORA_IQ_NORMAL; - - radio->baudrate=RF_BAUDRATE_LORA_005K; + radio->param.packetParams.PacketType = PACKET_TYPE_LORA; + radio->param.packetParams.Params.LoRa.PreambleLength = 12; + radio->param.packetParams.Params.LoRa.HeaderType = LORA_PACKET_VARIABLE_LENGTH; + radio->param.packetParams.Params.LoRa.PayloadLength = BUFFER_SIZE; + radio->param.packetParams.Params.LoRa.CrcMode = LORA_CRC_ON; + radio->param.packetParams.Params.LoRa.InvertIQ = LORA_IQ_NORMAL; break; case MODE_GFSK: #ifdef SX1281_VIEW printf( "\nrunning in GFSK mode\n\r" ); #endif //SX1281_VIEW - radio->modulationParams.PacketType = PACKET_TYPE_GFSK; - radio->modulationParams.Params.Gfsk.BitrateBandwidth = GFS_BLE_BR_0_125_BW_0_3; - radio->modulationParams.Params.Gfsk.ModulationIndex = GFS_BLE_MOD_IND_1_00; - radio->modulationParams.Params.Gfsk.ModulationShaping = RADIO_MOD_SHAPING_BT_1_0; + radio->param.modulationParams.PacketType = PACKET_TYPE_GFSK; + radio->param.modulationParams.Params.Gfsk.BitrateBandwidth + = gfskConfigList[radio->param.baudrate.gfks].BitrateBandwidth; + radio->param.modulationParams.Params.Gfsk.ModulationIndex + = gfskConfigList[radio->param.baudrate.gfks].ModulationIndex; + radio->param.modulationParams.Params.Gfsk.ModulationShaping + = gfskConfigList[radio->param.baudrate.gfks].ModulationShaping; - radio->packetParams.PacketType = PACKET_TYPE_GFSK; - radio->packetParams.Params.Gfsk.PreambleLength = PREAMBLE_LENGTH_32_BITS; - radio->packetParams.Params.Gfsk.SyncWordLength = GFS_SYNCWORD_LENGTH_5_BYTE; - radio->packetParams.Params.Gfsk.SyncWordMatch = RADIO_RX_MATCH_SYNCWORD_1; - radio->packetParams.Params.Gfsk.HeaderType = RADIO_PACKET_VARIABLE_LENGTH; - radio->packetParams.Params.Gfsk.PayloadLength = BUFFER_SIZE; - radio->packetParams.Params.Gfsk.CrcLength = RADIO_CRC_3_BYTES; - radio->packetParams.Params.Gfsk.Whitening = RADIO_WHITENING_ON; - - radio->baudrate=RF_BAUDRATE_NONE; + radio->param.packetParams.PacketType = PACKET_TYPE_GFSK; + radio->param.packetParams.Params.Gfsk.PreambleLength = PREAMBLE_LENGTH_32_BITS; + radio->param.packetParams.Params.Gfsk.SyncWordLength = GFS_SYNCWORD_LENGTH_5_BYTE; + radio->param.packetParams.Params.Gfsk.SyncWordMatch = RADIO_RX_MATCH_SYNCWORD_1; + radio->param.packetParams.Params.Gfsk.HeaderType = RADIO_PACKET_VARIABLE_LENGTH; + radio->param.packetParams.Params.Gfsk.PayloadLength = BUFFER_SIZE; + radio->param.packetParams.Params.Gfsk.CrcLength = RADIO_CRC_3_BYTES; + radio->param.packetParams.Params.Gfsk.Whitening = RADIO_WHITENING_ON; break; case MODE_FLRC: #ifdef SX1281_VIEW printf( "\nrunning in FLRC mode\n\r" ); #endif //SX1281_VIEW - radio->modulationParams.PacketType = PACKET_TYPE_FLRC; - radio->modulationParams.Params.Flrc.BitrateBandwidth = FLRC_BR_0_260_BW_0_3; - radio->modulationParams.Params.Flrc.CodingRate = FLRC_CR_1_2; - radio->modulationParams.Params.Flrc.ModulationShaping = RADIO_MOD_SHAPING_BT_1_0; + radio->param.modulationParams.PacketType = PACKET_TYPE_FLRC; + radio->param.modulationParams.Params.Flrc.BitrateBandwidth + = flrcConfigList[radio->param.baudrate.flrc].BitrateBandwidth; + radio->param.modulationParams.Params.Flrc.CodingRate + = flrcConfigList[radio->param.baudrate.flrc].CodingRate; + radio->param.modulationParams.Params.Flrc.ModulationShaping + = flrcConfigList[radio->param.baudrate.flrc].ModulationShaping; - radio->packetParams.PacketType = PACKET_TYPE_FLRC; - radio->packetParams.Params.Flrc.PreambleLength = PREAMBLE_LENGTH_32_BITS; - radio->packetParams.Params.Flrc.SyncWordLength = FLRC_SYNCWORD_LENGTH_4_BYTE; - radio->packetParams.Params.Flrc.SyncWordMatch = RADIO_RX_MATCH_SYNCWORD_1; - radio->packetParams.Params.Flrc.HeaderType = RADIO_PACKET_VARIABLE_LENGTH; - radio->packetParams.Params.Flrc.PayloadLength = BUFFER_SIZE; - radio->packetParams.Params.Flrc.CrcLength = RADIO_CRC_3_BYTES; - radio->packetParams.Params.Flrc.Whitening = RADIO_WHITENING_OFF; + radio->param.packetParams.PacketType = PACKET_TYPE_FLRC; + radio->param.packetParams.Params.Flrc.PreambleLength = PREAMBLE_LENGTH_32_BITS; + radio->param.packetParams.Params.Flrc.SyncWordLength = FLRC_SYNCWORD_LENGTH_4_BYTE; + radio->param.packetParams.Params.Flrc.SyncWordMatch = RADIO_RX_MATCH_SYNCWORD_1; + radio->param.packetParams.Params.Flrc.HeaderType = RADIO_PACKET_VARIABLE_LENGTH; + radio->param.packetParams.Params.Flrc.PayloadLength = BUFFER_SIZE; + radio->param.packetParams.Params.Flrc.CrcLength = RADIO_CRC_3_BYTES; + radio->param.packetParams.Params.Flrc.Whitening = RADIO_WHITENING_OFF; - radio->baudrate=RF_BAUDRATE_FLRC_130K; break; default: return DEVICE_ERR; } /* 默认功率13dBm */ - radio->txOutputPower=13; - + radio->param.txOutputPower=13; + radio->param.rampTime=RADIO_RAMP_02_US; + radio->param.rfFrequency=2426000000; + // 设置同步字 + if (radio->mode==MODE_GFSK) { + uint8_t syncWord1[5] = {0x12, 0x34, 0x56, 0x78, 0x9A}; + // uint8_t syncWord2[5] = {0x01, 0x02, 0x03, 0x04, 0x05}; + // uint8_t syncWord3[5] = {0x23, 0x45, 0x67, 0x89, 0xAB}; + Radio.SetSyncWord(1, syncWord1); // 设置第一个同步字 + } + if (radio->mode==MODE_FLRC) { + uint8_t syncWord1[4] = {0x12, 0x34, 0x56, 0x78}; // 示例同步字 + // uint8_t syncWord2[5] = {0x01, 0x02, 0x03, 0x04,}; + // uint8_t syncWord3[5] = {0x23, 0x45, 0x67, 0x89,}; + Radio.SetSyncWord(1, syncWord1); // 设置第一个同步字 + } /* 设置属性 */ Radio.SetStandby( STDBY_RC ); - Radio.SetPacketType( modulationParams.PacketType ); - Radio.SetModulationParams( &modulationParams ); - Radio.SetPacketParams( &packetParams ); - Radio.SetRfFrequency( RF_FREQUENCY );//设置射频工作中心频率 - Radio.SetBufferBaseAddresses( 0x00, 0x00 ); - Radio.SetTxParams( radio->txOutputPower, RADIO_RAMP_02_US ); + Radio.SetPacketType( radio->param.modulationParams.PacketType );//包类型 + Radio.SetModulationParams( &radio->param.modulationParams );//调制属性 + Radio.SetPacketParams( &radio->param.packetParams );//包属性 + Radio.SetRfFrequency( radio->param.rfFrequency );//设置射频工作中心频率 + Radio.SetBufferBaseAddresses( 0x00, 0x00 );//缓冲区起始地址 + Radio.SetTxParams( radio->param.txOutputPower, radio->param.rampTime);//发送属性 #ifdef SX1281_INTERRUP_MODE /* 中断模式 */ @@ -370,96 +440,109 @@ int8_t SX1281_Init(SX1281_t *radio, SX1281_Mode_t mode) { #endif /* 还没搞懂这里是干啥的 */ - if (radio->mode==MODE_BLE) { - // only used in GENERIC and BLE mode - Radio.SetSyncWord( 1, ( uint8_t[] ){ 0xDD, 0xA0, 0x96, 0x69, 0xDD } ); - Radio.WriteRegister(0x9c7, 0x55 ); - Radio.WriteRegister(0x9c8, 0x55 ); - Radio.WriteRegister(0x9c9, 0x55 ); - //Radio.WriteRegister( 0x9c5, 0x33 ); - Radio.SetBleAdvertizerAccessAddress( ); - Radio.SetWhiteningSeed( 0x33 ); - ble_header_adv.Fields.length = 2; - ble_header_adv.Fields.pduType = 2; - } + // if (radio->mode==MODE_BLE) { + // // only used in GENERIC and BLE mode + // Radio.SetSyncWord( 1, ( uint8_t[] ){ 0xDD, 0xA0, 0x96, 0x69, 0xDD } ); + // Radio.WriteRegister(0x9c7, 0x55 ); + // Radio.WriteRegister(0x9c8, 0x55 ); + // Radio.WriteRegister(0x9c9, 0x55 ); + // //Radio.WriteRegister( 0x9c5, 0x33 ); + // Radio.SetBleAdvertizerAccessAddress( ); + // Radio.SetWhiteningSeed( 0x33 ); + // ble_header_adv.Fields.length = 2; + // ble_header_adv.Fields.pduType = 2; + // } return DEVICE_OK; } +int8_t SX1281_SetRFFrequency(SX1281_t *radio, uint32_t frequency) { + if (radio==NULL) { + return DEVICE_ERR; + } + Radio.SetStandby( STDBY_RC ); + Radio.SetPacketType( radio->param.modulationParams.PacketType ); + + radio->param.rfFrequency=frequency; + Radio.SetRfFrequency( radio->param.rfFrequency );//设置射频工作中心频率 + return DEVICE_OK; +} + + /////蓝牙还没研究明白 void SetBLEAdvertisingPacket(SX1281_t *radio, uint8_t *data, uint8_t length) { - if (radio->mode != MODE_BLE) { - printf("Error: Not in BLE mode\n"); - return; - } + // if (radio->mode != MODE_BLE) { + // printf("Error: Not in BLE mode\n"); + // return; + // } - // 检查数据长度是否符合BLE规范 - if (length > 37) { // BLE广告PDU最大有效载荷为37字节 - printf("Error: BLE advertising data too long: %d bytes (max 37)\n", length); - return; - } + // // 检查数据长度是否符合BLE规范 + // if (length > 37) { // BLE广告PDU最大有效载荷为37字节 + // printf("Error: BLE advertising data too long: %d bytes (max 37)\n", length); + // return; + // } - // 根据BLE规范构建PDU报头 - uint8_t pduHeader[2] = {0}; + // // 根据BLE规范构建PDU报头 + // uint8_t pduHeader[2] = {0}; - // 第一字节: PDU类型(4位) + RFU(2位) + TxAdd(1位) + RxAdd(1位) - // ADV_IND类型 = 0x0, TxAdd=1(随机地址), RxAdd=0 - pduHeader[0] = (0x0 << 4) | (0x0 << 2) | (0x1 << 1) | (0x0 << 0); + // // 第一字节: PDU类型(4位) + RFU(2位) + TxAdd(1位) + RxAdd(1位) + // // ADV_IND类型 = 0x0, TxAdd=1(随机地址), RxAdd=0 + // pduHeader[0] = (0x0 << 4) | (0x0 << 2) | (0x1 << 1) | (0x0 << 0); - // 第二字节: 长度(6位) + RFU(2位) - // 长度不包括报头本身,只包括有效载荷 - pduHeader[1] = (length & 0x3F) | (0x0 << 6); + // // 第二字节: 长度(6位) + RFU(2位) + // // 长度不包括报头本身,只包括有效载荷 + // pduHeader[1] = (length & 0x3F) | (0x0 << 6); - printf("PDU Header: 0x%02X 0x%02X\n", pduHeader[0], pduHeader[1]); - printf("Payload length: %d\n", length); + // printf("PDU Header: 0x%02X 0x%02X\n", pduHeader[0], pduHeader[1]); + // printf("Payload length: %d\n", length); - // 组合完整的PDU: 报头(2字节) + 有效载荷 - uint8_t completePdu[2 + length]; - completePdu[0] = pduHeader[0]; - completePdu[1] = pduHeader[1]; - memcpy(&completePdu[2], data, length); + // // 组合完整的PDU: 报头(2字节) + 有效载荷 + // uint8_t completePdu[2 + length]; + // completePdu[0] = pduHeader[0]; + // completePdu[1] = pduHeader[1]; + // memcpy(&completePdu[2], data, length); - // 设置BLE模式 - Radio.SetStandby(STDBY_RC); - Radio.SetPacketType(PACKET_TYPE_BLE); + // // 设置BLE模式 + // Radio.SetStandby(STDBY_RC); + // Radio.SetPacketType(PACKET_TYPE_BLE); - // 设置调制参数 - ModulationParams_t modulationParams; - modulationParams.PacketType = PACKET_TYPE_BLE; - modulationParams.Params.Ble.BitrateBandwidth = GFS_BLE_BR_1_000_BW_1_2; - modulationParams.Params.Ble.ModulationIndex = GFS_BLE_MOD_IND_0_50; - modulationParams.Params.Ble.ModulationShaping = RADIO_MOD_SHAPING_BT_0_5; - Radio.SetModulationParams(&modulationParams); + // // 设置调制参数 + // ModulationParams_t modulationParams; + // modulationParams.PacketType = PACKET_TYPE_BLE; + // modulationParams.Params.Ble.BitrateBandwidth = GFS_BLE_BR_1_000_BW_1_2; + // modulationParams.Params.Ble.ModulationIndex = GFS_BLE_MOD_IND_0_50; + // modulationParams.Params.Ble.ModulationShaping = RADIO_MOD_SHAPING_BT_0_5; + // Radio.SetModulationParams(&modulationParams); - // 设置包参数 - BLE模式下没有PayloadLength字段 - PacketParams_t packetParams; - packetParams.PacketType = PACKET_TYPE_BLE; - packetParams.Params.Ble.BlePacketType = BLE_EYELONG_1_0; - packetParams.Params.Ble.ConnectionState = BLE_ADVERTISER; - packetParams.Params.Ble.CrcField = BLE_CRC_3B; - packetParams.Params.Ble.Whitening = RADIO_WHITENING_ON; - Radio.SetPacketParams(&packetParams); + // // 设置包参数 - BLE模式下没有PayloadLength字段 + // PacketParams_t packetParams; + // packetParams.PacketType = PACKET_TYPE_BLE; + // packetParams.Params.Ble.BlePacketType = BLE_EYELONG_1_0; + // packetParams.Params.Ble.ConnectionState = BLE_ADVERTISER; + // packetParams.Params.Ble.CrcField = BLE_CRC_3B; + // packetParams.Params.Ble.Whitening = RADIO_WHITENING_ON; + // Radio.SetPacketParams(&packetParams); - // 设置频率 - BLE广告信道38: 2426000000 Hz - Radio.SetRfFrequency(RF_FREQUENCY); + // // 设置频率 - BLE广告信道38: 2426000000 Hz + // Radio.SetRfFrequency(radio->param.rfFrequency); - // 设置BLE特定参数 - Radio.SetSyncWord(1, (uint8_t[]){0xDD, 0xA0, 0x96, 0x69, 0xDD}); - Radio.SetBleAdvertizerAccessAddress(); - Radio.SetWhiteningSeed(0x33); + // // 设置BLE特定参数 + // Radio.SetSyncWord(1, (uint8_t[]){0xDD, 0xA0, 0x96, 0x69, 0xDD}); + // Radio.SetBleAdvertizerAccessAddress(); + // Radio.SetWhiteningSeed(0x33); - // 写入寄存器配置 - Radio.WriteRegister(0x9C7, 0x55); - Radio.WriteRegister(0x9C8, 0x55); - Radio.WriteRegister(0x9C9, 0x55); + // // 写入寄存器配置 + // Radio.WriteRegister(0x9C7, 0x55); + // Radio.WriteRegister(0x9C8, 0x55); + // Radio.WriteRegister(0x9C9, 0x55); - // 设置中断参数并发送完整的PDU - uint16_t TxIrqMask = IRQ_TX_DONE | IRQ_RX_TX_TIMEOUT; - Radio.SetDioIrqParams(TxIrqMask, TxIrqMask, IRQ_RADIO_NONE, IRQ_RADIO_NONE); + // // 设置中断参数并发送完整的PDU + // uint16_t TxIrqMask = IRQ_TX_DONE | IRQ_RX_TX_TIMEOUT; + // Radio.SetDioIrqParams(TxIrqMask, TxIrqMask, IRQ_RADIO_NONE, IRQ_RADIO_NONE); - // 发送完整的PDU(报头+有效载荷) - Radio.SendPayload(completePdu, length + 2, (TickTime_t){RX_TIMEOUT_TICK_SIZE, TX_TIMEOUT_VALUE}); + // // 发送完整的PDU(报头+有效载荷) + // Radio.SendPayload(completePdu, length + 2, (TickTime_t){RX_TIMEOUT_TICK_SIZE, TX_TIMEOUT_VALUE}); - printf("BLE Advertising packet sent, total PDU length: %d\n", length + 2); + // printf("BLE Advertising packet sent, total PDU length: %d\n", length + 2); } @@ -481,45 +564,126 @@ int8_t SX1281_SetTX (void) { return DEVICE_OK; } -int8_t SX1281_SetBaudrate(SX1281_t *radio, SX1281_Baudrate_t baudrate) { + +int8_t SX1281_SetMode(SX1281_t *radio, SX1281_Mode_t mode) { if (radio==NULL) { return DEVICE_ERR; } - radio->baudrate=baudrate; Radio.SetStandby( STDBY_RC ); - + Radio.SetPacketType( radio->param.modulationParams.PacketType ); + radio->mode = mode; switch (radio->mode) { case MODE_BLE: - case MODE_GFSK: - return DEVICE_OK; - case MODE_LORA: - if (radio->modulationParams.PacketType != PACKET_TYPE_LORA) { - #ifdef SX1281_VIEW - printf("error: Incorrect parameter"); - #endif - return DEVICE_ERR; - } -// radio->modulationParams.Params.LoRa.SpreadingFactor = loraConfigList[baudrate].SpreadingFactor; -// radio->modulationParams.Params.LoRa.Bandwidth = loraConfigList[baudrate].SignalBw; -// radio->modulationParams.Params.LoRa.CodingRate = loraConfigList[baudrate].ErrorCoding; + radio->param.modulationParams.PacketType = PACKET_TYPE_BLE; + radio->param.packetParams.PacketType = PACKET_TYPE_BLE; + Radio.SetPacketType( radio->param.modulationParams.PacketType ); + Radio.SetModulationParams( &radio->param.modulationParams ); + Radio.SetPacketParams( &radio->param.packetParams ); + break; + case MODE_LORA: + radio->param.modulationParams.PacketType = PACKET_TYPE_LORA; + radio->param.packetParams.PacketType = PACKET_TYPE_LORA; + Radio.SetPacketType( radio->param.modulationParams.PacketType ); + Radio.SetModulationParams( &radio->param.modulationParams ); + Radio.SetPacketParams( &radio->param.packetParams ); + break; + case MODE_GFSK: + radio->param.modulationParams.PacketType = PACKET_TYPE_GFSK; + radio->param.packetParams.PacketType = PACKET_TYPE_LORA; + Radio.SetPacketType( radio->param.modulationParams.PacketType ); + Radio.SetModulationParams( &radio->param.modulationParams ); + Radio.SetPacketParams( &radio->param.packetParams ); break; - case MODE_FLRC: - if (radio->modulationParams.PacketType != PACKET_TYPE_FLRC) { - #ifdef SX1281_VIEW - printf("error: Incorrect parameter"); - #endif - return DEVICE_ERR; - } -// radio->modulationParams.Params.Flrc.BitrateBandwidth = flrcConfigList[baudrate-(RF_BAUDRATE_LORA_NUM+1)].BitrateBandwidth; -// radio->modulationParams.Params.Flrc.CodingRate = flrcConfigList[baudrate-(RF_BAUDRATE_LORA_NUM+1)].CodingRate; -// radio->modulationParams.Params.Flrc.ModulationShaping = flrcConfigList[baudrate-(RF_BAUDRATE_LORA_NUM+1)].ModulationShaping; + radio->param.modulationParams.PacketType = PACKET_TYPE_FLRC; + radio->param.packetParams.PacketType = PACKET_TYPE_LORA; + Radio.SetPacketType( radio->param.modulationParams.PacketType ); + Radio.SetModulationParams( &radio->param.modulationParams ); + Radio.SetPacketParams( &radio->param.packetParams ); break; default: return DEVICE_ERR; - break; } - Radio.SetModulationParams( &radio->modulationParams ); + + return DEVICE_OK; +} + +int8_t SX1281_SetBLEBaudrate(SX1281_t *radio, SX1281_Baudrate_t baudrate) { + if (radio==NULL) { + return DEVICE_ERR; + } + radio->param.baudrate=baudrate; + Radio.SetStandby( STDBY_RC ); + + radio->param.modulationParams.Params.Ble.BitrateBandwidth + = bleConfigList[radio->param.baudrate.ble].BitrateBandwidth; + radio->param.modulationParams.Params.Ble.ModulationIndex + = bleConfigList[radio->param.baudrate.ble].ModulationIndex; + radio->param.modulationParams.Params.Ble.ModulationShaping + = bleConfigList[radio->param.baudrate.ble].ModulationShaping; + + Radio.SetPacketType( radio->param.modulationParams.PacketType ); + Radio.SetModulationParams( &radio->param.modulationParams ); + + return DEVICE_OK; +} + +int8_t SX1281_SetLORABaudrate(SX1281_t *radio, SX1281_Baudrate_t baudrate) { + if (radio==NULL) { + return DEVICE_ERR; + } + radio->param.baudrate=baudrate; + Radio.SetStandby( STDBY_RC ); + + radio->param.modulationParams.Params.LoRa.SpreadingFactor + = loraConfigList[radio->param.baudrate.lora].SpreadingFactor; + radio->param.modulationParams.Params.LoRa.Bandwidth + = loraConfigList[radio->param.baudrate.lora].Bandwidth; + radio->param.modulationParams.Params.LoRa.CodingRate + = loraConfigList[radio->param.baudrate.lora].CodingRate; + + Radio.SetPacketType( radio->param.modulationParams.PacketType ); + Radio.SetModulationParams( &radio->param.modulationParams ); + + return DEVICE_OK; +} + +int8_t SX1281_SetGFSKBaudrate(SX1281_t *radio, SX1281_Baudrate_t baudrate) { + if (radio==NULL) { + return DEVICE_ERR; + } + radio->param.baudrate=baudrate; + Radio.SetStandby( STDBY_RC ); + + radio->param.modulationParams.Params.Gfsk.BitrateBandwidth + = gfskConfigList[radio->param.baudrate.gfks].BitrateBandwidth; + radio->param.modulationParams.Params.Gfsk.ModulationIndex + = gfskConfigList[radio->param.baudrate.gfks].ModulationIndex; + radio->param.modulationParams.Params.Gfsk.ModulationShaping + = gfskConfigList[radio->param.baudrate.gfks].ModulationShaping; + + Radio.SetPacketType( radio->param.modulationParams.PacketType ); + Radio.SetModulationParams( &radio->param.modulationParams ); + + return DEVICE_OK; +} + +int8_t SX1281_SetFLRCBaudrate(SX1281_t *radio, SX1281_Baudrate_t baudrate) { + if (radio==NULL) { + return DEVICE_ERR; + } + radio->param.baudrate=baudrate; + Radio.SetStandby( STDBY_RC ); + + radio->param.modulationParams.Params.Flrc.BitrateBandwidth + = flrcConfigList[radio->param.baudrate.flrc].BitrateBandwidth; + radio->param.modulationParams.Params.Flrc.CodingRate + = flrcConfigList[radio->param.baudrate.flrc].CodingRate; + radio->param.modulationParams.Params.Flrc.ModulationShaping + = flrcConfigList[radio->param.baudrate.flrc].ModulationShaping; + + Radio.SetPacketType( radio->param.modulationParams.PacketType ); + Radio.SetModulationParams( &radio->param.modulationParams ); return DEVICE_OK; } @@ -537,8 +701,7 @@ int8_t SX1281_SetPacketConfig(SX1281_t *radio) { * @brief 退出射频进入休眠 * */ -int8_t SX1281_SetSleep(SX1281_t *radio) -{ +int8_t SX1281_SetSleep(SX1281_t *radio) { if (radio == 0) { return DEVICE_ERR; @@ -554,22 +717,18 @@ int8_t SX1281_SetSleep(SX1281_t *radio) return DEVICE_OK; } -/** - * 获取射频波特率 - * @param : br-> -*/ -//SX1281_Baudrate_t SX1281_GetBaudrate(SX1281_t *radio) -//{ -// if (radio==NULL) -// { -// return DEVICE_ERR; -// } -// // return radio->baudrate; -//} +int8_t SX1281_GetState(SX1281_t *radio) { + if (radio==NULL) { + return DEVICE_ERR; + } + radio->appState=sx1281_state; + return DEVICE_OK; +} -int8_t SX1281_Running() { +int8_t SX1281_Running(SX1281_t *radio) { SX1281ProcessIrqs(); - HAL_Delay(10); + SX1281_GetState(radio); + HAL_Delay(5); return DEVICE_OK; } diff --git a/sx1281-driver-c/sx1281.h b/sx1281-driver-c/sx1281.h index 5247f4a..f066969 100644 --- a/sx1281-driver-c/sx1281.h +++ b/sx1281-driver-c/sx1281.h @@ -43,8 +43,16 @@ typedef enum { LORA_CAD_DONE }SX1281_States_t; -typedef enum { - RF_BAUDRATE_LORA_216B=0, + +typedef enum{ + RF_BAUDRATE_BLE_250K=0, + RF_BAUDRATE_BLE_500K, + RF_BAUDRATE_BLE_1M, + RF_BAUDRATE_BLE_NUM, +}SX1281_BLEBaudrate_t; + +typedef enum{ + RF_BAUDRATE_LORA_216=0, RF_BAUDRATE_LORA_001K, RF_BAUDRATE_LORA_005K, RF_BAUDRATE_LORA_010K, @@ -53,40 +61,53 @@ typedef enum { RF_BAUDRATE_LORA_127K, RF_BAUDRATE_LORA_203K, RF_BAUDRATE_LORA_NUM, +}SX1281_LORABaudrate_t; - RF_BAUDRATE_FLRC_130K, +typedef enum{ + RF_BAUDRATE_GFSK_125K=0, + RF_BAUDRATE_GFSK_250K, + RF_BAUDRATE_GFSK_500K, + RF_BAUDRATE_GFSK_1M, + RF_BAUDRATE_GFSK_NUM, +}SX1281_GFKSBaudrate_t; + +typedef enum{ + RF_BAUDRATE_FLRC_130K=0, RF_BAUDRATE_FLRC_260K, RF_BAUDRATE_FLRC_520K, RF_BAUDRATE_FLRC_1040K, RF_BAUDRATE_FLRC_NUM, - - RF_BAUDRATE_NONE -}SX1281_Baudrate_t; - -typedef struct -{ - uint8_t SignalBw; // LORA_BW_0200, LORA_BW_0400, LORA_BW_0800, LORA_BW_1600, - uint8_t SpreadingFactor; // LORA_SF5~LORA_SF12 - uint8_t ErrorCoding; // 1-LORA_CR_4_5, 2-LORA_CR_4_6, 3-LORA_CR_4_7 , 4-LORA_CR_4_8 , 5-LORA_CR_LI_4_5, 6-LORA_CR_LI_4_6, 7-LORA_CR_LI_4_7, -}SX1281_LORAConfig_t; - -typedef struct -{ - uint8_t BitrateBandwidth; //@RadioFlrcBitrates_t - uint8_t CodingRate; //@RadioFlrcCodingRates_t - uint8_t ModulationShaping; //@RadioModShapings_t -}SX1281_FLRCConfig_t; +}SX1281_FLRCBaudrate_t; typedef struct { + SX1281_BLEBaudrate_t ble; + SX1281_LORABaudrate_t lora; + SX1281_GFKSBaudrate_t gfks; + SX1281_FLRCBaudrate_t flrc; +}SX1281_Baudrate_t; - int8_t txOutputPower;//The range of the output power is [-18..+13] dBm - +typedef struct { PacketParams_t packetParams; ModulationParams_t modulationParams; + uint64_t rfFrequency;//射频中心频率 + + int8_t txOutputPower;//发射功率 The range of the output power is [-18..+13] dBm + RadioRampTimes_t rampTime;//发射斜坡时间 + + SX1281_Baudrate_t baudrate;//LORA,FLRC模式下不同调制方式的波特率 + +}SX1281_Params_t; + +typedef struct { + + SX1281_Params_t param; + SX1281_Mode_t mode; - SX1281_Baudrate_t baudrate; + + SX1281_States_t appState; + PacketStatus_t packetStatus; int8_t rxBuffer[BUFFER_SIZE]; @@ -100,7 +121,7 @@ int8_t SX1281_Init(SX1281_t *radio, SX1281_Mode_t mode); int8_t SX1281_SetRXSingle(void); int8_t SX1281_SetRXSuccessive(void); int8_t SX1281_SetTX (void); -int8_t SX1281_Running(void); +int8_t SX1281_Running(SX1281_t *radio); void SetBLEAdvertisingPacket(SX1281_t *radio, uint8_t *data, uint8_t length); /* USER FUNCTION END */